Skip to contentSkip to conversation

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

PATCH Superseded Robert Nelson 3 participants 5 messages Aug 22, 2022 – Sep 3, 2022

Subsystems (2)

v2 of 6 Superseded Latest is v6 →

lore
Share & tools
lore
#0 lore raw

PATCH v2 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 Rob Herring <[email protected]>
CC Nishanth Menon <[email protected]>
CC Jason Kridner <[email protected]>
CC Drew Fustini <[email protected]>

---
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 61c6ab4f52e2..ff3af46d1dc8 100644
@@ -34,6 +34,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 v2 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, USB HS 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 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   | 1220 +++++++++++++++++
 2 files changed, 1221 insertions(+)
 create mode 100644 arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts
arch/arm64/boot/dts/ti/Makefile +1 -0
index 02e5d80344d0..4c88e87b42a6 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 +1220 -0

1,220 lines not on this page · raw message

Signature · 1 line
2.30.2
#2 lore raw

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

Hi Robert,

Quoted 9 lines · Robert Nelson

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, USB HS Type-A, miniDisplayPort, 2x 4-lane CSI, DSI, 16GB eMMC flash, 1G Ethernet, M.2 E-key for WiFi/BT, and BeagleBone expansion headers.

Thanks for the patch, few comments

Quoted 2 lines

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

s/indentified/identified

Quoted 14 lines
[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]>

---

[...]

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

Quoted 3 lines
arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts new file +3 -0
+	chosen {
+		stdout-path = "serial2:115200n8";
+		bootargs = "console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000";

bootargs are no longer to be part of DT file and to be supplied by bootloader as needed [1]

[1]
https://lore.kernel.org/all/[email protected]/

[...]

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

Quoted 1 line
arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts new file +1 -0
+	evm_12v0: fixedregulator-evm12v0 {

please use generic node name:

		regulator-X  X=1,2,3...
Quoted 83 lines
arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts new file +83 -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: fixedregulator-vsys3v3 {
+		/* 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: fixedregulator-vsys5v0 {
+		/* 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: fixedregulator-sd {
+		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>;
+	};
+
+	vdd_sd_dv_alt: gpio-regulator-TLV71033 {
+		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>;
+	};
+
+	dp_pwr_3v3: fixedregulator-dp-prw {
+		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 */
+		enable-active-high;
+	};
+
+	dp0: connector {
+		compatible = "dp-connector";
+		label = "DP0";
+		type = "full-size";
+		dp-pwr-supply = <&dp_pwr_3v3>;
+
+		port {
+			dp_connector_in: endpoint {
+				remote-endpoint = <&dp0_out>;
+			};
+		};
+	};
+};
+

[...]

Signature · 2 lines
Regards
Vignesh
#3 lore raw

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

In reply to Robert Nelson

Hi,

Quoted 31 lines · Robert Nelson
arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts new file +31 -0
+	main_i2c2_pins_default: main_i2c2_pins_default {
+		pinctrl-single,pins = <
+			J721E_IOPAD(0x208, PIN_INPUT_PULLUP, 4) /* (W5) MCAN0_RX.I2C2_SCL */
+			J721E_IOPAD(0x20c, PIN_INPUT_PULLUP, 4) /* (W6) MCAN0_TX.I2C2_SDA */
+			J721E_IOPAD(0x138, PIN_INPUT, 7) /* (AE25) PRG0_PRU1_GPO14.GPIO0_77 */
+			J721E_IOPAD(0x13c, PIN_INPUT, 7) /* (AF29) PRG0_PRU1_GPO15.GPIO0_78 */
+		>;
+	};
+
+	main_i2c3_pins_default: main-i2c3-pins-default {
+		pinctrl-single,pins = <
+			J721E_IOPAD(0x270, PIN_INPUT_PULLUP, 4) /* (T26) MMC2_CLK.I2C3_SCL */
+			J721E_IOPAD(0x274, PIN_INPUT_PULLUP, 4) /* (T25) MMC2_CMD.I2C3_SDA */
+		>;
+	};
+
+	main_i2c4_pins_default: main_i2c4_pins_default {
+		pinctrl-single,pins = <
+			J721E_IOPAD(0x1e0, PIN_INPUT_PULLUP, 2) /* (Y5) SPI1_D0.I2C4_SCL */
+			J721E_IOPAD(0x1dc, PIN_INPUT_PULLUP, 2) /* (Y1) SPI1_CLK.I2C4_SDA */
+			J721E_IOPAD(0x30, PIN_INPUT, 7) /* (AF24) PRG1_PRU0_GPO11.GPIO0_12 */
+			J721E_IOPAD(0x34, PIN_INPUT, 7) /* (AJ24) PRG1_PRU0_GPO12.GPIO0_13 */
+		>;
+	};
+
+	main_i2c5_pins_default: main-i2c5-pins-default {
+		pinctrl-single,pins = <
+			J721E_IOPAD(0x150, PIN_INPUT_PULLUP, 2) /* (Y26) PRG0_MDIO0_MDIO.I2C5_SCL */
+			J721E_IOPAD(0x154, PIN_INPUT_PULLUP, 2) /* (AA27) PRG0_MDIO0_MDC.I2C5_SDA */
+		>;
+	};

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

Quoted 10 lines
arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts new file +10 -0
+
+	main_i2c6_pins_default: main_i2c6_pins_default {
+		pinctrl-single,pins = <
+			J721E_IOPAD(0x1d0, PIN_INPUT_PULLUP, 2) /* (AA3) SPI0_D1.I2C6_SCL */
+			J721E_IOPAD(0x1e4, PIN_INPUT_PULLUP, 2) /* (Y2) SPI1_D1.I2C6_SDA */
+			J721E_IOPAD(0x74, PIN_INPUT, 7) /* (AC21) PRG1_PRU1_GPO7.GPIO0_28 */
+			J721E_IOPAD(0xa4, PIN_INPUT, 7) /* (AH22) PRG1_PRU1_GPO19.GPIO0_40 */
+		>;
+	};
+

Please address following warnings with make dtbs W=12

+arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts: /bus@100000/pinctrl@11c000/main_i2c2_pins_default: Character '_' not recommended in node name +arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts: /bus@100000/pinctrl@11c000/main_i2c4_pins_default: Character '_' not recommended in node name +arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts: /bus@100000/pinctrl@11c000/main_i2c6_pins_default: Character '_' not recommended in node name

maintainer Acked-by on v2 1/2
#4 lore raw
In reply to Robert Nelson
Quoted 10 lines · Robert Nelson

This board is based on the ti,j721e

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

CC Rob Herring <[email protected]>
CC Nishanth Menon <[email protected]>
CC Jason Kridner <[email protected]>
CC Drew Fustini <[email protected]>
Quoted 8 lines

---
Changes since v1:
- added documenation links
- add board in alphabetical order

---
 Documentation/devicetree/bindings/arm/ti/k3.yaml | 1 +
 1 file changed, 1 insertion(+)