2018-11-13 12:13:59

by Lukasz Majewski

[permalink] [raw]
Subject: [PATCH] ARM: dts: Provide support for reading ID code from MVB device (BK4)

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 <[email protected]>
---
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 {
+ 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
--
2.11.0



2018-11-26 14:41:10

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH] ARM: dts: Provide support for reading ID code from MVB device (BK4)

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 <[email protected]>

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
>

2018-12-03 09:35:24

by Lukasz Majewski

[permalink] [raw]
Subject: Re: [PATCH] ARM: dts: Provide support for reading ID code from MVB device (BK4)

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 <[email protected]>
>
> 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: [email protected]


Attachments:
(No filename) (499.00 B)
OpenPGP digital signature

2018-12-03 11:16:32

by Fabio Estevam

[permalink] [raw]
Subject: Re: [PATCH] ARM: dts: Provide support for reading ID code from MVB device (BK4)

Hi Lukasz,

On Mon, Dec 3, 2018 at 7:33 AM Lukasz Majewski <[email protected]> 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 ?

2018-12-05 16:42:25

by Lukasz Majewski

[permalink] [raw]
Subject: Re: [PATCH] ARM: dts: Provide support for reading ID code from MVB device (BK4)

Hi Fabio,

> Hi Lukasz,
>
> On Mon, Dec 3, 2018 at 7:33 AM Lukasz Majewski <[email protected]> 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: [email protected]


Attachments:
(No filename) (499.00 B)
OpenPGP digital signature

2018-12-09 21:52:25

by Lukasz Majewski

[permalink] [raw]
Subject: [PATCH v2] ARM: dts: vf610-bk4: Provide support for reading ID code from MVB device

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 <[email protected]>

---
Changes for v2:
- Add 'vf610-bk4:' to mail topic
- Change spi_gpio -> spi-gpio node name
- Change '72xx165' -> 'gpio' as described in
Documentation/devicetree/bindings/gpio/gpio-pisosr.txt
---
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..c59a8922ccd5 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>;
+
+ gpio@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
--
2.11.0


2019-01-10 13:23:43

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH v2] ARM: dts: vf610-bk4: Provide support for reading ID code from MVB device

On Sun, Dec 09, 2018 at 10:50:56PM +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 <[email protected]>

Applied, thanks.