Skip to contentSkip to conversation

dt-bindings: arm: ti: Add bindings for BeagleBone AI-64

PATCH Superseded Robert Nelson 2 participants 4 messages Nov 14, 2022 – Nov 18, 2022

Subsystems (2)

v5 of 6 Superseded Latest is v6 →

lore
Share & tools
lore
#0 lore raw

PATCH v5 1/2 dt-bindings: arm: ti: Add bindings for BeagleBone AI-64

This board is based on the ti,j721e

https://beagleboard.org/ai-64
https://git.beagleboard.org/beagleboard/beaglebone-ai-64

CC Nishanth Menon <[email protected]>
CC Jason Kridner <[email protected]>
CC Drew Fustini <[email protected]>

---
Changes since v4:
- no changes
Changes since v3:
- added Acked-by from Rob Herring
Changes since v2:
- rebased on next after k3.yaml alphabetical sort
Changes since v1:
- added documenation links
- add board in alphabetical order

---
 Documentation/devicetree/bindings/arm/ti/k3.yaml | 1 +
 1 file changed, 1 insertion(+)
Documentation/devicetree/bindings/arm/ti/k3.yaml +1 -0
index 28b8232e1c5b..09e6845ff243 100644
@@ -61,6 +61,7 @@ properties:
           - const: ti,j721e
           - items:
               - enum:
+                  - beagle,j721e-beagleboneai64
                   - ti,j721e-evm
                   - ti,j721e-sk
               - const: ti,j721e
Signature · 1 line
2.30.2
#1 lore raw

PATCH v5 2/2 arm64: dts: ti: add k3-j721e-beagleboneai64

BeagleBoard.org BeagleBone AI-64 is an open source hardware single board computer based on the Texas Instruments TDA4VM SoC featuring dual-core 2.0GHz Arm Cortex-A72 processor, C7x+MMA and 2 C66x floating-point VLIW DSPs, 3x dual Arm Cortex-R5 co-processors, 2x 6-core Programmable Real-Time Unit and Industrial Communication SubSystem, PowerVR Rogue 8XE GE8430 3D GPU. The board features 4GB DDR4, USB3.0 Type-C, 2x USB SS Type-A, miniDisplayPort, 2x 4-lane CSI, DSI, 16GB eMMC flash, 1G Ethernet, M.2 E-key for WiFi/BT, and BeagleBone expansion headers.

This board family can be indentified by the BBONEAI-64-B0 in the at24 eeprom:

[aa 55 33 ee 01 37 00 10  2e 00 42 42 4f 4e 45 41 |.U3..7....BBONEA|]
[49 2d 36 34 2d 42 30 2d  00 00 42 30 30 30 37 38 |I-64-B0-..B00078|]

https://beagleboard.org/ai-64
https://git.beagleboard.org/beagleboard/beaglebone-ai-64

CC Nishanth Menon <[email protected]>
CC Vignesh Raghavendra <[email protected]>
CC Tero Kristo <[email protected]>
CC Jason Kridner <[email protected]>
CC Drew Fustini <[email protected]>

---
Changes since v4:
- secure_ddr - removed alignment property
- gpio-keys - removed un-needed autorepeat
- gpio-keys - use button over switch label
- davinci_mdio - move mcu_mdio_pins_default into davinci_mdio node
- main_r5fss0_core0 - remove firmware name till upstream gets it sorted out
Changes since v3:
- rebased on next after enable/disable device-tree level changes
- Enable UART nodes at the board level
- Enable I2C nodes at the board level
- Enable Mailbox nodes at the board level
- Enable MCASP nodes at the board level
Changes since v2:
- drop bootargs
- use generic node names for regulators
- corrected main-i2c*pins node-names
Changes since v1:
- added product url to license section
- added aliases for serial, mmc and i2c
- use switch-X syntax for switches
- switch-1 removed disabled status
- use led-X syntax for leds
- led-x dropped labels, using functions
- dp_pwr_3v3 removed extra comment, always on regulator setting
- added i2c interfaces that map with BeagleBone Family
- corrected mcu-adc*-pins-default node-names
- main_uart0 corrected comment on TIFS firmware.
- main_gpio0 - removed un-needed okay
- main_gpio1 - removed un-needed okay
- mhdp added missing phy
- main_r5fss0_core0 - corrected missing space
- added tscadc0/tscadc1 pins brought out on board
- marked disabled nodes as unused in this design

