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
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
>
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]
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 ?
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]
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
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.