[v4,1/3] dt-binding: spi: Mediatek: Document devicetree bindings for spi bus
diff mbox

Message ID 1438167874-1305-2-git-send-email-leilk.liu@mediatek.com
State New
Headers show

Commit Message

Leilk Liu July 29, 2015, 11:04 a.m. UTC
Signed-off-by: Leilk Liu <leilk.liu@mediatek.com>
---
 .../devicetree/bindings/spi/spi-mt65xx.txt         | 38 ++++++++++++++++++++++
 1 file changed, 38 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/spi/spi-mt65xx.txt

Comments

Jonas Gorski July 30, 2015, 7:27 p.m. UTC | #1
Hi,

On Wed, Jul 29, 2015 at 1:04 PM, Leilk Liu <leilk.liu@mediatek.com> wrote:
> Signed-off-by: Leilk Liu <leilk.liu@mediatek.com>
> ---
>  .../devicetree/bindings/spi/spi-mt65xx.txt         | 38 ++++++++++++++++++++++
>  1 file changed, 38 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/spi/spi-mt65xx.txt
>
> diff --git a/Documentation/devicetree/bindings/spi/spi-mt65xx.txt b/Documentation/devicetree/bindings/spi/spi-mt65xx.txt
> new file mode 100644
> index 0000000..f8005d6
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/spi/spi-mt65xx.txt
> @@ -0,0 +1,38 @@
> +MTK SPI device

You are calling it "MediaTek SPI controller" in the Kconfig entry, so
you should call it that here as well.

> +
> +Required properties:
> +- compatible: should be one of the following.
> +    - mediatek,mt8173-spi: for mt8173 platforms
> +    - mediatek,mt8135-spi: for mt8135 platforms
> +    - mediatek,mt6589-spi: for mt6589 platforms
> +
> +- #address-cells: should be 1.
> +
> +- #size-cells: should be 0.
> +
> +- reg: Address and length of the register set for the device
> +
> +- interrupts: Should contain spi interrupt
> +
> +- clocks: phandles to input clocks.
> +
> +- clock-names: tuple listing input clock names.
> +       Required elements: "main"
> +
> +- pad-select: should specify spi pad used, only required for MT8173.
> +        This value should be 0~3.

As already commented on the v3, this is a vendor property, and must
have a vendor prefix, so it must be called "mediatek,pad-select".

> +
> +Example:
> +
> +- SoC Specific Portion:
> +spi: spi@1100a000 {
> +       compatible = "mediatek,mt8173-spi";
> +       #address-cells = <1>;
> +       #size-cells = <0>;
> +       reg = <0 0x1100a000 0 0x1000>;
> +       interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_LOW>;
> +       clocks = <&pericfg CLK_PERI_SPI0>;
> +       clock-names = "main";
> +       pad-select = <0>;
> +       status = "disabled";
> +};


Jonas
Leilk Liu July 31, 2015, 2:41 a.m. UTC | #2
Hi Jonas,

On Thu, 2015-07-30 at 21:27 +0200, Jonas Gorski wrote:
> Hi,
> 
> On Wed, Jul 29, 2015 at 1:04 PM, Leilk Liu <leilk.liu@mediatek.com> wrote:
> > Signed-off-by: Leilk Liu <leilk.liu@mediatek.com>
> > ---
> >  .../devicetree/bindings/spi/spi-mt65xx.txt         | 38 ++++++++++++++++++++++
> >  1 file changed, 38 insertions(+)
> >  create mode 100644 Documentation/devicetree/bindings/spi/spi-mt65xx.txt
> >
> > diff --git a/Documentation/devicetree/bindings/spi/spi-mt65xx.txt b/Documentation/devicetree/bindings/spi/spi-mt65xx.txt
> > new file mode 100644
> > index 0000000..f8005d6
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/spi/spi-mt65xx.txt
> > @@ -0,0 +1,38 @@
> > +MTK SPI device
> 
> You are calling it "MediaTek SPI controller" in the Kconfig entry, so
> you should call it that here as well.
> 

OK, I will fix it.

> > +
> > +Required properties:
> > +- compatible: should be one of the following.
> > +    - mediatek,mt8173-spi: for mt8173 platforms
> > +    - mediatek,mt8135-spi: for mt8135 platforms
> > +    - mediatek,mt6589-spi: for mt6589 platforms
> > +
> > +- #address-cells: should be 1.
> > +
> > +- #size-cells: should be 0.
> > +
> > +- reg: Address and length of the register set for the device
> > +
> > +- interrupts: Should contain spi interrupt
> > +
> > +- clocks: phandles to input clocks.
> > +
> > +- clock-names: tuple listing input clock names.
> > +       Required elements: "main"
> > +
> > +- pad-select: should specify spi pad used, only required for MT8173.
> > +        This value should be 0~3.
> 
> As already commented on the v3, this is a vendor property, and must
> have a vendor prefix, so it must be called "mediatek,pad-select".
> 