---
 arch/arm64/boot/dts/ti/Makefile               |    1 +
 .../boot/dts/ti/k3-j721e-beagleboneai64.dts   | 1110 +++++++++++++++++
 2 files changed, 1111 insertions(+)
 create mode 100644 arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts
arch/arm64/boot/dts/ti/Makefile +1 -0
index 4555a5be2257..cf7c509538a4 100644
@@ -12,6 +12,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-am6528-iot2050-basic-pg2.dtb
 dtb-$(CONFIG_ARCH_K3) += k3-am6548-iot2050-advanced.dtb
 dtb-$(CONFIG_ARCH_K3) += k3-am6548-iot2050-advanced-pg2.dtb
 
+dtb-$(CONFIG_ARCH_K3) += k3-j721e-beagleboneai64.dtb
 dtb-$(CONFIG_ARCH_K3) += k3-j721e-common-proc-board.dtb
 dtb-$(CONFIG_ARCH_K3) += k3-j721e-sk.dtb
 
arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts new file +1110 -0

1,110 lines not on this page · raw message

Signature · 1 line
2.30.2
maintainer
#2 lore raw

Re: [PATCH v5 2/2] arm64: dts: ti: add k3-j721e-beagleboneai64

On 15:58-20221114, Robert Nelson wrote:
[...]

Quoted 19 lines
arch/arm64/boot/dts/ti/Makefile +1 -0
index 4555a5be2257..cf7c509538a4 100644
@@ -12,6 +12,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-am6528-iot2050-basic-pg2.dtb
 dtb-$(CONFIG_ARCH_K3) += k3-am6548-iot2050-advanced.dtb
 dtb-$(CONFIG_ARCH_K3) += k3-am6548-iot2050-advanced-pg2.dtb
 
+dtb-$(CONFIG_ARCH_K3) += k3-j721e-beagleboneai64.dtb
 dtb-$(CONFIG_ARCH_K3) += k3-j721e-common-proc-board.dtb
 dtb-$(CONFIG_ARCH_K3) += k3-j721e-sk.dtb
 
arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts new file +1 -0
new file mode 100644
index 000000000000..55ffa9ba6c3a
@@ -0,0 +1,1110 @@
+// SPDX-License-Identifier: GPL-2.0

[...]

