pocketbeagle device tree updates
Subsystems (2)
v3 cover pocketbeagle device tree updates
A couple device-tree updates for pocketbeagle:
1) Update the LED information
2) Remove a dependency cycle.
3) Now that mainline supports the PRUs via remoteproc, update the pin information to enable the PRU pins and set their mode appropriately as per the silkscreen.
4) Add a missing mode setting for a GPIO pin.
v3:
- patch 1: retain the "label" property for backwards compatibility with beagle documentation and tutorials, simply add "color" and "function" properties
- the remaining patches are unmodified
v2:
- update the patches to remove the pinctrl-0 property early in the set
- patch 2 is new, patches 3 and 4 adjusted accordingly
Trevor Woerner (4):
ARM: dts: am335x-pocketbeagle: update LED information
ARM: dts: am335x-pocketbeagle: remove dependency cycle
ARM: dts: am335x-pocketbeagle: enable pru
ARM: dts: am335x-pocketbeagle: add missing GPIO mux
.../boot/dts/ti/omap/am335x-pocketbeagle.dts | 58 ++++++++++++++++--- 1 file changed, 49 insertions(+), 9 deletions(-)
Signature · 1 line
2.41.0.327.gaa9166bcc0ba
PATCH v3 1/4 ARM: dts: am335x-pocketbeagle: update LED information
Add the "color" and "description" properties.
--- arch/arm/boot/dts/ti/omap/am335x-pocketbeagle.dts | 9 +++++++++ 1 file changed, 9 insertions(+)
arch/arm/boot/dts/ti/omap/am335x-pocketbeagle.dts +9 -0
@@ -8,6 +8,7 @@ #include "am33xx.dtsi" #include "am335x-osd335x-common.dtsi" +#include <dt-bindings/leds/common.h> / { model = "TI AM335x PocketBeagle";
@@ -25,6 +26,8 @@ leds { led-usr0 { label = "beaglebone:green:usr0"; + color = <LED_COLOR_ID_BLUE>; + function = LED_FUNCTION_HEARTBEAT; gpios = <&gpio1 21 GPIO_ACTIVE_HIGH>; linux,default-trigger = "heartbeat"; default-state = "off";
@@ -32,6 +35,8 @@ led-usr0 { led-usr1 { label = "beaglebone:green:usr1"; + color = <LED_COLOR_ID_BLUE>; + function = LED_FUNCTION_DISK_ACTIVITY; gpios = <&gpio1 22 GPIO_ACTIVE_HIGH>; linux,default-trigger = "mmc0"; default-state = "off";
@@ -39,6 +44,8 @@ led-usr1 { led-usr2 { label = "beaglebone:green:usr2"; + color = <LED_COLOR_ID_BLUE>; + function = LED_FUNCTION_CPU; gpios = <&gpio1 23 GPIO_ACTIVE_HIGH>; linux,default-trigger = "cpu0"; default-state = "off";
@@ -46,6 +53,8 @@ led-usr2 { led-usr3 { label = "beaglebone:green:usr3"; + color = <LED_COLOR_ID_BLUE>; + function = LED_FUNCTION_INDICATOR; gpios = <&gpio1 24 GPIO_ACTIVE_HIGH>; default-state = "off"; };
Signature · 1 line
2.41.0.327.gaa9166bcc0ba
PATCH v3 2/4 ARM: dts: am335x-pocketbeagle: remove dependency cycle
In reply to Trevor WoernerRemove the self-referenceing "pinctrl-0" entry inside the pinmux clause. This eliminates the set of boot messages (one for each referenced pin) similar to the following:
platform 44e10800.pinmux: Fixed dependency cycle(s) with /ocp/interconnect@44c00000/segment@200000/target-module@10000/scm@0/pinmux@800/pinmux_P2_17_gpio
--- arch/arm/boot/dts/ti/omap/am335x-pocketbeagle.dts | 5 ----- 1 file changed, 5 deletions(-)
arch/arm/boot/dts/ti/omap/am335x-pocketbeagle.dts +0 -5
@@ -217,11 +217,6 @@ &am33xx_pinmux { compatible = "pinconf-single"; pinctrl-names = "default"; - pinctrl-0 = < &P2_03_gpio &P1_34_gpio &P2_19_gpio &P2_24_gpio - &P2_33_gpio &P2_22_gpio &P2_18_gpio &P2_10_gpio - &P2_06_gpio &P2_04_gpio &P2_02_gpio &P2_08_gpio - &P2_17_gpio >; - /* P2_03 (ZCZ ball T10) gpio0_23 0x824 PIN 9 */ P2_03_gpio: P2-03-gpio-pins { pinctrl-single,pins = <
Signature · 1 line
2.41.0.327.gaa9166bcc0ba
PATCH v3 3/4 ARM: dts: am335x-pocketbeagle: enable pru
In reply to Trevor WoernerNow that the PRU code is upstream and can be loaded via remoteproc, adjust the device tree to enable it and adjust the pin muxing so that the default setting of the pins matches what's is given on the silkscreen and/or pocketbeagle wiring.
Caveat: In most cases, the silkscreen will indicate, for example, "PRU0.7",
but it doesn't indicate whether that pin should be enabled for input or output. On the PRU a different MODE is used for input versus output. So it is unclear which mode to enable (MODE5 = output, MODE6 = input). In cases where there is a choice (PRU1.11, PRU0.7, PRU0.4, PRU0.1, PRU1.10, PRU0.6, PRU0.3, PRU0.2, and PRU0.5) output is assumed (MODE5).
The remaining PRU silkscreen pins do not have a choice and are set as follows:
PRU0.16 MODE5 input
PRU0.15i MODE6 input
--- .../boot/dts/ti/omap/am335x-pocketbeagle.dts | 46 +++++++++++++++---- 1 file changed, 36 insertions(+), 10 deletions(-)
arch/arm/boot/dts/ti/omap/am335x-pocketbeagle.dts +36 -10
@@ -121,7 +121,7 @@ &gpio1 { "P2.24", "P2.33", "P2.22", - "P2.18", + "P2.18 [PRU0.15i]", "NC", "NC", "P2.01 [PWM1A]",
@@ -271,15 +271,6 @@ AM33XX_PADCONF(AM335X_PIN_GPMC_AD14, PIN_INPUT_PULLUP, MUX_MODE7) pinctrl-single,bias-pulldown = < 0x10 0x00 0x10 0x18>; }; - /* P2_18 (ZCZ ball U13) gpio1_15 0x83c PIN 15 */ - P2_18_gpio: P2-18-gpio-pins { - pinctrl-single,pins = < - AM33XX_PADCONF(AM335X_PIN_GPMC_AD15, PIN_INPUT_PULLUP, MUX_MODE7) - >; - pinctrl-single,bias-pullup = < 0x10 0x10 0x00 0x18>; - pinctrl-single,bias-pulldown = < 0x10 0x00 0x10 0x18>; - }; - /* P2_10 (ZCZ ball R14) gpio1_20 0x850 PIN 20 */ P2_10_gpio: P2-10-gpio-pins { pinctrl-single,pins = <
@@ -405,6 +396,27 @@ AM33XX_PADCONF(AM335X_PIN_GPMC_WAIT0, PIN_INPUT_PULLUP, MUX_MODE6) /* (T17) gpmc AM33XX_PADCONF(AM335X_PIN_GPMC_WPN, PIN_OUTPUT_PULLDOWN, MUX_MODE6) /* (U17) gpmc_wpn.uart4_txd */ >; }; + + pru0_pins: pinmux-pru0-pins { + pinctrl-single,pins = < + AM33XX_PADCONF(AM335X_PIN_XDMA_EVENT_INTR1, PIN_INPUT_PULLUP, MUX_MODE5)/* (D14) xdma_event_intr1.pr1_pru0_pru_r31_16 */ + AM33XX_PADCONF(AM335X_PIN_MCASP0_AHCLKX, PIN_OUTPUT_PULLDOWN, MUX_MODE5)/* (A14) mcasp0_ahclkx.pr1_pru0_pru_r30_7 */ + AM33XX_PADCONF(AM335X_PIN_MCASP0_ACLKR, PIN_OUTPUT_PULLDOWN, MUX_MODE5) /* (B12) mcasp0_acklr.pr1_pru0_pru_r30_4 */ + AM33XX_PADCONF(AM335X_PIN_MCASP0_FSX, PIN_OUTPUT_PULLDOWN, MUX_MODE5) /* (B13) mcasp0_fsx.pr1_pru0_pru_r30_1 */ + AM33XX_PADCONF(AM335X_PIN_GPMC_AD15, PIN_INPUT_PULLUP, MUX_MODE6) /* (U13) gpmc_ad15.pr1_pru0_pru_r31_15 */ + AM33XX_PADCONF(AM335X_PIN_MCASP0_AXR1, PIN_OUTPUT_PULLDOWN, MUX_MODE5) /* (D13) mcasp0_axr1.pr1_pru0_pru_r30_6 */ + AM33XX_PADCONF(AM335X_PIN_MCASP0_AHCLKR, PIN_OUTPUT_PULLDOWN, MUX_MODE5)/* (C12) mcasp0_ahclkr.pr1_pru0_pru_r30_3 */ + AM33XX_PADCONF(AM335X_PIN_MCASP0_AXR0, PIN_OUTPUT_PULLDOWN, MUX_MODE5) /* (D12) mcasp0_axr0.pr1_pru0_pru_r30_2 */ + AM33XX_PADCONF(AM335X_PIN_MCASP0_FSR, PIN_OUTPUT_PULLDOWN, MUX_MODE5) /* (C13) mcasp0_fsr.pr1_pru0_pru_r30_5 */ + >; + }; + + pru1_pins: pinmux-pru1-pins { + pinctrl-single,pins = < + AM33XX_PADCONF(AM335X_PIN_LCD_AC_BIAS_EN, PIN_OUTPUT_PULLDOWN, MUX_MODE5)/*(R6) lcd_ac_bias_en.pr1_pru1_pru_r30_11 */ + AM33XX_PADCONF(AM335X_PIN_LCD_PCLK, PIN_OUTPUT_PULLDOWN, MUX_MODE5) /* (V5) lcd_pclk.pr1_pru1_pru_r30_10 */ + >; + }; }; &epwmss0 {
@@ -486,3 +498,17 @@ &usb0 { &usb1 { dr_mode = "host"; }; + +&pruss_tm { + status = "okay"; +}; + +&pru0 { + pinctrl-names = "default"; + pinctrl-0 = <&pru0_pins>; +}; + +&pru1 { + pinctrl-names = "default"; + pinctrl-0 = <&pru1_pins>; +};
Signature · 1 line
2.41.0.327.gaa9166bcc0ba
PATCH v3 4/4 ARM: dts: am335x-pocketbeagle: add missing GPIO mux
In reply to Trevor WoernerAdd the default MODE setting of a GPIO pin that was missing from the device tree (i.e. P2.20/gpio2_00). This is to ensure the GPIO pins match the pocketbeagle wiring expectations.
--- arch/arm/boot/dts/ti/omap/am335x-pocketbeagle.dts | 10 ++++++++++ 1 file changed, 10 insertions(+)
arch/arm/boot/dts/ti/omap/am335x-pocketbeagle.dts +10 -0
@@ -271,6 +271,16 @@ AM33XX_PADCONF(AM335X_PIN_GPMC_AD14, PIN_INPUT_PULLUP, MUX_MODE7) pinctrl-single,bias-pulldown = < 0x10 0x00 0x10 0x18>; }; + /* P2_20 (ZCZ ball T13) gpio2_00 0x888 */ + P2_20_gpio: P2-20-gpio-pins { + pinctrl-single,pins = < + AM33XX_PADCONF(AM335X_PIN_GPMC_CSN3, PIN_INPUT_PULLUP, MUX_MODE7) + >; + pinctrl-single,bias-pullup = < 0x10 0x10 0x00 0x18>; + pinctrl-single,bias-pulldown = < 0x10 0x00 0x10 0x18>; + }; + + /* P2_10 (ZCZ ball R14) gpio1_20 0x850 PIN 20 */ P2_10_gpio: P2-10-gpio-pins { pinctrl-single,pins = <
Signature · 1 line
2.41.0.327.gaa9166bcc0ba
Tony Lindgren
maintainerRe: [PATCH v3 4/4] ARM: dts: am335x-pocketbeagle: add missing GPIO mux
Quoted 20 lines · Trevor Woerner
Add the default MODE setting of a GPIO pin that was missing from the device tree (i.e. P2.20/gpio2_00). This is to ensure the GPIO pins match the pocketbeagle wiring expectations.
Signed-off-by Trevor Woerner <[email protected]>--- arch/arm/boot/dts/ti/omap/am335x-pocketbeagle.dts | 10 ++++++++++ 1 file changed, 10 insertions(+)arch/arm/boot/dts/ti/omap/am335x-pocketbeagle.dts +3
-0@@ -271,6 +271,16 @@ AM33XX_PADCONF(AM335X_PIN_GPMC_AD14, PIN_INPUT_PULLUP, MUX_MODE7) pinctrl-single,bias-pulldown = < 0x10 0x00 0x10 0x18>; }; + /* P2_20 (ZCZ ball T13) gpio2_00 0x888 */ + P2_20_gpio: P2-20-gpio-pins { + pinctrl-single,pins = <
arch/arm/boot/dts/ti/omap/am335x-pocketbeagle.dts AM33XX_PADCONF(AM335X_PIN_GPMC_AD14, PIN_INPUT_PULLUP, MUX_MODE7) · line 286
Quoted 10 lines
arch/arm/boot/dts/ti/omap/am335x-pocketbeagle.dts +7
-0+ AM33XX_PADCONF(AM335X_PIN_GPMC_CSN3, PIN_INPUT_PULLUP, MUX_MODE7) + >; + pinctrl-single,bias-pullup = < 0x10 0x10 0x00 0x18>; + pinctrl-single,bias-pulldown = < 0x10 0x00 0x10 0x18>; + }; + + /* P2_10 (ZCZ ball R14) gpio1_20 0x850 PIN 20 */ P2_10_gpio: P2-10-gpio-pins { pinctrl-single,pins = <
Thanks applying all four patches into omap-for-v6.7/dt. I left out the extra line break above though.
Regards,
Tony