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 |
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 >
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
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 ?
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 --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
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(+)