Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0
0002 /*
0003  * AM625 SK: https://www.ti.com/lit/zip/sprr448
0004  *
0005  * Copyright (C) 2021-2022 Texas Instruments Incorporated - https://www.ti.com/
0006  */
0007 
0008 /dts-v1/;
0009 
0010 #include <dt-bindings/leds/common.h>
0011 #include <dt-bindings/gpio/gpio.h>
0012 #include <dt-bindings/net/ti-dp83867.h>
0013 #include "k3-am625.dtsi"
0014 
0015 / {
0016         compatible = "ti,am625-sk", "ti,am625";
0017         model = "Texas Instruments AM625 SK";
0018 
0019         aliases {
0020                 serial2 = &main_uart0;
0021                 mmc0 = &sdhci0;
0022                 mmc1 = &sdhci1;
0023                 mmc2 = &sdhci2;
0024                 spi0 = &ospi0;
0025                 ethernet0 = &cpsw_port1;
0026                 ethernet1 = &cpsw_port2;
0027         };
0028 
0029         chosen {
0030                 stdout-path = "serial2:115200n8";
0031                 bootargs = "console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000";
0032         };
0033 
0034         memory@80000000 {
0035                 device_type = "memory";
0036                 /* 2G RAM */
0037                 reg = <0x00000000 0x80000000 0x00000000 0x80000000>;
0038 
0039         };
0040 
0041         reserved-memory {
0042                 #address-cells = <2>;
0043                 #size-cells = <2>;
0044                 ranges;
0045 
0046                 ramoops@9ca00000 {
0047                         compatible = "ramoops";
0048                         reg = <0x00 0x9ca00000 0x00 0x00100000>;
0049                         record-size = <0x8000>;
0050                         console-size = <0x8000>;
0051                         ftrace-size = <0x00>;
0052                         pmsg-size = <0x8000>;
0053                 };
0054 
0055                 secure_tfa_ddr: tfa@9e780000 {
0056                         reg = <0x00 0x9e780000 0x00 0x80000>;
0057                         alignment = <0x1000>;
0058                         no-map;
0059                 };
0060 
0061                 secure_ddr: optee@9e800000 {
0062                         reg = <0x00 0x9e800000 0x00 0x01800000>; /* for OP-TEE */
0063                         alignment = <0x1000>;
0064                         no-map;
0065                 };
0066 
0067                 wkup_r5fss0_core0_dma_memory_region: r5f-dma-memory@9db00000 {
0068                         compatible = "shared-dma-pool";
0069                         reg = <0x00 0x9db00000 0x00 0xc00000>;
0070                         no-map;
0071                 };
0072         };
0073 
0074         vmain_pd: regulator-0 {
0075                 /* TPS65988 PD CONTROLLER OUTPUT */
0076                 compatible = "regulator-fixed";
0077                 regulator-name = "vmain_pd";
0078                 regulator-min-microvolt = <5000000>;
0079                 regulator-max-microvolt = <5000000>;
0080                 regulator-always-on;
0081                 regulator-boot-on;
0082         };
0083 
0084         vcc_5v0: regulator-1 {
0085                 /* Output of LM34936 */
0086                 compatible = "regulator-fixed";
0087                 regulator-name = "vcc_5v0";
0088                 regulator-min-microvolt = <5000000>;
0089                 regulator-max-microvolt = <5000000>;
0090                 vin-supply = <&vmain_pd>;
0091                 regulator-always-on;
0092                 regulator-boot-on;
0093         };
0094 
0095         vcc_3v3_sys: regulator-2 {
0096                 /* output of LM61460-Q1 */
0097                 compatible = "regulator-fixed";
0098                 regulator-name = "vcc_3v3_sys";
0099                 regulator-min-microvolt = <3300000>;
0100                 regulator-max-microvolt = <3300000>;
0101                 vin-supply = <&vmain_pd>;
0102                 regulator-always-on;
0103                 regulator-boot-on;
0104         };
0105 
0106         vdd_mmc1: regulator-3 {
0107                 /* TPS22918DBVR */
0108                 compatible = "regulator-fixed";
0109                 regulator-name = "vdd_mmc1";
0110                 regulator-min-microvolt = <3300000>;
0111                 regulator-max-microvolt = <3300000>;
0112                 regulator-boot-on;
0113                 enable-active-high;
0114                 vin-supply = <&vcc_3v3_sys>;
0115                 gpio = <&exp1 3 GPIO_ACTIVE_HIGH>;
0116         };
0117 
0118         vdd_sd_dv: regulator-4 {
0119                 /* Output of TLV71033 */
0120                 compatible = "regulator-gpio";
0121                 regulator-name = "tlv71033";
0122                 pinctrl-names = "default";
0123                 pinctrl-0 = <&vdd_sd_dv_pins_default>;
0124                 regulator-min-microvolt = <1800000>;
0125                 regulator-max-microvolt = <3300000>;
0126                 regulator-boot-on;
0127                 vin-supply = <&vcc_5v0>;
0128                 gpios = <&main_gpio0 31 GPIO_ACTIVE_HIGH>;
0129                 states = <1800000 0x0>,
0130                          <3300000 0x1>;
0131         };
0132 
0133         leds {
0134                 compatible = "gpio-leds";
0135                 pinctrl-names = "default";
0136                 pinctrl-0 = <&usr_led_pins_default>;
0137 
0138                 led-0 {
0139                         label = "am62-sk:green:heartbeat";
0140                         gpios = <&main_gpio1 49 GPIO_ACTIVE_HIGH>;
0141                         linux,default-trigger = "heartbeat";
0142                         function = LED_FUNCTION_HEARTBEAT;
0143                         default-state = "off";
0144                 };
0145         };
0146 };
0147 
0148 &main_pmx0 {
0149         main_uart0_pins_default: main-uart0-pins-default {
0150                 pinctrl-single,pins = <
0151                         AM62X_IOPAD(0x1c8, PIN_INPUT, 0) /* (D14) UART0_RXD */
0152                         AM62X_IOPAD(0x1cc, PIN_OUTPUT, 0) /* (E14) UART0_TXD */
0153                 >;
0154         };
0155 
0156         main_i2c0_pins_default: main-i2c0-pins-default {
0157                 pinctrl-single,pins = <
0158                         AM62X_IOPAD(0x1e0, PIN_INPUT_PULLUP, 0) /* (B16) I2C0_SCL */
0159                         AM62X_IOPAD(0x1e4, PIN_INPUT_PULLUP, 0) /* (A16) I2C0_SDA */
0160                 >;
0161         };
0162 
0163         main_i2c1_pins_default: main-i2c1-pins-default {
0164                 pinctrl-single,pins = <
0165                         AM62X_IOPAD(0x1e8, PIN_INPUT_PULLUP, 0) /* (B17) I2C1_SCL */
0166                         AM62X_IOPAD(0x1ec, PIN_INPUT_PULLUP, 0) /* (A17) I2C1_SDA */
0167                 >;
0168         };
0169 
0170         main_i2c2_pins_default: main-i2c2-pins-default {
0171                 pinctrl-single,pins = <
0172                         AM62X_IOPAD(0x0b0, PIN_INPUT_PULLUP, 1) /* (K22) GPMC0_CSn2.I2C2_SCL */
0173                         AM62X_IOPAD(0x0b4, PIN_INPUT_PULLUP, 1) /* (K24) GPMC0_CSn3.I2C2_SDA */
0174                 >;
0175         };
0176 
0177         main_mmc0_pins_default: main-mmc0-pins-default {
0178                 pinctrl-single,pins = <
0179                         AM62X_IOPAD(0x220, PIN_INPUT, 0) /* (Y3) MMC0_CMD */
0180                         AM62X_IOPAD(0x218, PIN_INPUT, 0) /* (AB1) MMC0_CLK */
0181                         AM62X_IOPAD(0x214, PIN_INPUT, 0) /* (AA2) MMC0_DAT0 */
0182                         AM62X_IOPAD(0x210, PIN_INPUT, 0) /* (AA1) MMC0_DAT1 */
0183                         AM62X_IOPAD(0x20c, PIN_INPUT, 0) /* (AA3) MMC0_DAT2 */
0184                         AM62X_IOPAD(0x208, PIN_INPUT, 0) /* (Y4) MMC0_DAT3 */
0185                         AM62X_IOPAD(0x204, PIN_INPUT, 0) /* (AB2) MMC0_DAT4 */
0186                         AM62X_IOPAD(0x200, PIN_INPUT, 0) /* (AC1) MMC0_DAT5 */
0187                         AM62X_IOPAD(0x1fc, PIN_INPUT, 0) /* (AD2) MMC0_DAT6 */
0188                         AM62X_IOPAD(0x1f8, PIN_INPUT, 0) /* (AC2) MMC0_DAT7 */
0189                 >;
0190         };
0191 
0192         main_mmc1_pins_default: main-mmc1-pins-default {
0193                 pinctrl-single,pins = <
0194                         AM62X_IOPAD(0x23c, PIN_INPUT, 0) /* (A21) MMC1_CMD */
0195                         AM62X_IOPAD(0x234, PIN_INPUT, 0) /* (B22) MMC1_CLK */
0196                         AM62X_IOPAD(0x230, PIN_INPUT, 0) /* (A22) MMC1_DAT0 */
0197                         AM62X_IOPAD(0x22c, PIN_INPUT, 0) /* (B21) MMC1_DAT1 */
0198                         AM62X_IOPAD(0x228, PIN_INPUT, 0) /* (C21) MMC1_DAT2 */
0199                         AM62X_IOPAD(0x224, PIN_INPUT, 0) /* (D22) MMC1_DAT3 */
0200                         AM62X_IOPAD(0x240, PIN_INPUT, 0) /* (D17) MMC1_SDCD */
0201                 >;
0202         };
0203 
0204         usr_led_pins_default: usr-led-pins-default {
0205                 pinctrl-single,pins = <
0206                         AM62X_IOPAD(0x244, PIN_OUTPUT, 7) /* (C17) MMC1_SDWP.GPIO1_49 */
0207                 >;
0208         };
0209 
0210         main_mdio1_pins_default: main-mdio1-pins-default {
0211                 pinctrl-single,pins = <
0212                         AM62X_IOPAD(0x160, PIN_OUTPUT, 0) /* (AD24) MDIO0_MDC */
0213                         AM62X_IOPAD(0x15c, PIN_INPUT, 0) /* (AB22) MDIO0_MDIO */
0214                 >;
0215         };
0216 
0217         main_rgmii1_pins_default: main-rgmii1-pins-default {
0218                 pinctrl-single,pins = <
0219                         AM62X_IOPAD(0x14c, PIN_INPUT, 0) /* (AB17) RGMII1_RD0 */
0220                         AM62X_IOPAD(0x150, PIN_INPUT, 0) /* (AC17) RGMII1_RD1 */
0221                         AM62X_IOPAD(0x154, PIN_INPUT, 0) /* (AB16) RGMII1_RD2 */
0222                         AM62X_IOPAD(0x158, PIN_INPUT, 0) /* (AA15) RGMII1_RD3 */
0223                         AM62X_IOPAD(0x148, PIN_INPUT, 0) /* (AD17) RGMII1_RXC */
0224                         AM62X_IOPAD(0x144, PIN_INPUT, 0) /* (AE17) RGMII1_RX_CTL */
0225                         AM62X_IOPAD(0x134, PIN_OUTPUT, 0) /* (AE20) RGMII1_TD0 */
0226                         AM62X_IOPAD(0x138, PIN_OUTPUT, 0) /* (AD20) RGMII1_TD1 */
0227                         AM62X_IOPAD(0x13c, PIN_OUTPUT, 0) /* (AE18) RGMII1_TD2 */
0228                         AM62X_IOPAD(0x140, PIN_OUTPUT, 0) /* (AD18) RGMII1_TD3 */
0229                         AM62X_IOPAD(0x130, PIN_OUTPUT, 0) /* (AE19) RGMII1_TXC */
0230                         AM62X_IOPAD(0x12c, PIN_OUTPUT, 0) /* (AD19) RGMII1_TX_CTL */
0231                 >;
0232         };
0233 
0234         main_rgmii2_pins_default: main-rgmii2-pins-default {
0235                 pinctrl-single,pins = <
0236                         AM62X_IOPAD(0x184, PIN_INPUT, 0) /* (AE23) RGMII2_RD0 */
0237                         AM62X_IOPAD(0x188, PIN_INPUT, 0) /* (AB20) RGMII2_RD1 */
0238                         AM62X_IOPAD(0x18c, PIN_INPUT, 0) /* (AC21) RGMII2_RD2 */
0239                         AM62X_IOPAD(0x190, PIN_INPUT, 0) /* (AE22) RGMII2_RD3 */
0240                         AM62X_IOPAD(0x180, PIN_INPUT, 0) /* (AD23) RGMII2_RXC */
0241                         AM62X_IOPAD(0x17c, PIN_INPUT, 0) /* (AD22) RGMII2_RX_CTL */
0242                         AM62X_IOPAD(0x16c, PIN_OUTPUT, 0) /* (Y18) RGMII2_TD0 */
0243                         AM62X_IOPAD(0x170, PIN_OUTPUT, 0) /* (AA18) RGMII2_TD1 */
0244                         AM62X_IOPAD(0x174, PIN_OUTPUT, 0) /* (AD21) RGMII2_TD2 */
0245                         AM62X_IOPAD(0x178, PIN_OUTPUT, 0) /* (AC20) RGMII2_TD3 */
0246                         AM62X_IOPAD(0x168, PIN_OUTPUT, 0) /* (AE21) RGMII2_TXC */
0247                         AM62X_IOPAD(0x164, PIN_OUTPUT, 0) /* (AA19) RGMII2_TX_CTL */
0248                 >;
0249         };
0250 
0251         ospi0_pins_default: ospi0-pins-default {
0252                 pinctrl-single,pins = <
0253                         AM62X_IOPAD(0x000, PIN_OUTPUT, 0) /* (H24) OSPI0_CLK */
0254                         AM62X_IOPAD(0x02c, PIN_OUTPUT, 0) /* (F23) OSPI0_CSn0 */
0255                         AM62X_IOPAD(0x00c, PIN_INPUT, 0) /* (E25) OSPI0_D0 */
0256                         AM62X_IOPAD(0x010, PIN_INPUT, 0) /* (G24) OSPI0_D1 */
0257                         AM62X_IOPAD(0x014, PIN_INPUT, 0) /* (F25) OSPI0_D2 */
0258                         AM62X_IOPAD(0x018, PIN_INPUT, 0) /* (F24) OSPI0_D3 */
0259                         AM62X_IOPAD(0x01c, PIN_INPUT, 0) /* (J23) OSPI0_D4 */
0260                         AM62X_IOPAD(0x020, PIN_INPUT, 0) /* (J25) OSPI0_D5 */
0261                         AM62X_IOPAD(0x024, PIN_INPUT, 0) /* (H25) OSPI0_D6 */
0262                         AM62X_IOPAD(0x028, PIN_INPUT, 0) /* (J22) OSPI0_D7 */
0263                         AM62X_IOPAD(0x008, PIN_INPUT, 0) /* (J24) OSPI0_DQS */
0264                 >;
0265         };
0266 
0267         vdd_sd_dv_pins_default: vdd-sd-dv-pins-default {
0268                 pinctrl-single,pins = <
0269                         AM62X_IOPAD(0x07c, PIN_OUTPUT, 7) /* (P25) GPMC0_CLK.GPIO0_31 */
0270                 >;
0271         };
0272 
0273         main_gpio1_ioexp_intr_pins_default: main-gpio1-ioexp-intr-pins-default {
0274                 pinctrl-single,pins = <
0275                         AM62X_IOPAD(0x01d4, PIN_INPUT, 7) /* (B15) UART0_RTSn.GPIO1_23 */
0276                 >;
0277         };
0278 };
0279 
0280 &wkup_uart0 {
0281         /* WKUP UART0 is used by DM firmware */
0282         status = "reserved";
0283 };
0284 
0285 &mcu_uart0 {
0286         status = "disabled";
0287 };
0288 
0289 &main_uart0 {
0290         pinctrl-names = "default";
0291         pinctrl-0 = <&main_uart0_pins_default>;
0292 };
0293 
0294 &main_uart1 {
0295         /* Main UART1 is used by TIFS firmware */
0296         status = "reserved";
0297 };
0298 
0299 &main_uart2 {
0300         status = "disabled";
0301 };
0302 
0303 &main_uart3 {
0304         status = "disabled";
0305 };
0306 
0307 &main_uart4 {
0308         status = "disabled";
0309 };
0310 
0311 &main_uart5 {
0312         status = "disabled";
0313 };
0314 
0315 &main_uart6 {
0316         status = "disabled";
0317 };
0318 
0319 &mcu_i2c0 {
0320         status = "disabled";
0321 };
0322 
0323 &wkup_i2c0 {
0324         status = "disabled";
0325 };
0326 
0327 &main_i2c0 {
0328         pinctrl-names = "default";
0329         pinctrl-0 = <&main_i2c0_pins_default>;
0330         clock-frequency = <400000>;
0331 };
0332 
0333 &main_i2c1 {
0334         pinctrl-names = "default";
0335         pinctrl-0 = <&main_i2c1_pins_default>;
0336         clock-frequency = <400000>;
0337 
0338         exp1: gpio@22 {
0339                 compatible = "ti,tca6424";
0340                 reg = <0x22>;
0341                 gpio-controller;
0342                 #gpio-cells = <2>;
0343                 gpio-line-names = "GPIO_CPSW2_RST", "GPIO_CPSW1_RST",
0344                                    "PRU_DETECT", "MMC1_SD_EN",
0345                                    "VPP_LDO_EN", "EXP_PS_3V3_En",
0346                                    "EXP_PS_5V0_En", "EXP_HAT_DETECT",
0347                                    "GPIO_AUD_RSTn", "GPIO_eMMC_RSTn",
0348                                    "UART1_FET_BUF_EN", "WL_LT_EN",
0349                                    "GPIO_HDMI_RSTn", "CSI_GPIO1",
0350                                    "CSI_GPIO2", "PRU_3V3_EN",
0351                                    "HDMI_INTn", "TEST_GPIO2",
0352                                    "MCASP1_FET_EN", "MCASP1_BUF_BT_EN",
0353                                    "MCASP1_FET_SEL", "UART1_FET_SEL",
0354                                    "TSINT#", "IO_EXP_TEST_LED";
0355 
0356                 interrupt-parent = <&main_gpio1>;
0357                 interrupts = <23 IRQ_TYPE_EDGE_FALLING>;
0358                 interrupt-controller;
0359                 #interrupt-cells = <2>;
0360 
0361                 pinctrl-names = "default";
0362                 pinctrl-0 = <&main_gpio1_ioexp_intr_pins_default>;
0363         };
0364 };
0365 
0366 &main_i2c2 {
0367         status = "disabled";
0368 };
0369 
0370 &main_i2c3 {
0371         status = "disabled";
0372 };
0373 
0374 &sdhci0 {
0375         pinctrl-names = "default";
0376         pinctrl-0 = <&main_mmc0_pins_default>;
0377         ti,driver-strength-ohm = <50>;
0378         disable-wp;
0379 };
0380 
0381 &sdhci1 {
0382         /* SD/MMC */
0383         vmmc-supply = <&vdd_mmc1>;
0384         vqmmc-supply = <&vdd_sd_dv>;
0385         pinctrl-names = "default";
0386         pinctrl-0 = <&main_mmc1_pins_default>;
0387         ti,driver-strength-ohm = <50>;
0388         disable-wp;
0389 };
0390 
0391 &cpsw3g {
0392         pinctrl-names = "default";
0393         pinctrl-0 = <&main_mdio1_pins_default
0394                      &main_rgmii1_pins_default
0395                      &main_rgmii2_pins_default>;
0396 };
0397 
0398 &cpsw_port1 {
0399         phy-mode = "rgmii-rxid";
0400         phy-handle = <&cpsw3g_phy0>;
0401 };
0402 
0403 &cpsw_port2 {
0404         phy-mode = "rgmii-rxid";
0405         phy-handle = <&cpsw3g_phy1>;
0406 };
0407 
0408 &cpsw3g_mdio {
0409         cpsw3g_phy0: ethernet-phy@0 {
0410                 reg = <0>;
0411                 ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
0412                 ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
0413                 ti,min-output-impedance;
0414         };
0415 
0416         cpsw3g_phy1: ethernet-phy@1 {
0417                 reg = <1>;
0418                 ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
0419                 ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
0420                 ti,min-output-impedance;
0421         };
0422 };
0423 
0424 &mailbox0_cluster0 {
0425         mbox_m4_0: mbox-m4-0 {
0426                 ti,mbox-rx = <0 0 0>;
0427                 ti,mbox-tx = <1 0 0>;
0428         };
0429 };
0430 
0431 &ospi0 {
0432         pinctrl-names = "default";
0433         pinctrl-0 = <&ospi0_pins_default>;
0434 
0435         flash@0{
0436                 compatible = "jedec,spi-nor";
0437                 reg = <0x0>;
0438                 spi-tx-bus-width = <8>;
0439                 spi-rx-bus-width = <8>;
0440                 spi-max-frequency = <25000000>;
0441                 cdns,tshsl-ns = <60>;
0442                 cdns,tsd2d-ns = <60>;
0443                 cdns,tchsh-ns = <60>;
0444                 cdns,tslch-ns = <60>;
0445                 cdns,read-delay = <4>;
0446 
0447                 partitions {
0448                         compatible = "fixed-partitions";
0449                         #address-cells = <1>;
0450                         #size-cells = <1>;
0451 
0452                         partition@0 {
0453                                 label = "ospi.tiboot3";
0454                                 reg = <0x0 0x80000>;
0455                         };
0456 
0457                         partition@80000 {
0458                                 label = "ospi.tispl";
0459                                 reg = <0x80000 0x200000>;
0460                         };
0461 
0462                         partition@280000 {
0463                                 label = "ospi.u-boot";
0464                                 reg = <0x280000 0x400000>;
0465                         };
0466 
0467                         partition@680000 {
0468                                 label = "ospi.env";
0469                                 reg = <0x680000 0x40000>;
0470                         };
0471 
0472                         partition@6c0000 {
0473                                 label = "ospi.env.backup";
0474                                 reg = <0x6c0000 0x40000>;
0475                         };
0476 
0477                         partition@800000 {
0478                                 label = "ospi.rootfs";
0479                                 reg = <0x800000 0x37c0000>;
0480                         };
0481 
0482                         partition@3fc0000 {
0483                                 label = "ospi.phypattern";
0484                                 reg = <0x3fc0000 0x40000>;
0485                         };
0486                 };
0487         };
0488 };
0489 
0490 &ecap0 {
0491         status = "disabled";
0492 };
0493 
0494 &ecap1 {
0495         status = "disabled";
0496 };
0497 
0498 &ecap2 {
0499         status = "disabled";
0500 };
0501 
0502 &main_mcan0 {
0503         status = "disabled";
0504 };