~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/arm64/boot/dts/ti/k3-am62a-phycore-som.dtsi

Version: ~ [ linux-6.11-rc3 ] ~ [ linux-6.10.4 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.45 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.104 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.164 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.223 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.281 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.319 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 // SPDX-License-Identifier: GPL-2.0-only OR MIT
  2 /*
  3  * Copyright (C) 2023 - 2024 PHYTEC America LLC
  4  * Author: Garrett Giordano <ggiordano@phytec.com>
  5  *
  6  * Product homepage:
  7  * https://www.phytec.com/product/phycore-am62a
  8  */
  9 
 10 #include <dt-bindings/gpio/gpio.h>
 11 #include <dt-bindings/leds/common.h>
 12 #include <dt-bindings/net/ti-dp83867.h>
 13 
 14 / {
 15         model = "PHYTEC phyCORE-AM62Ax";
 16         compatible = "phytec,am62a-phycore-som", "ti,am62a7";
 17 
 18         aliases {
 19                 ethernet0 = &cpsw_port1;
 20                 gpio0 = &main_gpio0;
 21                 gpio1 = &main_gpio1;
 22                 i2c0 = &main_i2c0;
 23                 mmc0 = &sdhci0;
 24                 rtc0 = &i2c_som_rtc;
 25                 spi0 = &ospi0;
 26         };
 27 
 28         leds {
 29                 compatible = "gpio-leds";
 30                 pinctrl-names = "default";
 31                 pinctrl-0 = <&leds_pins_default>;
 32 
 33                 led-0 {
 34                         color = <LED_COLOR_ID_GREEN>;
 35                         gpios = <&main_gpio0 13 GPIO_ACTIVE_HIGH>;
 36                         linux,default-trigger = "heartbeat";
 37                         function = LED_FUNCTION_HEARTBEAT;
 38                 };
 39         };
 40 
 41         memory@80000000 {
 42                 device_type = "memory";
 43                 /* 2G RAM */
 44                 reg = <0x00000000 0x80000000 0x00000000 0x80000000>;
 45         };
 46 
 47         reserved-memory {
 48                 #address-cells = <2>;
 49                 #size-cells = <2>;
 50                 ranges;
 51 
 52                 /* global cma region */
 53                 linux,cma {
 54                         compatible = "shared-dma-pool";
 55                         reusable;
 56                         size = <0x00 0x24000000>;
 57                         alloc-ranges = <0x00 0xc0000000 0x00 0x24000000>;
 58                         linux,cma-default;
 59                 };
 60 
 61                 secure_tfa_ddr: tfa@9e780000 {
 62                         reg = <0x00 0x9e780000 0x00 0x80000>;
 63                         alignment = <0x1000>;
 64                         no-map;
 65                 };
 66 
 67                 secure_ddr: optee@9e800000 {
 68                         reg = <0x00 0x9e800000 0x00 0x01800000>; /* for OP-TEE */
 69                         alignment = <0x1000>;
 70                         no-map;
 71                 };
 72 
 73                 wkup_r5fss0_core0_memory_region: r5f-dma-memory@9c900000 {
 74                         compatible = "shared-dma-pool";
 75                         reg = <0x00 0x9c900000 0x00 0x01e00000>;
 76                         no-map;
 77                 };
 78         };
 79 
 80         vcc_5v0_som: regulator-vcc-5v0-som {
 81                 compatible = "regulator-fixed";
 82                 regulator-name = "VCC_5V0_SOM";
 83                 regulator-min-microvolt = <5000000>;
 84                 regulator-max-microvolt = <5000000>;
 85                 regulator-always-on;
 86                 regulator-boot-on;
 87         };
 88 };
 89 
 90 &main_pmx0 {
 91         leds_pins_default: leds-default-pins {
 92                 pinctrl-single,pins = <
 93                         AM62AX_IOPAD(0x034, PIN_OUTPUT, 7) /* (K20) OSPI0_CSN2.GPIO0_13 */
 94                 >;
 95         };
 96 
 97         main_i2c0_pins_default: main-i2c0-default-pins {
 98                 pinctrl-single,pins = <
 99                         AM62AX_IOPAD(0x1e0, PIN_INPUT_PULLUP, 0) /* (D17) I2C0_SCL */
100                         AM62AX_IOPAD(0x1e4, PIN_INPUT_PULLUP, 0) /* (E16) I2C0_SDA */
101                 >;
102         };
103 
104         main_mdio1_pins_default: main-mdio1-default-pins {
105                 pinctrl-single,pins = <
106                         AM62AX_IOPAD(0x160, PIN_OUTPUT, 0) /* (V12) MDIO0_MDC */
107                         AM62AX_IOPAD(0x15c, PIN_INPUT, 0) /* (V13) MDIO0_MDIO */
108                 >;
109         };
110 
111         main_mmc0_pins_default: main-mmc0-default-pins {
112                 pinctrl-single,pins = <
113                         AM62AX_IOPAD(0x220, PIN_INPUT_PULLUP, 0) /* (Y6) MMC0_CMD */
114                         AM62AX_IOPAD(0x218, PIN_INPUT_PULLDOWN, 0) /* (AB7) MMC0_CLK */
115                         AM62AX_IOPAD(0x214, PIN_INPUT_PULLUP, 0) /* (AA6) MMC0_DAT0 */
116                         AM62AX_IOPAD(0x210, PIN_INPUT_PULLUP, 0) /* (AB6) MMC0_DAT1 */
117                         AM62AX_IOPAD(0x20c, PIN_INPUT_PULLUP, 0) /* (Y7) MMC0_DAT2 */
118                         AM62AX_IOPAD(0x208, PIN_INPUT_PULLUP, 0) /* (AA7) MMC0_DAT3 */
119                         AM62AX_IOPAD(0x204, PIN_INPUT_PULLUP, 0) /* (Y8) MMC0_DAT4 */
120                         AM62AX_IOPAD(0x200, PIN_INPUT_PULLUP, 0) /* (W7) MMC0_DAT5 */
121                         AM62AX_IOPAD(0x1fc, PIN_INPUT_PULLUP, 0) /* (W9) MMC0_DAT6 */
122                         AM62AX_IOPAD(0x1f8, PIN_INPUT_PULLUP, 0) /* (AB8) MMC0_DAT7 */
123                 >;
124         };
125 
126         main_rgmii1_pins_default: main-rgmii1-default-pins {
127                 pinctrl-single,pins = <
128                         AM62AX_IOPAD(0x14c, PIN_INPUT, 0) /* (AB16) RGMII1_RD0 */
129                         AM62AX_IOPAD(0x150, PIN_INPUT, 0) /* (V15) RGMII1_RD1 */
130                         AM62AX_IOPAD(0x154, PIN_INPUT, 0) /* (W15) RGMII1_RD2 */
131                         AM62AX_IOPAD(0x158, PIN_INPUT, 0) /* (V14) RGMII1_RD3 */
132                         AM62AX_IOPAD(0x148, PIN_INPUT, 0) /* (AA16) RGMII1_RXC */
133                         AM62AX_IOPAD(0x144, PIN_INPUT, 0) /* (AA15) RGMII1_RX_CTL */
134                         AM62AX_IOPAD(0x134, PIN_OUTPUT, 0) /* (Y17) RGMII1_TD0 */
135                         AM62AX_IOPAD(0x138, PIN_OUTPUT, 0) /* (V16) RGMII1_TD1 */
136                         AM62AX_IOPAD(0x13c, PIN_OUTPUT, 0) /* (Y16) RGMII1_TD2 */
137                         AM62AX_IOPAD(0x140, PIN_OUTPUT, 0) /* (AA17) RGMII1_TD3 */
138                         AM62AX_IOPAD(0x130, PIN_OUTPUT, 0) /* (AB17) RGMII1_TXC */
139                         AM62AX_IOPAD(0x12c, PIN_OUTPUT, 0) /* (W16) RGMII1_TX_CTL */
140                 >;
141         };
142 
143         ospi0_pins_default: ospi0-default-pins {
144                 pinctrl-single,pins = <
145                         AM62AX_IOPAD(0x000, PIN_OUTPUT, 0) /* (L22) OSPI0_CLK */
146                         AM62AX_IOPAD(0x02c, PIN_OUTPUT, 0) /* (H21) OSPI0_CSn0 */
147                         AM62AX_IOPAD(0x038, PIN_OUTPUT, 0) /* (G20) OSPI0_CSn3 */
148                         AM62AX_IOPAD(0x00c, PIN_INPUT, 0) /* (J21) OSPI0_D0 */
149                         AM62AX_IOPAD(0x010, PIN_INPUT, 0) /* (J18) OSPI0_D1 */
150                         AM62AX_IOPAD(0x014, PIN_INPUT, 0) /* (J19) OSPI0_D2 */
151                         AM62AX_IOPAD(0x018, PIN_INPUT, 0) /* (H18) OSPI0_D3 */
152                         AM62AX_IOPAD(0x01c, PIN_INPUT, 0) /* (K21) OSPI0_D4 */
153                         AM62AX_IOPAD(0x020, PIN_INPUT, 0) /* (H19) OSPI0_D5 */
154                         AM62AX_IOPAD(0x024, PIN_INPUT, 0) /* (J20) OSPI0_D6 */
155                         AM62AX_IOPAD(0x028, PIN_INPUT, 0) /* (J22) OSPI0_D7 */
156                         AM62AX_IOPAD(0x008, PIN_INPUT, 0) /* (L21) OSPI0_DQS */
157                 >;
158         };
159 
160         pmic_irq_pins_default: pmic-irq-default-pins {
161                 pinctrl-single,pins = <
162                         AM62AX_IOPAD(0x1f4, PIN_INPUT, 0) /* (D16) EXTINTn */
163                 >;
164         };
165 };
166 
167 &cpsw3g {
168         status = "okay";
169         pinctrl-names = "default";
170         pinctrl-0 = <&main_rgmii1_pins_default>;
171 };
172 
173 &cpsw_port1 {
174         phy-mode = "rgmii-rxid";
175         phy-handle = <&cpsw3g_phy1>;
176 };
177 
178 &cpsw3g_mdio {
179         pinctrl-names = "default";
180         pinctrl-0 = <&main_mdio1_pins_default>;
181 
182         cpsw3g_phy1: ethernet-phy@1 {
183                 compatible = "ethernet-phy-id2000.a231", "ethernet-phy-ieee802.3-c22";
184                 reg = <1>;
185                 ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
186                 ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
187                 ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
188         };
189 };
190 
191 &fss {
192         status = "okay";
193 };
194 
195 &main_i2c0 {
196         pinctrl-names = "default";
197         pinctrl-0 = <&main_i2c0_pins_default>;
198         clock-frequency = <400000>;
199         status = "okay";
200 
201         pmic@30 {
202                 compatible = "ti,tps65219";
203                 reg = <0x30>;
204                 buck1-supply = <&vcc_5v0_som>;
205                 buck2-supply = <&vcc_5v0_som>;
206                 buck3-supply = <&vcc_5v0_som>;
207                 ldo1-supply = <&vdd_3v3>;
208                 ldo2-supply = <&vdd_1v8>;
209                 ldo3-supply = <&vcc_5v0_som>;
210                 ldo4-supply = <&vcc_5v0_som>;
211 
212                 pinctrl-names = "default";
213                 pinctrl-0 = <&pmic_irq_pins_default>;
214                 interrupt-parent = <&gic500>;
215                 interrupts = <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>;
216                 interrupt-controller;
217                 #interrupt-cells = <1>;
218                 ti,power-button;
219                 system-power-controller;
220 
221                 regulators {
222                         vdd_3v3: buck1 {
223                                 regulator-name = "VDD_3V3";
224                                 regulator-min-microvolt = <3300000>;
225                                 regulator-max-microvolt = <3300000>;
226                                 regulator-boot-on;
227                                 regulator-always-on;
228                         };
229 
230                         vdd_1v8: buck2 {
231                                 regulator-name = "VDD_1V8";
232                                 regulator-min-microvolt = <1800000>;
233                                 regulator-max-microvolt = <1800000>;
234                                 regulator-boot-on;
235                                 regulator-always-on;
236                         };
237 
238                         vdd_lpddr4: buck3 {
239                                 regulator-name = "VDD_LPDDR4";
240                                 regulator-min-microvolt = <1100000>;
241                                 regulator-max-microvolt = <1100000>;
242                                 regulator-boot-on;
243                                 regulator-always-on;
244                         };
245 
246                         vddshv5_sdio: ldo1 {
247                                 regulator-name = "VDDSHV5_SDIO";
248                                 regulator-min-microvolt = <3300000>;
249                                 regulator-max-microvolt = <3300000>;
250                                 regulator-allow-bypass;
251                                 regulator-boot-on;
252                                 regulator-always-on;
253                         };
254 
255                         vddr_core: ldo2 {
256                                 regulator-name = "VDDR_CORE";
257                                 regulator-min-microvolt = <850000>;
258                                 regulator-max-microvolt = <850000>;
259                                 regulator-boot-on;
260                                 regulator-always-on;
261                         };
262 
263                         vdda_1v8: ldo3 {
264                                 regulator-name = "VDDA_1V8";
265                                 regulator-min-microvolt = <1800000>;
266                                 regulator-max-microvolt = <1800000>;
267                                 regulator-boot-on;
268                                 regulator-always-on;
269                         };
270 
271                         vdd_2v5: ldo4 {
272                                 regulator-name = "VDD_2V5";
273                                 regulator-min-microvolt = <2500000>;
274                                 regulator-max-microvolt = <2500000>;
275                                 regulator-boot-on;
276                                 regulator-always-on;
277                         };
278                 };
279         };
280 
281         eeprom@50 {
282                 compatible = "atmel,24c32";
283                 pagesize = <32>;
284                 reg = <0x50>;
285         };
286 
287         i2c_som_rtc: rtc@52 {
288                 compatible = "microcrystal,rv3028";
289                 reg = <0x52>;
290         };
291 };
292 
293 &main_gpio0 {
294         status = "okay";
295 };
296 
297 &main_gpio1 {
298         status = "okay";
299 };
300 
301 &main_gpio_intr {
302         status = "okay";
303 };
304 
305 &ospi0 {
306         pinctrl-names = "default";
307         pinctrl-0 = <&ospi0_pins_default>;
308         status = "okay";
309 
310         serial_flash: flash@0 {
311                 compatible = "jedec,spi-nor";
312                 reg = <0x0>;
313                 spi-tx-bus-width = <8>;
314                 spi-rx-bus-width = <8>;
315                 spi-max-frequency = <25000000>;
316                 cdns,tshsl-ns = <60>;
317                 cdns,tsd2d-ns = <60>;
318                 cdns,tchsh-ns = <60>;
319                 cdns,tslch-ns = <60>;
320                 cdns,read-delay = <0>;
321         };
322 };
323 
324 &sdhci0 {
325         pinctrl-names = "default";
326         pinctrl-0 = <&main_mmc0_pins_default>;
327         disable-wp;
328         non-removable;
329         status = "okay";
330 };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php