// SPDX-License-Identifier: GPL-2.0 /* * AM625 Minimal dts file * Copyright (C) 2021-2022 Texas Instruments Incorporated - https://www.ti.com/ */ /dts-v1/; #include #include #include "k3-am625.dtsi" / { compatible = "ti,am625-generic", "ti,am625"; model = "Texas Instruments AM625 Generic"; aliases { gpio0 = &main_gpio0; gpio1 = &main_gpio1; gpio2 = &mcu_gpio0; i2c0 = &main_i2c0; i2c1 = &main_i2c1; i2c2 = &main_i2c2; i2c3 = &main_i2c3; i2c4 = &wkup_i2c0; i2c5 = &mcu_i2c0; mmc0 = &sdhci0; mmc1 = &sdhci1; mmc2 = &sdhci2; }; opp-table { /* Add 1.4GHz OPP for am625-sk board. Requires VDD_CORE to be at 0.85V */ opp-1400000000 { opp-hz = /bits/ 64 <1400000000>; opp-supported-hw = <0x01 0x0004>; clock-latency-ns = <6000000>; }; }; chosen { stdout-path = "serial2:115200n8"; bootargs = "console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000"; }; cpus { /delete-node/ cpu@2; /delete-node/ cpu@3; }; memory@80000000 { device_type = "memory"; /* 2G RAM */ reg = <0x00000000 0x80000000 0x00000000 0x80000000>; }; reserved-memory { #address-cells = <2>; #size-cells = <2>; ranges; /* global cma region */ linux,cma { compatible = "shared-dma-pool"; reusable; size = <0x00 0x8000000>; linux,cma-default; }; mcu_m4fss_dma_memory_region: m4f-dma-memory@9cb00000 { compatible = "shared-dma-pool"; reg = <0x00 0x9cb00000 0x00 0x100000>; no-map; }; mcu_m4fss_memory_region: m4f-memory@9cc00000 { compatible = "shared-dma-pool"; reg = <0x00 0x9cc00000 0x00 0xe00000>; no-map; }; secure_tfa_ddr: tfa@9e780000 { reg = <0x00 0x9e780000 0x00 0x80000>; alignment = <0x1000>; no-map; }; secure_ddr: optee@9e800000 { reg = <0x00 0x9e800000 0x00 0x01800000>; /* for OP-TEE */ alignment = <0x1000>; no-map; }; main_r5fss0_core0_dma_memory_region: r5f-dma-memory@a0000000 { compatible = "shared-dma-pool"; reg = <0x00 0xa0000000 0x00 0x200000>; no-map; }; lpm_ctx_ddr: lpm-memory@a1000000 { reg = <0x00 0xa1000000 0x00 0x40000>; alignment = <0x1000>; no-map; }; }; vmain_pd: regulator-0 { /* TPS65988 PD CONTROLLER OUTPUT */ compatible = "regulator-fixed"; regulator-name = "vmain_pd"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; regulator-always-on; regulator-boot-on; }; vcc_5v0: regulator-1 { /* Output of LM34936 */ compatible = "regulator-fixed"; regulator-name = "vcc_5v0"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; vin-supply = <&vmain_pd>; regulator-always-on; regulator-boot-on; }; vcc_3v3_sys: regulator-2 { /* output of LM61460-Q1 */ compatible = "regulator-fixed"; regulator-name = "vcc_3v3_sys"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; vin-supply = <&vmain_pd>; regulator-always-on; regulator-boot-on; }; vdd_mmc1: regulator-3 { /* TPS22918DBVR */ compatible = "regulator-fixed"; regulator-name = "vdd_mmc1"; pinctrl-names = "default"; pinctrl-0 = <&vdd_sd_dv_pins_default>; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; enable-active-high; vin-supply = <&vcc_3v3_sys>; gpio = <&main_gpio0 76 GPIO_ACTIVE_HIGH>; }; vdd_sd_dv: regulator-4 { /* Output of TLV71033 */ compatible = "regulator-gpio"; regulator-name = "tlv71033"; pinctrl-names = "default"; pinctrl-0 = <&vdd_sd_dv_pins_default>; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; regulator-boot-on; vin-supply = <&ldo1_reg>; gpios = <&main_gpio0 40 GPIO_ACTIVE_HIGH>; states = <1800000 0x0>, <3300000 0x1>; }; vcc_1v8: regulator-5 { /* output of TPS6282518DMQ */ compatible = "regulator-fixed"; regulator-name = "vcc_1v8"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; vin-supply = <&vcc_3v3_sys>; regulator-always-on; regulator-boot-on; }; vdd_core: regulator-8 { /* output of TPS62826DMQ */ compatible = "regulator-fixed"; regulator-name = "vdd_core"; regulator-min-microvolt = <850000>; regulator-max-microvolt = <850000>; vin-supply = <&vcc_3v3_sys>; regulator-always-on; regulator-boot-on; }; }; &cluster0 { /delete-node/ core2; /delete-node/ core3; }; &main_pmx0 { main_uart0_pins_default: main-uart0-pins-default { pinctrl-single,pins = < AM62X_IOPAD(0x1d0, PIN_INPUT, 0) /* (A15) UART0_CTSn */ AM62X_IOPAD(0x1d4, PIN_OUTPUT, 0) /* (B15) UART0_RTSn */ AM62X_IOPAD(0x1c8, PIN_INPUT, 0) /* (D14) UART0_RXD */ AM62X_IOPAD(0x1cc, PIN_OUTPUT, 0) /* (E14) UART0_TXD */ >; }; main_uart1_pins_default: main-uart1-pins-default { pinctrl-single,pins = < AM62X_IOPAD(0x194, PIN_INPUT, 2) /* (B19) MCASP0_AXR3.UART1_CTSn */ AM62X_IOPAD(0x198, PIN_OUTPUT, 2) /* (A19) MCASP0_AXR2.UART1_RTSn */ AM62X_IOPAD(0x1ac, PIN_INPUT, 2) /* (E19) MCASP0_AFSR.UART1_RXD */ AM62X_IOPAD(0x1b0, PIN_OUTPUT, 2) /* (A20) MCASP0_ACLKR.UART1_TXD */ >; }; vdd_sd_dv_pins_default: vdd-sd-dv-pins-default { pinctrl-single,pins = < AM62X_IOPAD(0x00a4, PIN_INPUT, 7) /* (J19) GPMC0_DIR.GPIO0_40 */ AM62X_IOPAD(0x0138, PIN_INPUT, 7) /* (AA19) RGMII1_TD1.GPIO0_76 */ >; }; main_mmc1_pins_default: main-mmc1-pins-default { pinctrl-single,pins = < AM62X_IOPAD(0x23c, PIN_INPUT, 0) /* (A21/C18) MMC1_CMD */ AM62X_IOPAD(0x234, PIN_INPUT, 0) /* (B22/A20) MMC1_CLK */ AM62X_IOPAD(0x230, PIN_INPUT, 0) /* (A22/A19) MMC1_DAT0 */ AM62X_IOPAD(0x22c, PIN_INPUT, 0) /* (B21/B19) MMC1_DAT1 */ AM62X_IOPAD(0x228, PIN_INPUT, 0) /* (C21/B20) MMC1_DAT2 */ AM62X_IOPAD(0x224, PIN_INPUT, 0) /* (D22/C19) MMC1_DAT3 */ AM62X_IOPAD(0x240, PIN_INPUT, 0) /* (D17/C15) MMC1_SDCD */ >; }; pmic_irq_pins_default: pmic-irq-pins-default { pinctrl-single,pins = < AM62X_IOPAD(0x01f4, PIN_INPUT, 7) /* (B16) EXTINTn.GPIO1_31 */ >; }; local_i2c_pins_default: local-i2c-pins-default { pinctrl-single,pins = < AM62X_IOPAD(0x01e0, PIN_INPUT_PULLUP, 0) /* (E12) I2C0_SCL */ AM62X_IOPAD(0x01e4, PIN_INPUT_PULLUP, 0) /* (D14) I2C0_SDA */ >; }; }; &mcu_pmx0 { wkup_uart0_pins_default: wkup-uart0-pins-default { pinctrl-single,pins = < AM62X_MCU_IOPAD(0x02c, PIN_INPUT, 0) /* (C6) WKUP_UART0_CTSn */ AM62X_MCU_IOPAD(0x030, PIN_OUTPUT, 0) /* (A4) WKUP_UART0_RTSn */ AM62X_MCU_IOPAD(0x024, PIN_INPUT, 0) /* (B4) WKUP_UART0_RXD */ AM62X_MCU_IOPAD(0x028, PIN_OUTPUT, 0) /* (C5) WKUP_UART0_TXD */ >; }; }; &oc_sram { status = "disabled"; }; &main_uart0 { pinctrl-names = "default"; pinctrl-0 = <&main_uart0_pins_default>; }; &main_uart1 { pinctrl-names = "default"; pinctrl-0 = <&main_uart1_pins_default>; /* Main UART1 is used by TIFS firmware */ status = "reserved"; }; &main_uart2 { status = "disabled"; }; &main_uart3 { status = "disabled"; }; &main_uart4 { status = "disabled"; }; &main_uart5 { status = "disabled"; }; &main_uart6 { status = "disabled"; }; &main_i2c0 { pinctrl-names = "default"; pinctrl-0 = <&local_i2c_pins_default>; clock-frequency = <400000>; status = "okay"; tps65219: pmic@30 { compatible = "ti,tps65219"; reg = <0x30>; buck1-supply = <&vmain_pd>; buck2-supply = <&vmain_pd>; buck3-supply = <&vmain_pd>; ldo1-supply = <&vcc_3v3_sys>; ldo2-supply = <&buck2_reg>; ldo3-supply = <&vcc_3v3_sys>; ldo4-supply = <&vcc_3v3_sys>; pinctrl-names = "default"; pinctrl-0 = <&pmic_irq_pins_default>; interrupt-parent = <&gic500>; interrupts = ; interrupt-controller; #interrupt-cells = <1>; system-power-controller; ti,power-button; regulators { buck1_reg: buck1 { regulator-name = "VDD_CORE"; regulator-min-microvolt = <850000>; regulator-max-microvolt = <850000>; regulator-boot-on; regulator-always-on; }; buck2_reg: buck2 { regulator-name = "VDD_1V8"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-boot-on; regulator-always-on; }; buck3_reg: buck3 { regulator-name = "VDD_1V2"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; regulator-boot-on; regulator-always-on; }; ldo1_reg: ldo1 { /* * Regulator is left as is unused, vdd_sd * is controlled via GPIO with bypass config * as per the NVM configuration */ regulator-name = "VDD_SD_3V3"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-allow-bypass; regulator-boot-on; regulator-always-on; }; ldo2_reg: ldo2 { regulator-name = "VDDA_0V85"; regulator-min-microvolt = <850000>; regulator-max-microvolt = <850000>; regulator-boot-on; regulator-always-on; }; ldo3_reg: ldo3 { regulator-name = "VDDA_1V8"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-boot-on; regulator-always-on; }; ldo4_reg: ldo4 { regulator-name = "VDD_2V5"; regulator-min-microvolt = <2500000>; regulator-max-microvolt = <2500000>; regulator-boot-on; regulator-always-on; }; }; }; }; &main_i2c1 { status = "disabled"; }; &main_i2c2 { status = "disabled"; }; &main_i2c3 { status = "disabled"; }; &main_gpio_intr { status = "okay"; }; &main_gpio0 { status = "okay"; }; &main_gpio1 { status = "okay"; }; &sdhci0 { status = "disabled"; }; &sdhci1 { /* SD/MMC */ status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&main_mmc1_pins_default>; disable-wp; }; &sdhci2 { status = "disabled"; }; &fss { status = "disabled"; }; &ospi0 { status = "disabled"; }; &main_conf { status = "disabled"; }; &inta_main_dmss { status = "okay"; }; &main_bcdma { status = "okay"; }; &main_pktdma { status = "okay"; }; &cpsw3g { status = "disabled"; }; /* MCU periperhals */ &mcu_uart0 { status = "disabled"; }; &mcu_i2c0 { status = "disabled"; }; &mcu_gpio_intr { status = "disabled"; }; &mcu_gpio0 { status = "disabled"; }; /* WKUP periperhals */ &wkup_conf { status = "disabled"; }; &chipid { status = "disabled"; }; /* wkup_uart0 is reserved for firmware usage */ &wkup_uart0 { pinctrl-names = "default"; pinctrl-0 = <&wkup_uart0_pins_default>; /* WKUP UART0 is used by DM firmware */ status = "reserved"; }; &wkup_i2c0 { status = "disabled"; }; &hwspinlock { status = "disabled"; }; &mailbox0_cluster0 { status = "disabled"; }; &epwm0 { status = "disabled"; }; &epwm1 { status = "disabled"; }; &epwm2 { status = "disabled"; }; &ecap0 { status = "disabled"; }; &ecap1 { status = "disabled"; }; &ecap2 { status = "disabled"; };