Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

arm64: dts: ti: Add support for TI J722S Evaluation Module

Add basic support for the J722S EVM with UART console and
MMC SD as rootfs.

Schematics are available at:
https://www.ti.com/lit/zip/sprr495

Co-developed-by: Jayesh Choudhary <j-choudhary@ti.com>
Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
Signed-off-by: Vaishnav Achath <vaishnav.a@ti.com>
Reviewed-by: Manorit Chawdhry <m-chawdhry@ti.com>
Link: https://lore.kernel.org/r/20240206100608.127702-4-vaishnav.a@ti.com
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>

authored by

Vaishnav Achath and committed by
Vignesh Raghavendra
2f277dbe ea55b933

+254
+3
arch/arm64/boot/dts/ti/Makefile
··· 85 85 dtb-$(CONFIG_ARCH_K3) += k3-j721s2-evm.dtb 86 86 dtb-$(CONFIG_ARCH_K3) += k3-j721s2-evm-pcie1-ep.dtbo 87 87 88 + # Boards with J722s SoC 89 + dtb-$(CONFIG_ARCH_K3) += k3-j722s-evm.dtb 90 + 88 91 # Boards with J784s4 SoC 89 92 dtb-$(CONFIG_ARCH_K3) += k3-am69-sk.dtb 90 93 dtb-$(CONFIG_ARCH_K3) += k3-j784s4-evm.dtb
+251
arch/arm64/boot/dts/ti/k3-j722s-evm.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0-only OR MIT 2 + /* 3 + * Device Tree file for the J722S EVM 4 + * Copyright (C) 2024 Texas Instruments Incorporated - https://www.ti.com/ 5 + * 6 + * Schematics: https://www.ti.com/lit/zip/sprr495 7 + */ 8 + 9 + /dts-v1/; 10 + 11 + #include "k3-j722s.dtsi" 12 + 13 + / { 14 + compatible = "ti,j722s-evm", "ti,j722s"; 15 + model = "Texas Instruments J722S EVM"; 16 + 17 + aliases { 18 + serial0 = &wkup_uart0; 19 + serial2 = &main_uart0; 20 + mmc0 = &sdhci0; 21 + mmc1 = &sdhci1; 22 + }; 23 + 24 + chosen { 25 + stdout-path = &main_uart0; 26 + }; 27 + 28 + memory@80000000 { 29 + /* 8G RAM */ 30 + reg = <0x00000000 0x80000000 0x00000000 0x80000000>, 31 + <0x00000008 0x80000000 0x00000001 0x80000000>; 32 + device_type = "memory"; 33 + bootph-pre-ram; 34 + }; 35 + 36 + reserved_memory: reserved-memory { 37 + #address-cells = <2>; 38 + #size-cells = <2>; 39 + ranges; 40 + 41 + secure_tfa_ddr: tfa@9e780000 { 42 + reg = <0x00 0x9e780000 0x00 0x80000>; 43 + no-map; 44 + }; 45 + 46 + secure_ddr: optee@9e800000 { 47 + reg = <0x00 0x9e800000 0x00 0x01800000>; 48 + no-map; 49 + }; 50 + 51 + wkup_r5fss0_core0_memory_region: r5f-memory@a0100000 { 52 + compatible = "shared-dma-pool"; 53 + reg = <0x00 0xa0100000 0x00 0xf00000>; 54 + no-map; 55 + }; 56 + 57 + }; 58 + 59 + vmain_pd: regulator-0 { 60 + /* TPS65988 PD CONTROLLER OUTPUT */ 61 + compatible = "regulator-fixed"; 62 + regulator-name = "vmain_pd"; 63 + regulator-min-microvolt = <5000000>; 64 + regulator-max-microvolt = <5000000>; 65 + regulator-always-on; 66 + regulator-boot-on; 67 + bootph-all; 68 + }; 69 + 70 + vsys_5v0: regulator-vsys5v0 { 71 + /* Output of LM5140 */ 72 + compatible = "regulator-fixed"; 73 + regulator-name = "vsys_5v0"; 74 + regulator-min-microvolt = <5000000>; 75 + regulator-max-microvolt = <5000000>; 76 + vin-supply = <&vmain_pd>; 77 + regulator-always-on; 78 + regulator-boot-on; 79 + }; 80 + 81 + vdd_mmc1: regulator-mmc1 { 82 + /* TPS22918DBVR */ 83 + compatible = "regulator-fixed"; 84 + regulator-name = "vdd_mmc1"; 85 + regulator-min-microvolt = <3300000>; 86 + regulator-max-microvolt = <3300000>; 87 + regulator-boot-on; 88 + enable-active-high; 89 + gpio = <&exp1 15 GPIO_ACTIVE_HIGH>; 90 + bootph-all; 91 + }; 92 + 93 + vdd_sd_dv: regulator-TLV71033 { 94 + compatible = "regulator-gpio"; 95 + regulator-name = "tlv71033"; 96 + pinctrl-names = "default"; 97 + pinctrl-0 = <&vdd_sd_dv_pins_default>; 98 + regulator-min-microvolt = <1800000>; 99 + regulator-max-microvolt = <3300000>; 100 + regulator-boot-on; 101 + vin-supply = <&vsys_5v0>; 102 + gpios = <&main_gpio0 70 GPIO_ACTIVE_HIGH>; 103 + states = <1800000 0x0>, 104 + <3300000 0x1>; 105 + }; 106 + 107 + vsys_io_1v8: regulator-vsys-io-1v8 { 108 + compatible = "regulator-fixed"; 109 + regulator-name = "vsys_io_1v8"; 110 + regulator-min-microvolt = <1800000>; 111 + regulator-max-microvolt = <1800000>; 112 + regulator-always-on; 113 + regulator-boot-on; 114 + }; 115 + 116 + vsys_io_1v2: regulator-vsys-io-1v2 { 117 + compatible = "regulator-fixed"; 118 + regulator-name = "vsys_io_1v2"; 119 + regulator-min-microvolt = <1200000>; 120 + regulator-max-microvolt = <1200000>; 121 + regulator-always-on; 122 + regulator-boot-on; 123 + }; 124 + }; 125 + 126 + &main_pmx0 { 127 + 128 + main_i2c0_pins_default: main-i2c0-default-pins { 129 + pinctrl-single,pins = < 130 + J722S_IOPAD(0x01e0, PIN_INPUT_PULLUP, 0) /* (D23) I2C0_SCL */ 131 + J722S_IOPAD(0x01e4, PIN_INPUT_PULLUP, 0) /* (B22) I2C0_SDA */ 132 + >; 133 + bootph-all; 134 + }; 135 + 136 + main_uart0_pins_default: main-uart0-default-pins { 137 + pinctrl-single,pins = < 138 + J722S_IOPAD(0x01c8, PIN_INPUT, 0) /* (A22) UART0_RXD */ 139 + J722S_IOPAD(0x01cc, PIN_OUTPUT, 0) /* (B22) UART0_TXD */ 140 + >; 141 + bootph-all; 142 + }; 143 + 144 + vdd_sd_dv_pins_default: vdd-sd-dv-default-pins { 145 + pinctrl-single,pins = < 146 + J722S_IOPAD(0x0120, PIN_INPUT, 7) /* (F27) MMC2_CMD.GPIO0_70 */ 147 + >; 148 + bootph-all; 149 + }; 150 + 151 + main_mmc1_pins_default: main-mmc1-default-pins { 152 + pinctrl-single,pins = < 153 + J722S_IOPAD(0x023c, PIN_INPUT, 0) /* (H22) MMC1_CMD */ 154 + J722S_IOPAD(0x0234, PIN_OUTPUT, 0) /* (H24) MMC1_CLK */ 155 + J722S_IOPAD(0x0230, PIN_INPUT, 0) /* (H23) MMC1_DAT0 */ 156 + J722S_IOPAD(0x022c, PIN_INPUT_PULLUP, 0) /* (H20) MMC1_DAT1 */ 157 + J722S_IOPAD(0x0228, PIN_INPUT_PULLUP, 0) /* (J23) MMC1_DAT2 */ 158 + J722S_IOPAD(0x0224, PIN_INPUT_PULLUP, 0) /* (H25) MMC1_DAT3 */ 159 + J722S_IOPAD(0x0240, PIN_INPUT, 0) /* (B24) MMC1_SDCD */ 160 + >; 161 + bootph-all; 162 + }; 163 + }; 164 + 165 + &main_gpio1 { 166 + status = "okay"; 167 + }; 168 + 169 + &main_uart0 { 170 + pinctrl-names = "default"; 171 + pinctrl-0 = <&main_uart0_pins_default>; 172 + status = "okay"; 173 + bootph-all; 174 + }; 175 + 176 + &mcu_pmx0 { 177 + 178 + wkup_uart0_pins_default: wkup-uart0-default-pins { 179 + pinctrl-single,pins = < 180 + J722S_MCU_IOPAD(0x02c, PIN_INPUT, 0) /* (C7) WKUP_UART0_CTSn */ 181 + J722S_MCU_IOPAD(0x030, PIN_OUTPUT, 0) /* (C6) WKUP_UART0_RTSn */ 182 + J722S_MCU_IOPAD(0x024, PIN_INPUT, 0) /* (D8) WKUP_UART0_RXD */ 183 + J722S_MCU_IOPAD(0x028, PIN_OUTPUT, 0) /* (D7) WKUP_UART0_TXD */ 184 + >; 185 + bootph-all; 186 + }; 187 + 188 + wkup_i2c0_pins_default: wkup-i2c0-default-pins { 189 + pinctrl-single,pins = < 190 + J722S_MCU_IOPAD(0x04c, PIN_INPUT_PULLUP, 0) /* (C7) WKUP_I2C0_SCL */ 191 + J722S_MCU_IOPAD(0x050, PIN_INPUT_PULLUP, 0) /* (C6) WKUP_I2C1_SDA */ 192 + >; 193 + bootph-all; 194 + }; 195 + }; 196 + 197 + &wkup_uart0 { 198 + /* WKUP UART0 is used by Device Manager firmware */ 199 + pinctrl-names = "default"; 200 + pinctrl-0 = <&wkup_uart0_pins_default>; 201 + status = "reserved"; 202 + bootph-all; 203 + }; 204 + 205 + &wkup_i2c0 { 206 + pinctrl-names = "default"; 207 + pinctrl-0 = <&wkup_i2c0_pins_default>; 208 + clock-frequency = <400000>; 209 + status = "okay"; 210 + bootph-all; 211 + }; 212 + 213 + &main_i2c0 { 214 + pinctrl-names = "default"; 215 + pinctrl-0 = <&main_i2c0_pins_default>; 216 + clock-frequency = <400000>; 217 + status = "okay"; 218 + bootph-all; 219 + 220 + exp1: gpio@23 { 221 + compatible = "ti,tca6424"; 222 + reg = <0x23>; 223 + gpio-controller; 224 + #gpio-cells = <2>; 225 + gpio-line-names = "TRC_MUX_SEL", "OSPI/ONAND_MUX_SEL", 226 + "MCASP1_FET_SEL", "CTRL_PM_I2C_OE#", 227 + "CSI_VIO_SEL", "USB2.0_MUX_SEL", 228 + "CSI01_MUX_SEL_2", "CSI23_MUX_SEL_2", 229 + "LMK1_OE1", "LMK1_OE0", 230 + "LMK2_OE0", "LMK2_OE1", 231 + "GPIO_RGMII1_RST#", "GPIO_AUD_RSTn", 232 + "GPIO_eMMC_RSTn", "GPIO_uSD_PWR_EN", 233 + "USER_LED2", "MCAN0_STB", 234 + "PCIe0_1L_RC_RSTz", "PCIe0_1L_PRSNT#", 235 + "ENET1_EXP_SPARE2", "ENET1_EXP_PWRDN", 236 + "PD_I2ENET1_I2CMUX_SELC_IRQ", "ENET1_EXP_RESETZ"; 237 + }; 238 + }; 239 + 240 + &sdhci1 { 241 + /* SD/MMC */ 242 + vmmc-supply = <&vdd_mmc1>; 243 + vqmmc-supply = <&vdd_sd_dv>; 244 + pinctrl-names = "default"; 245 + pinctrl-0 = <&main_mmc1_pins_default>; 246 + ti,driver-strength-ohm = <50>; 247 + disable-wp; 248 + no-1-8-v; 249 + status = "okay"; 250 + bootph-all; 251 + };