Messages in this thread | | | Subject | Re: [PATCH] ARM: dts: AM33xx-l4: add gpio-ranges | From | Grygorii Strashko <> | Date | Tue, 2 Jun 2020 16:44:03 +0300 |
| |
On 02/06/2020 16:14, Drew Fustini wrote: > Add gpio-ranges properties to the gpio controller nodes. > > These gpio-ranges were created based on "Table 9-10. CONTROL_MODULE > REGISTERS" in the "AM335x Technical Reference Manual" [0] and "Table > 4-2. Pin Attributes" in the "AM335x Sitara Processor datasheet" [1]. > A csv file with this data is available for reference [2].
It will be good if you can explain not only "what" is changed, but also "why" it's needed in commit message.
> > [0] https://www.ti.com/lit/ug/spruh73q/spruh73q.pdf > [1] http://www.ti.com/lit/ds/symlink/am3358.pdf > [2] https://gist.github.com/pdp7/6ffaddc8867973c1c3e8612cfaf72020 > > Signed-off-by: Drew Fustini <drew@beagleboard.org> > --- > Notes: > There was previous dicussion relevant to this patch: > https://lore.kernel.org/linux-gpio/20200525131731.GA948395@x1/ > > Here is the list I compiled which shows the mapping between a gpioline > and the pin number including the memory address for the pin control > register > > gpiochip,gpio-line,pinctrl-PIN,pinctrl-address > 0,0,82,44e10948 > 0,1,83,44e1094c > 0,2,84,44e10950 > 0,3,85,44e10954 > 0,4,86,44e10958 > 0,5,87,44e1095c
...
> On a BeagleBlack Black board (AM3358) with this patch: > cat /sys/kernel/debug/pinctrl/44e10800.pinmux-pinctrl-single/gpio-ranges > > GPIO ranges handled: > 0: gpio-0-31 GPIOS [0 - 7] PINS [82 - 89] > 8: gpio-0-31 GPIOS [8 - 11] PINS [52 - 55] > 12: gpio-0-31 GPIOS [12 - 15] PINS [94 - 97] > 16: gpio-0-31 GPIOS [16 - 17] PINS [71 - 72] > 18: gpio-0-31 GPIOS [18 - 18] PINS [135 - 135] > 19: gpio-0-31 GPIOS [19 - 20] PINS [108 - 109] > 21: gpio-0-31 GPIOS [21 - 21] PINS [73 - 73] > 22: gpio-0-31 GPIOS [22 - 23] PINS [8 - 9] > 26: gpio-0-31 GPIOS [26 - 27] PINS [10 - 11] > 28: gpio-0-31 GPIOS [28 - 28] PINS [74 - 74] > 29: gpio-0-31 GPIOS [29 - 29] PINS [81 - 81] > 30: gpio-0-31 GPIOS [30 - 31] PINS [28 - 29] > 0: gpio-32-63 GPIOS [32 - 39] PINS [0 - 7] > 8: gpio-32-63 GPIOS [40 - 43] PINS [90 - 93] > 12: gpio-32-63 GPIOS [44 - 59] PINS [12 - 27] > 28: gpio-32-63 GPIOS [60 - 63] PINS [30 - 33] > 0: gpio-64-95 GPIOS [64 - 81] PINS [34 - 51] > 18: gpio-64-95 GPIOS [82 - 85] PINS [77 - 80] > 22: gpio-64-95 GPIOS [86 - 95] PINS [56 - 65] > 0: gpio-96-127 GPIOS [96 - 100] PINS [66 - 70] > 5: gpio-96-127 GPIOS [101 - 102] PINS [98 - 99] > 7: gpio-96-127 GPIOS [103 - 104] PINS [75 - 76] > 13: gpio-96-127 GPIOS [109 - 109] PINS [141 - 141] > 14: gpio-96-127 GPIOS [110 - 117] PINS [100 - 107] > > arch/arm/boot/dts/am33xx-l4.dtsi | 24 ++++++++++++++++++++++++ > 1 file changed, 24 insertions(+) > > diff --git a/arch/arm/boot/dts/am33xx-l4.dtsi b/arch/arm/boot/dts/am33xx-l4.dtsi > index 5ed7f3c58c0f..340ea331e54d 100644 > --- a/arch/arm/boot/dts/am33xx-l4.dtsi > +++ b/arch/arm/boot/dts/am33xx-l4.dtsi > @@ -151,6 +151,18 @@ SYSC_OMAP2_SOFTRESET | > > gpio0: gpio@0 { > compatible = "ti,omap4-gpio"; > + gpio-ranges = <&am33xx_pinmux 0 82 8>, > + <&am33xx_pinmux 8 52 4>, > + <&am33xx_pinmux 12 94 4>, > + <&am33xx_pinmux 16 71 2>, > + <&am33xx_pinmux 18 135 1>, > + <&am33xx_pinmux 19 108 2>, > + <&am33xx_pinmux 21 73 1>, > + <&am33xx_pinmux 22 8 2>, > + <&am33xx_pinmux 26 10 2>, > + <&am33xx_pinmux 28 74 1>, > + <&am33xx_pinmux 29 81 1>, > + <&am33xx_pinmux 30 28 2>; > gpio-controller; > #gpio-cells = <2>; > interrupt-controller; > @@ -1298,6 +1310,10 @@ SYSC_OMAP2_SOFTRESET | > > gpio1: gpio@0 { > compatible = "ti,omap4-gpio"; > + gpio-ranges = <&am33xx_pinmux 0 0 8>, > + <&am33xx_pinmux 8 90 4>, > + <&am33xx_pinmux 12 12 16>, > + <&am33xx_pinmux 28 30 4>; > gpio-controller; > #gpio-cells = <2>; > interrupt-controller; > @@ -1700,6 +1716,9 @@ SYSC_OMAP2_SOFTRESET | > > gpio2: gpio@0 { > compatible = "ti,omap4-gpio"; > + gpio-ranges = <&am33xx_pinmux 0 34 18>, > + <&am33xx_pinmux 18 77 4>, > + <&am33xx_pinmux 22 56 10>; > gpio-controller; > #gpio-cells = <2>; > interrupt-controller; > @@ -1733,6 +1752,11 @@ SYSC_OMAP2_SOFTRESET | > > gpio3: gpio@0 { > compatible = "ti,omap4-gpio"; > + gpio-ranges = <&am33xx_pinmux 0 66 5>, > + <&am33xx_pinmux 5 98 2>, > + <&am33xx_pinmux 7 75 2>, > + <&am33xx_pinmux 13 141 1>, > + <&am33xx_pinmux 14 100 8>; > gpio-controller; > #gpio-cells = <2>; > interrupt-controller; >
-- Best regards, grygorii
| |