OK, I will fix it on the next version.

> > +
> > +Example:
> > +
> > +- SoC Specific Portion:
> > +spi: spi@1100a000 {
> > +       compatible = "mediatek,mt8173-spi";
> > +       #address-cells = <1>;
> > +       #size-cells = <0>;
> > +       reg = <0 0x1100a000 0 0x1000>;
> > +       interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_LOW>;
> > +       clocks = <&pericfg CLK_PERI_SPI0>;
> > +       clock-names = "main";
> > +       pad-select = <0>;
> > +       status = "disabled";
> > +};
> 
> 
> Jonas
Mark Brown Aug. 4, 2015, 5:42 p.m. UTC | #3
On Wed, Jul 29, 2015 at 07:04:32PM +0800, Leilk Liu wrote:
> Signed-off-by: Leilk Liu <leilk.liu@mediatek.com>

Please use subject lines reflecting the style for the subsystem so
people can spot if patches are relevant to them.

> +- clocks: phandles to input clocks.
> +
> +- clock-names: tuple listing input clock names.
> +	Required elements: "main"

...and there are no optional values?

> +- pad-select: should specify spi pad used, only required for MT8173.
> +        This value should be 0~3.

What do the values 0-3 mean?  I guess it's the value for some register
or other part of the device, the binding should say so people can go and
check the datasheet, schematic or whatever to figure out what to set.

This property should be optional, not required
Leilk Liu Aug. 6, 2015, 1:45 a.m. UTC | #4
On Tue, 2015-08-04 at 18:42 +0100, Mark Brown wrote:
> On Wed, Jul 29, 2015 at 07:04:32PM +0800, Leilk Liu wrote:
> > Signed-off-by: Leilk Liu <leilk.liu@mediatek.com>
> 
> Please use subject lines reflecting the style for the subsystem so
> people can spot if patches are relevant to them.
> 

OK, I will change the title to "spi: Mediatek: Document devicetree
bindings for spi bus".

> > +- clocks: phandles to input clocks.
> > +
> > +- clock-names: tuple listing input clock names.
> > +	Required elements: "main"
> 
> ...and there are no optional values?
> 

clock tree provides some source clocks, CLK_PERI_SPI0 is the default
one. I will support optional values on the next version.

> > +- pad-select: should specify spi pad used, only required for MT8173.
> > +        This value should be 0~3.
> 
> What do the values 0-3 mean?  I guess it's the value for some register
> or other part of the device, the binding should say so people can go and
> check the datasheet, schematic or whatever to figure out what to set.
> 
> This property should be optional, not required

OK, I will explain what the values 0-3 mean.

Patch
diff mbox

diff --git a/Documentation/devicetree/bindings/spi/spi-mt65xx.txt b/Documentation/devicetree/bindings/spi/spi-mt65xx.txt
new file mode 100644
index 0000000..f8005d6
--- /dev/null
+++ b/Documentation/devicetree/bindings/spi/spi-mt65xx.txt
@@ -0,0 +1,38 @@ 
+MTK SPI device
+
+Required properties:
+- compatible: should be one of the following.
+    - mediatek,mt8173-spi: for mt8173 platforms
+    - mediatek,mt8135-spi: for mt8135 platforms
+    - mediatek,mt6589-spi: for mt6589 platforms
+
+- #address-cells: should be 1.
+
+- #size-cells: should be 0.
+
+- reg: Address and length of the register set for the device
+
+- interrupts: Should contain spi interrupt
+
+- clocks: phandles to input clocks.
+
+- clock-names: tuple listing input clock names.
+	Required elements: "main"
+
+- pad-select: should specify spi pad used, only required for MT8173.
+        This value should be 0~3.
+
+Example:
+
+- SoC Specific Portion:
+spi: spi@1100a000 {
+	compatible = "mediatek,mt8173-spi";
+	#address-cells = <1>;
+	#size-cells = <0>;
+	reg = <0 0x1100a000 0 0x1000>;
+	interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_LOW>;
+	clocks = <&pericfg CLK_PERI_SPI0>;
+	clock-names = "main";
+	pad-select = <0>;
+	status = "disabled";
+};