diff mbox series

ARM: dts: Provide support for reading ID code from MVB device (BK4)

Message ID 20181113121213.14296-1-lukma@denx.de (mailing list archive)
State New, archived
Headers show
Series ARM: dts: Provide support for reading ID code from MVB device (BK4) | expand

Commit Message

Lukasz Majewski Nov. 13, 2018, 12:12 p.m. UTC
The procedure to read this ID value is as follows:

rmmod spi_fsl_dspi
insmod spi-gpio.ko

echo 504 > /sys/class/gpio/export
cat /sys/class/gpio/gpio504/value
...
echo 511 > /sys/class/gpio/export
cat /sys/class/gpio/gpio511/value

rmmod spi-gpio.ko
insmod spi_fsl_dspi

Signed-off-by: Lukasz Majewski <lukma@denx.de>
---
 arch/arm/boot/dts/vf610-bk4.dts | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

Comments

Shawn Guo Nov. 26, 2018, 2:36 p.m. UTC | #1
On Tue, Nov 13, 2018 at 01:12:13PM +0100, Lukasz Majewski wrote:
> The procedure to read this ID value is as follows:
> 
> rmmod spi_fsl_dspi
> insmod spi-gpio.ko
> 
> echo 504 > /sys/class/gpio/export
> cat /sys/class/gpio/gpio504/value
> ...
> echo 511 > /sys/class/gpio/export
> cat /sys/class/gpio/gpio511/value
> 
> rmmod spi-gpio.ko
> insmod spi_fsl_dspi
> 
> Signed-off-by: Lukasz Majewski <lukma@denx.de>

A prefix like 'ARM: dts: vf610-bk4: ...' might be better.

