Message ID | 20200609142504.GA2955236@x1 (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | arm: dts: am335x-pocketbeagle: add gpio-line-names | expand |
On Tue, Jun 09, 2020 at 04:25:04PM +0200, Drew Fustini wrote: > The BeagleBoard.org PocketBeagle has P1 and P2 headers [0] which expose > many of the TI AM3358 SoC balls to stacking expansion boards called > "capes", or to other external connections like jumper wires connected > to a breadboard. > > Note: the AM3358 die is actually embedded inside of the OSD335x-SM > System-in-Package (SiP) [1] but that is irrelevant to the gpio driver. > > Many of the P1 and P2 header pins can muxed to a GPIO line. The > gpio-line-names describe which P1 or P2 pin that line goes to and the > default mux for that P1 or P2 pin if it is not GPIO. > > Some GPIO lines are named "[NC]" as the corresponding balls are not > routed to anything on the PCB. > > The goal for these names is to make it easier for a user viewing the > output of gpioinfo to determine which P1 or P2 pin is connected to a > GPIO line. The output of gpioinfo on a PocketBeagle would be: > > gpiochip0 - 32 lines: > line 0: "[NC]" unused input active-high > line 1: "[NC]" unused input active-high > line 2: "P1.08 [SPI0_CLK]" unused input active-high > line 3: "P1.10 [SPI0_MISO]" unused input active-high > line 4: "P1.12 [SPI0_MOSI]" unused input active-high > line 5: "P1.06 [SPI0_CS]" unused input active-high > line 6: "[MMC0_CD]" "cd" input active-low [used] > line 7: "P2.29 [SPI1_CLK]" unused input active-high > line 8: "[NC]" unused input active-high > line 9: "[NC]" unused input active-high > line 10: "[NC]" unused input active-high > line 11: "[NC]" unused input active-high > line 12: "P1.26 [I2C2_SDA]" unused input active-high > line 13: "P1.28 [I2C2_SCL]" unused input active-high > line 14: "P2.11 [I2C1_SDA]" unused input active-high > line 15: "P2.09 [I2C1_SCL]" unused input active-high > line 16: "[NC]" unused input active-high > line 17: "[NC]" unused input active-high > line 18: "[NC]" unused input active-high > line 19: "P2.31 [SPI1_CS]" unused input active-high > line 20: "P1.20 [PRU0.16]" unused input active-high > line 21: "[NC]" unused input active-high > line 22: "[NC]" unused input active-high > line 23: "P2.03" unused input active-high > line 24: "[NC]" unused input active-high > line 25: "[NC]" unused input active-high > line 26: "P1.34" unused input active-high > line 27: "P2.19" unused input active-high > line 28: "[NC]" unused input active-high > line 29: "[NC]" unused input active-high > line 30: "P2.05 [UART4_RX]" unused input active-high > line 31: "P2.07 [UART4_TX]" unused input active-high > gpiochip1 - 32 lines: > line 0: "[NC]" unused input active-high > line 1: "[NC]" unused input active-high > line 2: "[NC]" unused input active-high > line 3: "[NC]" unused input active-high > line 4: "[NC]" unused input active-high > line 5: "[NC]" unused input active-high > line 6: "P1.06 [SPI0_CS]" unused input active-high > line 7: "P1.06 [SPI0_CS]" unused input active-high > line 8: "P2.27 [SPI1_MISO]" unused input active-high > line 9: "P2.25 [SPI1_MOSI]" unused input active-high > line 10: "P1.32 [UART0_RX]" unused input active-high > line 11: "P1.30 [UART0_TX]" unused input active-high > line 12: "P2.24" unused input active-high > line 13: "P2.33" unused input active-high > line 14: "P2.22" unused input active-high > line 15: "P2.18" unused input active-high > line 16: "[NC]" unused input active-high > line 17: "[NC]" unused input active-high > line 18: "P2.01 [PWM1A]" unused input active-high > line 19: "[NC]" unused input active-high > line 20: "P2.10" unused input active-high > line 21: "[user led 0]" "beaglebone:green:usr0" output active-high [used] > line 22: "[user led 1]" "beaglebone:green:usr1" output active-high [used] > line 23: "[user led 2]" "beaglebone:green:usr2" output active-high [used] > line 24: "[user led 3]" "beaglebone:green:usr3" output active-high [used] > line 25: "P2.06" unused input active-high > line 26: "P2.04" unused input active-high > line 27: "P2.02" unused input active-high > line 28: "P2.08" unused input active-high > line 29: "[NC]" unused input active-high > line 30: "[NC]" unused input active-high > line 31: "[NC]" unused input active-high > gpiochip2 - 32 lines: > line 0: "[NC]" unused input active-high > line 1: "P2.17" unused input active-high > line 2: "[NC]" unused input active-high > line 3: "[NC]" unused input active-high > line 4: "[NC]" unused input active-high > line 5: "[EEPROM_WP]" unused input active-high > line 6: "[NC]" unused input active-high > line 7: "[NC]" unused input active-high > line 8: "[NC]" unused input active-high > line 9: "[NC]" unused input active-high > line 10: "[NC]" unused input active-high > line 11: "[NC]" unused input active-high > line 12: "[NC]" unused input active-high > line 13: "[NC]" unused input active-high > line 14: "[NC]" unused input active-high > line 15: "[NC]" unused input active-high > line 16: "[NC]" unused input active-high > line 17: "[NC]" unused input active-high > line 18: "[NC]" unused input active-high > line 19: "[NC]" unused input active-high > line 20: "[NC]" unused input active-high > line 21: "[NC]" unused input active-high > line 22: "P2.35 [AIN5]" unused input active-high > line 23: "P1.02 [AIN6]" unused input active-high > line 24: "P1.35 [PRU1.10]" unused input active-high > line 25: "P1.04 [PRU1.11]" unused input active-high > line 26: "[MMC0_DAT3]" unused input active-high > line 27: "[MMC0_DAT2]" unused input active-high > line 28: "[MMC0_DAT1]" unused input active-high > line 29: "[MMC0_DAT0]" unused input active-high > line 30: "[MMC0_CLK]" unused input active-high > line 31: "[MMC0_CMD]" unused input active-high > gpiochip3 - 32 lines: > line 0: "[NC]" unused input active-high > line 1: "[NC]" unused input active-high > line 2: "[NC]" unused input active-high > line 3: "[NC]" unused input active-high > line 4: "[NC]" unused input active-high > line 5: "[I2C0_SDA]" unused input active-high > line 6: "[I2C0_SCL]" unused input active-high > line 7: "[JTAG]" unused input active-high > line 8: "[JTAG]" unused input active-high > line 9: "[NC]" unused input active-high > line 10: "[NC]" unused input active-high > line 11: "[NC]" unused input active-high > line 12: "[NC]" unused input active-high > line 13: "P1.03 [USB1]" unused input active-high > line 14: "P1.36 [PWM0A]" unused input active-high > line 15: "P1.33 [PRU0.1]" unused input active-high > line 16: "P2.32 [PRU0.2]" unused input active-high > line 17: "P2.30 [PRU0.3]" unused input active-high > line 18: "P1.31 [PRU0.4]" unused input active-high > line 19: "P2.34 [PRU0.5]" unused input active-high > line 20: "P2.28 [PRU0.6]" unused input active-high > line 21: "P1.29 [PRU0.7]" unused input active-high > line 22: "[NC]" unused input active-high > line 23: "[NC]" unused input active-high > line 24: "[NC]" unused input active-high > line 25: "[NC]" unused input active-high > line 26: "[NC]" unused input active-high > line 27: "[NC]" unused input active-high > line 28: "[NC]" unused input active-high > line 29: "[NC]" unused input active-high > line 30: "[NC]" unused input active-high > line 31: "[NC]" unused input active-high > > [0] https://github.com/beagleboard/pocketbeagle/wiki/System-Reference-Manual#71_Expansion_Header_Connectors > [1] https://octavosystems.com/app_notes/osd335x-family-pin-assignments/ > > Reviewed-by: Jason Kridner <jason@beagleboard.org> > Reviewed-by: Robert Nelson <robertcnelson@gmail.com> > Signed-off-by: Drew Fustini <drew@beagleboard.org> > --- > arch/arm/boot/dts/am335x-pocketbeagle.dts | 144 ++++++++++++++++++++++ > 1 file changed, 144 insertions(+) > > diff --git a/arch/arm/boot/dts/am335x-pocketbeagle.dts b/arch/arm/boot/dts/am335x-pocketbeagle.dts > index 4da719098028..60e5fa2b9156 100644 > --- a/arch/arm/boot/dts/am335x-pocketbeagle.dts > +++ b/arch/arm/boot/dts/am335x-pocketbeagle.dts > @@ -59,6 +59,150 @@ vmmcsd_fixed: fixedregulator0 { > }; > }; > > +&gpio0 { > + gpio-line-names = > + "[NC]", > + "[NC]", > + "P1.08 [SPI0_CLK]", > + "P1.10 [SPI0_MISO]", > + "P1.12 [SPI0_MOSI]", > + "P1.06 [SPI0_CS]", > + "[MMC0_CD]", > + "P2.29 [SPI1_CLK]", > + "[NC]", > + "[NC]", > + "[NC]", > + "[NC]", > + "P1.26 [I2C2_SDA]", > + "P1.28 [I2C2_SCL]", > + "P2.11 [I2C1_SDA]", > + "P2.09 [I2C1_SCL]", > + "[NC]", > + "[NC]", > + "[NC]", > + "P2.31 [SPI1_CS]", > + "P1.20 [PRU0.16]", > + "[NC]", > + "[NC]", > + "P2.03", > + "[NC]", > + "[NC]", > + "P1.34", > + "P2.19", > + "[NC]", > + "[NC]", > + "P2.05 [UART4_RX]", > + "P2.07 [UART4_TX]"; > +}; > + > +&gpio1 { > + gpio-line-names = > + "[NC]", > + "[NC]", > + "[NC]", > + "[NC]", > + "[NC]", > + "[NC]", > + "P1.06 [SPI0_CS]", > + "P1.06 [SPI0_CS]", > + "P2.27 [SPI1_MISO]", > + "P2.25 [SPI1_MOSI]", > + "P1.32 [UART0_RX]", > + "P1.30 [UART0_TX]", > + "P2.24", > + "P2.33", > + "P2.22", > + "P2.18", > + "[NC]", > + "[NC]", > + "P2.01 [PWM1A]", > + "[NC]", > + "P2.10", > + "[user led 0]", > + "[user led 1]", > + "[user led 2]", > + "[user led 3]", > + "P2.06", > + "P2.04", > + "P2.02", > + "P2.08", > + "[NC]", > + "[NC]", > + "[NC]"; > +}; > + > +&gpio2 { > + gpio-line-names = > + "[NC]", > + "P2.17", > + "[NC]", > + "[NC]", > + "[NC]", > + "[EEPROM_WP]", > + "[NC]", > + "[NC]", > + "[NC]", > + "[NC]", > + "[NC]", > + "[NC]", > + "[NC]", > + "[NC]", > + "[NC]", > + "[NC]", > + "[NC]", > + "[NC]", > + "[NC]", > + "[NC]", > + "[NC]", > + "[NC]", > + "P2.35 [AIN5]", > + "P1.02 [AIN6]", > + "P1.35 [PRU1.10]", > + "P1.04 [PRU1.11]", > + "[MMC0_DAT3]", > + "[MMC0_DAT2]", > + "[MMC0_DAT1]", > + "[MMC0_DAT0]", > + "[MMC0_CLK]", > + "[MMC0_CMD]"; > +}; > + > +&gpio3 { > + gpio-line-names = > + "[NC]", > + "[NC]", > + "[NC]", > + "[NC]", > + "[NC]", > + "[I2C0_SDA]", > + "[I2C0_SCL]", > + "[JTAG]", > + "[JTAG]", > + "[NC]", > + "[NC]", > + "[NC]", > + "[NC]", > + "P1.03 [USB1]", > + "P1.36 [PWM0A]", > + "P1.33 [PRU0.1]", > + "P2.32 [PRU0.2]", > + "P2.30 [PRU0.3]", > + "P1.31 [PRU0.4]", > + "P2.34 [PRU0.5]", > + "P2.28 [PRU0.6]", > + "P1.29 [PRU0.7]", > + "[NC]", > + "[NC]", > + "[NC]", > + "[NC]", > + "[NC]", > + "[NC]", > + "[NC]", > + "[NC]", > + "[NC]", > + "[NC]"; > +}; > + > &am33xx_pinmux { > i2c2_pins: pinmux-i2c2-pins { > pinctrl-single,pins = < > -- > 2.25.1 > Tony - does this look ok for 5.9? If so, I might start making other variants like BeagleBone Blue and BeagleBone {Green,Black} Wireless and submit those when ready. thanks, drew
* Drew Fustini <drew@beagleboard.org> [200617 17:10]: > Tony - does this look ok for 5.9? Yes looks OK to me. Just wondering, are the line with "NA" not used internally either? If the "NA" lines are used internally, we should probably use "Reserved" or "Internal" or something like that to avoid later on having to patch them with internal device names.. > If so, I might start making other variants like BeagleBone Blue and > BeagleBone {Green,Black} Wireless and submit those when ready. OK yeah makes sense. Regards, Tony
On Thu, Jun 18, 2020 at 10:03:45AM -0700, Tony Lindgren wrote: > * Drew Fustini <drew@beagleboard.org> [200617 17:10]: > > Tony - does this look ok for 5.9? > > Yes looks OK to me. > > Just wondering, are the line with "NA" not used internally either? > If the "NA" lines are used internally, we should probably use > "Reserved" or "Internal" or something like that to avoid later > on having to patch them with internal device names.. There are many more 'no connects' as the PocketBeagle is much simpler. There are 12 SYSBOOT pins which just go to fixed pull-up and pull-down resistors. I'll change those from "[NC]" to "[SYSBOOT]". Also, after going through all the enteries again, I noticed 4 lines that I mislabeled. I will post a v2. > > > If so, I might start making other variants like BeagleBone Blue and > > BeagleBone {Green,Black} Wireless and submit those when ready. > > OK yeah makes sense. > thanks, drew
diff --git a/arch/arm/boot/dts/am335x-pocketbeagle.dts b/arch/arm/boot/dts/am335x-pocketbeagle.dts index 4da719098028..60e5fa2b9156 100644 --- a/arch/arm/boot/dts/am335x-pocketbeagle.dts +++ b/arch/arm/boot/dts/am335x-pocketbeagle.dts @@ -59,6 +59,150 @@ vmmcsd_fixed: fixedregulator0 { }; }; +&gpio0 { + gpio-line-names = + "[NC]", + "[NC]", + "P1.08 [SPI0_CLK]", + "P1.10 [SPI0_MISO]", + "P1.12 [SPI0_MOSI]", + "P1.06 [SPI0_CS]", + "[MMC0_CD]", + "P2.29 [SPI1_CLK]", + "[NC]", + "[NC]", + "[NC]", + "[NC]", + "P1.26 [I2C2_SDA]", + "P1.28 [I2C2_SCL]", + "P2.11 [I2C1_SDA]", + "P2.09 [I2C1_SCL]", + "[NC]", + "[NC]", + "[NC]", + "P2.31 [SPI1_CS]", + "P1.20 [PRU0.16]", + "[NC]", + "[NC]", + "P2.03", + "[NC]", + "[NC]", + "P1.34", + "P2.19", + "[NC]", + "[NC]", + "P2.05 [UART4_RX]", + "P2.07 [UART4_TX]"; +}; + +&gpio1 { + gpio-line-names = + "[NC]", + "[NC]", + "[NC]", + "[NC]", + "[NC]", + "[NC]", + "P1.06 [SPI0_CS]", + "P1.06 [SPI0_CS]", + "P2.27 [SPI1_MISO]", + "P2.25 [SPI1_MOSI]", + "P1.32 [UART0_RX]", + "P1.30 [UART0_TX]", + "P2.24", + "P2.33", + "P2.22", + "P2.18", + "[NC]", + "[NC]", + "P2.01 [PWM1A]", + "[NC]", + "P2.10", + "[user led 0]", + "[user led 1]", + "[user led 2]", + "[user led 3]", + "P2.06", + "P2.04", + "P2.02", + "P2.08", + "[NC]", + "[NC]", + "[NC]"; +}; + +&gpio2 { + gpio-line-names = + "[NC]", + "P2.17", + "[NC]", + "[NC]", + "[NC]", + "[EEPROM_WP]", + "[NC]", + "[NC]", + "[NC]", + "[NC]", + "[NC]", + "[NC]", + "[NC]", + "[NC]", + "[NC]", + "[NC]", + "[NC]", + "[NC]", + "[NC]", + "[NC]", + "[NC]", + "[NC]", + "P2.35 [AIN5]", + "P1.02 [AIN6]", + "P1.35 [PRU1.10]", + "P1.04 [PRU1.11]", + "[MMC0_DAT3]", + "[MMC0_DAT2]", + "[MMC0_DAT1]", + "[MMC0_DAT0]", + "[MMC0_CLK]", + "[MMC0_CMD]"; +}; + +&gpio3 { + gpio-line-names = + "[NC]", + "[NC]", + "[NC]", + "[NC]", + "[NC]", + "[I2C0_SDA]", + "[I2C0_SCL]", + "[JTAG]", + "[JTAG]", + "[NC]", + "[NC]", + "[NC]", + "[NC]", + "P1.03 [USB1]", + "P1.36 [PWM0A]", + "P1.33 [PRU0.1]", + "P2.32 [PRU0.2]", + "P2.30 [PRU0.3]", + "P1.31 [PRU0.4]", + "P2.34 [PRU0.5]", + "P2.28 [PRU0.6]", + "P1.29 [PRU0.7]", + "[NC]", + "[NC]", + "[NC]", + "[NC]", + "[NC]", + "[NC]", + "[NC]", + "[NC]", + "[NC]", + "[NC]"; +}; + &am33xx_pinmux { i2c2_pins: pinmux-i2c2-pins { pinctrl-single,pins = <