// SPDX-License-Identifier: GPL-2.0 /* * AM625 SK: https://www.ti.com/lit/zip/sprr448 * * Copyright (C) 2021-2022 Texas Instruments Incorporated - https://www.ti.com/ */ /dts-v1/; #include #include #include #include "k3-am625.dtsi" #include "k3-am62x-sk-common.dtsi" / { compatible = "ti,am625-sk", "ti,am625"; model = "Texas Instruments AM625 SK"; wlan_lten: regulator-5 { compatible = "regulator-fixed"; regulator-name = "wlan_lten"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; vin-supply = <&vcc_3v3_sys>; gpios = <&exp1 11 GPIO_ACTIVE_LOW>; }; wlan_en: regulator-6 { /* OUTPUT of SN74AVC2T244DQMR */ compatible = "regulator-fixed"; regulator-name = "wlan_en"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; enable-active-high; vin-supply = <&wlan_lten>; gpios = <&main_gpio0 71 GPIO_ACTIVE_HIGH>; pinctrl-names = "default"; pinctrl-0 = <&wlan_en_pins_default>; }; 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>; }; }; }; &main_pmx0 { wlan_en_pins_default: wlan-en-pins-default { pinctrl-single,pins = < AM62X_IOPAD(0x124, PIN_OUTPUT, 7) /* (A23) MMC2_SDCD.GPIO0_71 */ >; }; main_mmc2_pins_default: main-mmc2-pins-default { pinctrl-single,pins = < AM62X_IOPAD(0x120, PIN_INPUT, 0) /* (C24) MMC2_CMD */ AM62X_IOPAD(0x118, PIN_INPUT, 0) /* (D25) MMC2_CLK */ AM62X_IOPAD(0x114, PIN_INPUT, 0) /* (B24) MMC2_DAT0 */ AM62X_IOPAD(0x110, PIN_INPUT, 0) /* (C25) MMC2_DAT1 */ AM62X_IOPAD(0x10c, PIN_INPUT, 0) /* (E23) MMC2_DAT2 */ AM62X_IOPAD(0x108, PIN_INPUT, 0) /* (D24) MMC2_DAT3 */ AM62X_IOPAD(0x11c, PIN_INPUT, 0) /* (#N/A) MMC2_CLKB */ >; }; main_wlirq_pins_default: main-wlirq-pins-default { pinctrl-single,pins = < AM62X_IOPAD(0x128, PIN_INPUT, 7) /* (B23) MMC2_SDWP.GPIO0_72 */ >; }; main_spi0_pins_default: main-spi0-pins-default { pinctrl-single,pins = < AM62X_IOPAD(0x01C0, PIN_OUTPUT, 0) /* (B13) SPI0_D0 */ AM62X_IOPAD(0x01C4, PIN_INPUT, 0) /* (B14) SPI0_D1 */ AM62X_IOPAD(0x01B4, PIN_OUTPUT, 0) /* (A13) SPI0_CS0 */ AM62X_IOPAD(0x01BC, PIN_INPUT, 0) /* (A14) SPI0_CLK */ AM62X_IOPAD(0x01b8, PIN_OUTPUT, 0) /* (C13) SPI0_CS1 */ >; }; main_spi2_pins_default: main-spi2-pins-default { pinctrl-single,pins = < AM62X_IOPAD(0x01b0, PIN_INPUT, 1) /* (A20) MCASP0_ACLKR.SPI2_CLK */ AM62X_IOPAD(0x0194, PIN_OUTPUT, 1) /* (B19) MCASP0_AXR3.SPI2_D0 */ AM62X_IOPAD(0x0198, PIN_INPUT, 1) /* (A19) MCASP0_AXR2.SPI2_D1 */ AM62X_IOPAD(0x01ac, PIN_OUTPUT, 1) /* (E19) MCASP0_AFSR.SPI2_CS0 */ AM62X_IOPAD(0x01a4, PIN_OUTPUT, 1) /* (B20) MCASP0_ACLKX.SPI2_CS1 */ AM62X_IOPAD(0x019c, PIN_OUTPUT, 1) /* (B18) MCASP0_AXR1.SPI2_CS2 */ >; }; }; &main_i2c1 { exp1: gpio@74 { compatible = "ti,tca9539"; reg = <0x74>; gpio-controller; #gpio-cells = <2>; gpio-line-names = "GPIO_CPSW2_RST", "GPIO_CPSW1_RST", "PRU_DETECT", "MMC1_SD_EN", "VPP_LDO_EN", "EXP_PS_3V3_En", "EXP_PS_5V0_En", "EXP_HAT_DETECT", "GPIO_AUD_RSTn", "GPIO_eMMC_RSTn", "UART1_FET_BUF_EN", "WL_LT_EN", "GPIO_HDMI_RSTn", "CSI_GPIO1", "CSI_GPIO2", "PRU_3V3_EN", "HDMI_INTn", "TEST_GPIO2", "MCASP1_FET_EN", "MCASP1_BUF_BT_EN", "MCASP1_FET_SEL", "UART1_FET_SEL", "TSINT#", "IO_EXP_TEST_LED"; interrupt-parent = <&main_gpio1>; interrupts = <23 IRQ_TYPE_EDGE_FALLING>; interrupt-controller; #interrupt-cells = <2>; pinctrl-names = "default"; }; }; &main_spi0 { status = "okay"; #address-cells = <1>; #size-cells = <0>; pinctrl-0 = <&main_spi0_pins_default>; pinctrl-names = "default"; dmas = <&main_pktdma 0xc300 0>, <&main_pktdma 0x4300 0>; dma-names = "tx0", "rx0"; spidev@0 { /* * Using spidev compatible is warned loudly, * thus use another equivalent compatible id * from spidev. */ compatible = "rohm,dh2228fv"; spi-max-frequency = <24000000>; reg = <0>; }; }; &main_spi2 { status = "disabled"; status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&main_spi2_pins_default>; ti,spi-num-chipselects = <3>; cs-gpios = <0>, <0>, <0>; ti,pindir-d0-out-d1-in = <0>; spidev2:spidev@0 { spi-max-frequency = <10000000>; reg = <0>; compatible = "rohm,dh2228fv"; }; spidev3:spidev@1 { spi-max-frequency = <10000000>; reg = <1>; compatible = "rohm,dh2228fv"; }; spidev4:spidev@2 { spi-max-frequency = <10000000>; reg = <2>; compatible = "rohm,dh2228fv"; }; }; &sdhci2 { vmmc-supply = <&wlan_en>; pinctrl-names = "default"; pinctrl-0 = <&main_mmc2_pins_default>; bus-width = <4>; non-removable; ti,fails-without-test-cd; cap-power-off-card; keep-power-in-suspend; ti,driver-strength-ohm = <50>; assigned-clocks = <&k3_clks 157 158>; assigned-clock-parents = <&k3_clks 157 160>; #address-cells = <1>; #size-cells = <0>; wlcore: wlcore@2 { compatible = "ti,wl1837"; reg = <2>; pinctrl-names = "default"; pinctrl-0 = <&main_wlirq_pins_default>; interrupt-parent = <&main_gpio0>; interrupts = <72 IRQ_TYPE_EDGE_FALLING>; }; }; &ospi0 { spi_nor_flash: flash@0 { compatible = "jedec,spi-nor"; reg = <0x0>; spi-tx-bus-width = <8>; spi-rx-bus-width = <8>; spi-max-frequency = <25000000>; cdns,tshsl-ns = <60>; cdns,tsd2d-ns = <60>; cdns,tchsh-ns = <60>; cdns,tslch-ns = <60>; cdns,read-delay = <4>; cdns,phy-mode; partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; partition@0 { label = "ospi.tiboot3"; reg = <0x0 0x80000>; }; partition@80000 { label = "ospi.tispl"; reg = <0x80000 0x200000>; }; partition@280000 { label = "ospi.u-boot"; reg = <0x280000 0x400000>; }; partition@680000 { label = "ospi.env"; reg = <0x680000 0x40000>; }; partition@6c0000 { label = "ospi.env.backup"; reg = <0x6c0000 0x40000>; }; partition@800000 { label = "ospi.rootfs"; reg = <0x800000 0x37c0000>; }; partition@3fc0000 { label = "ospi.phypattern"; reg = <0x3fc0000 0x40000>; }; }; }; };