Quoted 22 lines
arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts new file +22 -0
+	leds {
+		compatible = "gpio-leds";
+		pinctrl-names = "default";
+		pinctrl-0 = <&led_pins_default>;
+
+		led-0 {
+			gpios = <&main_gpio0 96 GPIO_ACTIVE_HIGH>;
+			function = LED_FUNCTION_HEARTBEAT;
+			linux,default-trigger = "heartbeat";
+		};
+
+		led-1 {
+			gpios = <&main_gpio0 95 GPIO_ACTIVE_HIGH>;
+			function = LED_FUNCTION_DISK_ACTIVITY;
+			linux,default-trigger = "mmc0";
+		};
+
+		led-2 {
+			gpios = <&main_gpio0 97 GPIO_ACTIVE_HIGH>;
+			function = LED_FUNCTION_CPU;
+			linux,default-trigger = "cpu";
+		};

arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts line 217

Quoted 10 lines
arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts new file +10 -0
+
+		led-3 {
+			gpios = <&main_gpio0 110 GPIO_ACTIVE_HIGH>;
+			function = LED_FUNCTION_DISK_ACTIVITY;
+			linux,default-trigger = "mmc1";
+		};
+
+		led-4 {
+			gpios = <&main_gpio0 109 GPIO_ACTIVE_HIGH>;
+			linux,default-trigger = "phy0tx";

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/leds/common.yaml#n82

we'd be Violating the oneOf conditions here.

Quoted 38 lines
arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts new file +38 -0
+			function = LED_FUNCTION_WLAN;
+			default-state = "off";
+		};
+	};
+
+	evm_12v0: regulator-0 {
+		/* main supply */
+		compatible = "regulator-fixed";
+		regulator-name = "evm_12v0";
+		regulator-min-microvolt = <12000000>;
+		regulator-max-microvolt = <12000000>;
+		regulator-always-on;
+		regulator-boot-on;
+	};
+
+	vsys_3v3: regulator-1 {
+		/* Output of LMS140 */
+		compatible = "regulator-fixed";
+		regulator-name = "vsys_3v3";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		vin-supply = <&evm_12v0>;
+		regulator-always-on;
+		regulator-boot-on;
+	};
+
+	vsys_5v0: regulator-2 {
+		/* Output of LM5140 */
+		compatible = "regulator-fixed";
+		regulator-name = "vsys_5v0";
+		regulator-min-microvolt = <5000000>;
+		regulator-max-microvolt = <5000000>;
+		vin-supply = <&evm_12v0>;
+		regulator-always-on;
+		regulator-boot-on;
+	};
+
+	vdd_mmc1: regulator-3 {

arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts line 265

Quoted 10 lines
arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts new file +10 -0
+		compatible = "regulator-fixed";
+		pinctrl-names = "default";
+		pinctrl-0 = <&sd_pwr_en_pins_default>;
+		regulator-name = "vdd_mmc1";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		regulator-boot-on;
+		enable-active-high;
+		vin-supply = <&vsys_3v3>;
+		gpios = <&main_gpio0 82 GPIO_ACTIVE_HIGH>;

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/regulator/fixed-regulator.yaml

s/gpios/gpio ?

Quoted 14 lines
arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts new file +14 -0
+	};
+
+	vdd_sd_dv_alt: regulator-4 {
+		compatible = "regulator-gpio";
+		pinctrl-names = "default";
+		pinctrl-0 = <&vdd_sd_dv_alt_pins_default>;
+		regulator-name = "tlv71033";
+		regulator-min-microvolt = <1800000>;
+		regulator-max-microvolt = <3300000>;
+		regulator-boot-on;
+		vin-supply = <&vsys_5v0>;
+		gpios = <&main_gpio0 117 GPIO_ACTIVE_HIGH>;
+		states = <1800000 0x0>,
+			 <3300000 0x1>;

arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts line 289

Quoted 10 lines
arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts new file +10 -0
+	};
+
+	dp_pwr_3v3: regulator-5 {
+		compatible = "regulator-fixed";
+		pinctrl-names = "default";
+		pinctrl-0 = <&dp0_3v3_en_pins_default>;
+		regulator-name = "dp-pwr";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		gpios = <&main_gpio0 49 GPIO_ACTIVE_HIGH>; /* DP0_PWR_SW_EN */

Same here - gpio ?

Quoted 2 lines
arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts new file +2 -0
+		enable-active-high;
+	};

[...]