> ---
>  arch/arm/boot/dts/vf610-bk4.dts | 31 +++++++++++++++++++++++++++++++
>  1 file changed, 31 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/vf610-bk4.dts b/arch/arm/boot/dts/vf610-bk4.dts
> index cab95714c058..f01c735807ae 100644
> --- a/arch/arm/boot/dts/vf610-bk4.dts
> +++ b/arch/arm/boot/dts/vf610-bk4.dts
> @@ -59,6 +59,29 @@
>  		regulator-min-microvolt = <3300000>;
>  		regulator-max-microvolt = <3300000>;
>  	};
> +
> +	spi_gpio {

We recommend hyphen rather than underscore be used in node name.

> +		compatible = "spi-gpio";
> +		pinctrl-0 = <&pinctrl_gpio_spi>;
> +		pinctrl-names = "default";
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		/* PTD12 ->RPIO[91] */
> +		sck-gpios  = <&gpio2 27 GPIO_ACTIVE_LOW>;
> +		/* PTD10 ->RPIO[89] */
> +		miso-gpios = <&gpio2 25 GPIO_ACTIVE_HIGH>;
> +		num-chipselects = <0>;
> +
> +		72xx165@0 {

Please use a generic name for the node.

Shawn

> +			compatible = "pisosr-gpio";
> +			reg = <0>;
> +			gpio-controller;
> +			#gpio-cells = <2>;
> +			/* PTB18 -> RGPIO[40] */
> +			load-gpios  = <&gpio1 8 GPIO_ACTIVE_LOW>;
> +			spi-max-frequency = <100000>;
> +		};
> +	};
>  };
>  
>  &adc0 {
> @@ -430,6 +453,14 @@
>  		>;
>  	};
>  
> +	pinctrl_gpio_spi: pinctrl-gpio-spi {
> +		fsl,pins = <
> +			VF610_PAD_PTB18__GPIO_40        0x1183
> +			VF610_PAD_PTD10__GPIO_89        0x1183
> +			VF610_PAD_PTD12__GPIO_91        0x1183
> +		>;
> +	};
> +
>  	pinctrl_i2c2: i2c2grp {
>  		fsl,pins = <
>  			VF610_PAD_PTA22__I2C2_SCL               0x34df
> -- 
> 2.11.0
>
Lukasz Majewski Dec. 3, 2018, 9:33 a.m. UTC | #2
Hi Shawn,

Thank you for the review.

> On Tue, Nov 13, 2018 at 01:12:13PM +0100, Lukasz Majewski wrote:
> > The procedure to read this ID value is as follows:
> > 
> > rmmod spi_fsl_dspi
> > insmod spi-gpio.ko
> > 
> > echo 504 > /sys/class/gpio/export
> > cat /sys/class/gpio/gpio504/value
> > ...
> > echo 511 > /sys/class/gpio/export
> > cat /sys/class/gpio/gpio511/value
> > 
> > rmmod spi-gpio.ko
> > insmod spi_fsl_dspi
> > 
> > Signed-off-by: Lukasz Majewski <lukma@denx.de>
> 
> A prefix like 'ARM: dts: vf610-bk4: ...' might be better.

Ok.

> 
> > ---
> >  arch/arm/boot/dts/vf610-bk4.dts | 31
> > +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+)
> > 
> > diff --git a/arch/arm/boot/dts/vf610-bk4.dts
> > b/arch/arm/boot/dts/vf610-bk4.dts index cab95714c058..f01c735807ae
> > 100644 --- a/arch/arm/boot/dts/vf610-bk4.dts
> > +++ b/arch/arm/boot/dts/vf610-bk4.dts
> > @@ -59,6 +59,29 @@
> >  		regulator-min-microvolt = <3300000>;
> >  		regulator-max-microvolt = <3300000>;
> >  	};
> > +
> > +	spi_gpio {
> 
> We recommend hyphen rather than underscore be used in node name.

Ok. I will change it to spi-gpio

> 
> > +		compatible = "spi-gpio";
> > +		pinctrl-0 = <&pinctrl_gpio_spi>;
> > +		pinctrl-names = "default";
> > +		#address-cells = <1>;
> > +		#size-cells = <0>;
> > +		/* PTD12 ->RPIO[91] */
> > +		sck-gpios  = <&gpio2 27 GPIO_ACTIVE_LOW>;
> > +		/* PTD10 ->RPIO[89] */
> > +		miso-gpios = <&gpio2 25 GPIO_ACTIVE_HIGH>;
> > +		num-chipselects = <0>;
> > +
> > +		72xx165@0 {
> 
> Please use a generic name for the node.

This is a bit tricky.

Other DTS definitions for this compatible:

sn65hvs882: sn65hvs882@0 {
	compatible = "pisosr-gpio";
	...
	}

They use the exact used IC name - sn65hvs882, which IMHO is the way how
this node shall be described.

The reason is that the compatible is "pisosr-gpio" -> parallel input
serial output shift regsiter - gpio.

By adding the exact name of connected electronic IC - sn65hvs882 and in
my case IC from the 72xx165 family provides good description of the HW.

Maybe you have other idea how to provide the name of the IC connected?

> 
> Shawn
> 
> > +			compatible = "pisosr-gpio";
> > +			reg = <0>;
> > +			gpio-controller;
> > +			#gpio-cells = <2>;
> > +			/* PTB18 -> RGPIO[40] */
> > +			load-gpios  = <&gpio1 8 GPIO_ACTIVE_LOW>;
> > +			spi-max-frequency = <100000>;
> > +		};
> > +	};
> >  };
> >  
> >  &adc0 {
> > @@ -430,6 +453,14 @@
> >  		>;
> >  	};
> >  
> > +	pinctrl_gpio_spi: pinctrl-gpio-spi {
> > +		fsl,pins = <
> > +			VF610_PAD_PTB18__GPIO_40        0x1183
> > +			VF610_PAD_PTD10__GPIO_89        0x1183
> > +			VF610_PAD_PTD12__GPIO_91        0x1183
> > +		>;
> > +	};
> > +
> >  	pinctrl_i2c2: i2c2grp {
> >  		fsl,pins = <
> >  			VF610_PAD_PTA22__I2C2_SCL
> > 0x34df -- 
> > 2.11.0
> > 




Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma@denx.de
Fabio Estevam Dec. 3, 2018, 11:13 a.m. UTC | #3
Hi Lukasz,

On Mon, Dec 3, 2018 at 7:33 AM Lukasz Majewski <lukma@denx.de> wrote:

> > > +           72xx165@0 {
> >
> > Please use a generic name for the node.
>
> This is a bit tricky.

What about using 'gpio@0' like described in
Documentation/devicetree/bindings/gpio/gpio-pisosr.txt ?
Lukasz Majewski Dec. 5, 2018, 4:40 p.m. UTC | #4
Hi Fabio,

> Hi Lukasz,
> 
> On Mon, Dec 3, 2018 at 7:33 AM Lukasz Majewski <lukma@denx.de> wrote:
> 
> > > > +           72xx165@0 {  
> > >
> > > Please use a generic name for the node.  
> >
> > This is a bit tricky.  
> 
> What about using 'gpio@0' like described in
> Documentation/devicetree/bindings/gpio/gpio-pisosr.txt ?

Seems like a good idea. Thanks.


Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma@denx.de
diff mbox series

Patch

diff --git a/arch/arm/boot/dts/vf610-bk4.dts b/arch/arm/boot/dts/vf610-bk4.dts
index cab95714c058..f01c735807ae 100644
--- a/arch/arm/boot/dts/vf610-bk4.dts
+++ b/arch/arm/boot/dts/vf610-bk4.dts
@@ -59,6 +59,29 @@ 
 		regulator-min-microvolt = <3300000>;
 		regulator-max-microvolt = <3300000>;
 	};
+
+	spi_gpio {
+		compatible = "spi-gpio";
+		pinctrl-0 = <&pinctrl_gpio_spi>;
+		pinctrl-names = "default";
+		#address-cells = <1>;
+		#size-cells = <0>;
+		/* PTD12 ->RPIO[91] */
+		sck-gpios  = <&gpio2 27 GPIO_ACTIVE_LOW>;
+		/* PTD10 ->RPIO[89] */
+		miso-gpios = <&gpio2 25 GPIO_ACTIVE_HIGH>;
+		num-chipselects = <0>;
+
+		72xx165@0 {
+			compatible = "pisosr-gpio";
+			reg = <0>;
+			gpio-controller;
+			#gpio-cells = <2>;
+			/* PTB18 -> RGPIO[40] */
+			load-gpios  = <&gpio1 8 GPIO_ACTIVE_LOW>;
+			spi-max-frequency = <100000>;
+		};
+	};
 };
 
 &adc0 {
@@ -430,6 +453,14 @@ 
 		>;
 	};
 
+	pinctrl_gpio_spi: pinctrl-gpio-spi {
+		fsl,pins = <
+			VF610_PAD_PTB18__GPIO_40        0x1183
+			VF610_PAD_PTD10__GPIO_89        0x1183
+			VF610_PAD_PTD12__GPIO_91        0x1183
+		>;
+	};
+
 	pinctrl_i2c2: i2c2grp {
 		fsl,pins = <
 			VF610_PAD_PTA22__I2C2_SCL               0x34df