Quoted 19 lines
arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts new file +19 -0
+
+
+&main_gpio0 {
+	gpio-line-names = "", "P9_11", "P9_13", "P8_17", "P8_18", /* 0-4 */
+		"P8_22", "P8_24", "P8_34", "P8_36", "P8_38A", /* 5-9 */
+		"P9_23", "P8_37B", "P9_26B", "P9_24B", "P8_08", /* 10-14 */
+		"P8_07", "P8_10", "P8_09", "P9_42B", "", /* 15-19 */
+		"P8_03", "TYPEC_PWR_ST", "M2_RSTz", "M2_I2C_ALERT#", "P8_35A", /* 20-24 */
+		"P8_33A", "P8_32A", "", "P9_17A", "", /* 25-29 */
+		"P8_21", "P8_23", "P8_31A", "P8_05", "P8_06", /* 30-34 */
+		"P8_25", "M2_W_DISABLE1#", "M2_W_DISABLE2#", "P9_22A (BOOTMODE1)", "P9_21A", /* 35-39 */
+		"P9_18A", "DSI_I2C_SCL", "DSI_I2C_SDA", "P9_28B", "P9_30B", /* 40-44 */
+		"P9_12", "P9_27A", "P9_15", "P8_04 (BOOTMODE2)", "VCC_DP_EN", /* 45-49 */
+		"P9_33B", "P8_26", "P9_31B", "P9_29B", "P9_39B", /* 50-54 */
+		"P9_35B", "P9_36B", "P9_37B", "P9_38B", "P8_12", /* 55-59 */
+		"P8_11 (BOOTMODE7)", "P8_15", "P8_16", "", "", /* 60-64 */
+		"P8_43", "P8_44", "P8_41", "P8_42 (BOOTMODE6)", "P8_39", /* 65-69 */
+		"P8_40", "P8_27", "P8_28", "P8_29", "P8_30", /* 70-74 */
+		"P8_14", "P8_20", "P9_20B", "P9_19B", "P8_45", /* 75-79 */

arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts line 678

Quoted 10 lines
arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts new file +10 -0
+		"P8_46 (BOOTMODE3)", "P9_40B", "VDD_SD_EN", "CSI_I2C_SCL", "CSI_I2C_SDA", /* 80-84 */
+		"M2_I2S_SCK", "M2_I2S_WS", "M2_I2S_IN", "P8_19", "P8_13", /* 85-89 */
+		"P9_21B", "P9_22B", "M2_I2S_OUT", "P9_14", "P9_16", /* 90-94 */
+		"USR1", "USR0", "USR2", "DSI_GPIO1", "FAN_PWM", /* 95-99 */
+		"FAN_TACH", "CSI1_GPIO1", "CSI0_GPIO2", "CSI0_GPIO1", "P9_25B", /* 100-104 */
+		"P8_38B", "P8_37A", "CSI1_GPIO2", "DSI_GPIO2", "USR4", /* 105-109 */
+		"USR3", "P8_33B", "DP_HPD", "M2_UART_CTSn", "M2_UART_RTSn", /* 110-114 */
+		"P9_17B", "P8_35B", "VDD_SD_SEL", "P9_26A", "P9_24A", /* 115-119 */
+		"P9_18B", "CONSOLE_RX", "CONSOLE_TX", "P9_42A", "P9_27B", /* 120-124 */
+		"M2_UART_RX", "M2_UART_TX", "P9_25A"; /* 125-127 */

Can we drop the gpio-line-names description for now?
gpio-line-names: maxItems: 32 in Documentation/devicetree/bindings/gpio/ti,omap-gpio.yaml - that probably should be fixed prior to this else we get the dtbs_check warning around this. The max count actually depends on ti,ngpio - So, I think the schema is probably not accurate here.

Signature · 3 lines
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3  1A34 DDB5 849D 1736 249D
#3 lore raw

Re: [PATCH v5 2/2] arm64: dts: ti: add k3-j721e-beagleboneai64

Thanks Nishanth

Quoted 10 lines · Nishanth Menon

arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts line 217

Quoted 6 lines
arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts +4 -0
 
+
+             led-4 {
+                     gpios = <&main_gpio0 109 GPIO_ACTIVE_HIGH>;
+                     linux,default-trigger = "phy0tx";

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/leds/common.yaml#n82

we'd be Violating the oneOf conditions here.

Removed..

Quoted 13 lines

arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts line 265

Quoted 12 lines
arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts +12 -0
+
+     vdd_mmc1: regulator-3 {
+             compatible = "regulator-fixed";
+             pinctrl-names = "default";
+             pinctrl-0 = <&sd_pwr_en_pins_default>;
+             regulator-name = "vdd_mmc1";
+             regulator-min-microvolt = <3300000>;
+             regulator-max-microvolt = <3300000>;
+             regulator-boot-on;
+             enable-active-high;
+             vin-supply = <&vsys_3v3>;
+             gpios = <&main_gpio0 82 GPIO_ACTIVE_HIGH>;
Quoted 3 lines

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/regulator/fixed-regulator.yaml

s/gpios/gpio ?

cleaned up these old gpios -> gpio references...

Quoted 28 lines
Quoted 17 lines

+&main_gpio0 {

arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts +16 -0
+     gpio-line-names = "", "P9_11", "P9_13", "P8_17", "P8_18", /* 0-4 */
+             "P8_22", "P8_24", "P8_34", "P8_36", "P8_38A", /* 5-9 */
+             "P9_23", "P8_37B", "P9_26B", "P9_24B", "P8_08", /* 10-14 */
+             "P8_07", "P8_10", "P8_09", "P9_42B", "", /* 15-19 */
+             "P8_03", "TYPEC_PWR_ST", "M2_RSTz", "M2_I2C_ALERT#", "P8_35A", /* 20-24 */
+             "P8_33A", "P8_32A", "", "P9_17A", "", /* 25-29 */
+             "P8_21", "P8_23", "P8_31A", "P8_05", "P8_06", /* 30-34 */
+             "P8_25", "M2_W_DISABLE1#", "M2_W_DISABLE2#", "P9_22A (BOOTMODE1)", "P9_21A", /* 35-39 */
+             "P9_18A", "DSI_I2C_SCL", "DSI_I2C_SDA", "P9_28B", "P9_30B", /* 40-44 */
+             "P9_12", "P9_27A", "P9_15", "P8_04 (BOOTMODE2)", "VCC_DP_EN", /* 45-49 */
+             "P9_33B", "P8_26", "P9_31B", "P9_29B", "P9_39B", /* 50-54 */
+             "P9_35B", "P9_36B", "P9_37B", "P9_38B", "P8_12", /* 55-59 */
+             "P8_11 (BOOTMODE7)", "P8_15", "P8_16", "", "", /* 60-64 */
+             "P8_43", "P8_44", "P8_41", "P8_42 (BOOTMODE6)", "P8_39", /* 65-69 */
+             "P8_40", "P8_27", "P8_28", "P8_29", "P8_30", /* 70-74 */
+             "P8_14", "P8_20", "P9_20B", "P9_19B", "P8_45", /* 75-79 */

arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts line 678

Quoted 10 lines
arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts +10 -0
+             "P8_46 (BOOTMODE3)", "P9_40B", "VDD_SD_EN", "CSI_I2C_SCL", "CSI_I2C_SDA", /* 80-84 */
+             "M2_I2S_SCK", "M2_I2S_WS", "M2_I2S_IN", "P8_19", "P8_13", /* 85-89 */
+             "P9_21B", "P9_22B", "M2_I2S_OUT", "P9_14", "P9_16", /* 90-94 */
+             "USR1", "USR0", "USR2", "DSI_GPIO1", "FAN_PWM", /* 95-99 */
+             "FAN_TACH", "CSI1_GPIO1", "CSI0_GPIO2", "CSI0_GPIO1", "P9_25B", /* 100-104 */
+             "P8_38B", "P8_37A", "CSI1_GPIO2", "DSI_GPIO2", "USR4", /* 105-109 */
+             "USR3", "P8_33B", "DP_HPD", "M2_UART_CTSn", "M2_UART_RTSn", /* 110-114 */
+             "P9_17B", "P8_35B", "VDD_SD_SEL", "P9_26A", "P9_24A", /* 115-119 */
+             "P9_18B", "CONSOLE_RX", "CONSOLE_TX", "P9_42A", "P9_27B", /* 120-124 */
+             "M2_UART_RX", "M2_UART_TX", "P9_25A"; /* 125-127 */
Quoted 6 lines

Can we drop the gpio-line-names description for now?
gpio-line-names: maxItems: 32 in Documentation/devicetree/bindings/gpio/ti,omap-gpio.yaml - that probably should be fixed prior to this else we get the dtbs_check warning around this. The max count actually depends on ti,ngpio - So, I think the schema is probably not accurate here.

Removed for now, till we are ready..

Regards,

Signature · 2 lines
Robert Nelson
https://rcn-ee.com/