18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Copyright 2020, Compass Electronics Group, LLC 48c2ecf20Sopenharmony_ci */ 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ci#include <dt-bindings/gpio/gpio.h> 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ci/ { 98c2ecf20Sopenharmony_ci memory@48000000 { 108c2ecf20Sopenharmony_ci device_type = "memory"; 118c2ecf20Sopenharmony_ci /* first 128MB is reserved for secure area. */ 128c2ecf20Sopenharmony_ci reg = <0x0 0x48000000 0x0 0x78000000>; 138c2ecf20Sopenharmony_ci }; 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci memory@600000000 { 168c2ecf20Sopenharmony_ci device_type = "memory"; 178c2ecf20Sopenharmony_ci reg = <0x6 0x00000000 0x0 0x80000000>; 188c2ecf20Sopenharmony_ci }; 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ci osc_32k: osc_32k { 218c2ecf20Sopenharmony_ci compatible = "fixed-clock"; 228c2ecf20Sopenharmony_ci #clock-cells = <0>; 238c2ecf20Sopenharmony_ci clock-frequency = <32768>; 248c2ecf20Sopenharmony_ci clock-output-names = "osc_32k"; 258c2ecf20Sopenharmony_ci }; 268c2ecf20Sopenharmony_ci 278c2ecf20Sopenharmony_ci reg_1p8v: regulator0 { 288c2ecf20Sopenharmony_ci compatible = "regulator-fixed"; 298c2ecf20Sopenharmony_ci regulator-name = "fixed-1.8V"; 308c2ecf20Sopenharmony_ci regulator-min-microvolt = <1800000>; 318c2ecf20Sopenharmony_ci regulator-max-microvolt = <1800000>; 328c2ecf20Sopenharmony_ci regulator-boot-on; 338c2ecf20Sopenharmony_ci regulator-always-on; 348c2ecf20Sopenharmony_ci }; 358c2ecf20Sopenharmony_ci 368c2ecf20Sopenharmony_ci reg_3p3v: regulator1 { 378c2ecf20Sopenharmony_ci compatible = "regulator-fixed"; 388c2ecf20Sopenharmony_ci regulator-name = "fixed-3.3V"; 398c2ecf20Sopenharmony_ci regulator-min-microvolt = <3300000>; 408c2ecf20Sopenharmony_ci regulator-max-microvolt = <3300000>; 418c2ecf20Sopenharmony_ci regulator-boot-on; 428c2ecf20Sopenharmony_ci regulator-always-on; 438c2ecf20Sopenharmony_ci }; 448c2ecf20Sopenharmony_ci 458c2ecf20Sopenharmony_ci wlan_pwrseq: wlan_pwrseq { 468c2ecf20Sopenharmony_ci compatible = "mmc-pwrseq-simple"; 478c2ecf20Sopenharmony_ci reset-gpios = <&pca9654 1 GPIO_ACTIVE_LOW>; 488c2ecf20Sopenharmony_ci clocks = <&osc_32k>; 498c2ecf20Sopenharmony_ci clock-names = "ext_clock"; 508c2ecf20Sopenharmony_ci post-power-on-delay-ms = <80>; 518c2ecf20Sopenharmony_ci }; 528c2ecf20Sopenharmony_ci}; 538c2ecf20Sopenharmony_ci 548c2ecf20Sopenharmony_ci&avb { 558c2ecf20Sopenharmony_ci pinctrl-0 = <&avb_pins>; 568c2ecf20Sopenharmony_ci pinctrl-names = "default"; 578c2ecf20Sopenharmony_ci phy-mode = "rgmii-rxid"; 588c2ecf20Sopenharmony_ci phy-handle = <&phy0>; 598c2ecf20Sopenharmony_ci rx-internal-delay-ps = <1800>; 608c2ecf20Sopenharmony_ci tx-internal-delay-ps = <2000>; 618c2ecf20Sopenharmony_ci status = "okay"; 628c2ecf20Sopenharmony_ci 638c2ecf20Sopenharmony_ci phy0: ethernet-phy@0 { 648c2ecf20Sopenharmony_ci reg = <0>; 658c2ecf20Sopenharmony_ci interrupt-parent = <&gpio2>; 668c2ecf20Sopenharmony_ci interrupts = <11 IRQ_TYPE_LEVEL_LOW>; 678c2ecf20Sopenharmony_ci reset-gpios = <&gpio2 10 GPIO_ACTIVE_LOW>; 688c2ecf20Sopenharmony_ci }; 698c2ecf20Sopenharmony_ci}; 708c2ecf20Sopenharmony_ci 718c2ecf20Sopenharmony_ci&extal_clk { 728c2ecf20Sopenharmony_ci clock-frequency = <16666666>; 738c2ecf20Sopenharmony_ci}; 748c2ecf20Sopenharmony_ci 758c2ecf20Sopenharmony_ci&extalr_clk { 768c2ecf20Sopenharmony_ci clock-frequency = <32768>; 778c2ecf20Sopenharmony_ci}; 788c2ecf20Sopenharmony_ci 798c2ecf20Sopenharmony_ci&gpio6 { 808c2ecf20Sopenharmony_ci usb_hub_reset { 818c2ecf20Sopenharmony_ci gpio-hog; 828c2ecf20Sopenharmony_ci gpios = <10 GPIO_ACTIVE_HIGH>; 838c2ecf20Sopenharmony_ci output-high; 848c2ecf20Sopenharmony_ci line-name = "usb-hub-reset"; 858c2ecf20Sopenharmony_ci }; 868c2ecf20Sopenharmony_ci}; 878c2ecf20Sopenharmony_ci 888c2ecf20Sopenharmony_ci&hscif0 { 898c2ecf20Sopenharmony_ci pinctrl-0 = <&hscif0_pins>; 908c2ecf20Sopenharmony_ci pinctrl-names = "default"; 918c2ecf20Sopenharmony_ci uart-has-rtscts; 928c2ecf20Sopenharmony_ci status = "okay"; 938c2ecf20Sopenharmony_ci 948c2ecf20Sopenharmony_ci bluetooth { 958c2ecf20Sopenharmony_ci compatible = "brcm,bcm43438-bt"; 968c2ecf20Sopenharmony_ci shutdown-gpios = <&pca9654 2 GPIO_ACTIVE_HIGH>; 978c2ecf20Sopenharmony_ci host-wakeup-gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>; 988c2ecf20Sopenharmony_ci device-wakeup-gpios = <&pca9654 5 GPIO_ACTIVE_HIGH>; 998c2ecf20Sopenharmony_ci clocks = <&osc_32k>; 1008c2ecf20Sopenharmony_ci clock-names = "extclk"; 1018c2ecf20Sopenharmony_ci max-speed = <4000000>; 1028c2ecf20Sopenharmony_ci }; 1038c2ecf20Sopenharmony_ci}; 1048c2ecf20Sopenharmony_ci 1058c2ecf20Sopenharmony_ci&hscif2 { 1068c2ecf20Sopenharmony_ci status = "okay"; 1078c2ecf20Sopenharmony_ci pinctrl-0 = <&hscif2_pins>; 1088c2ecf20Sopenharmony_ci pinctrl-names = "default"; 1098c2ecf20Sopenharmony_ci}; 1108c2ecf20Sopenharmony_ci 1118c2ecf20Sopenharmony_ci&i2c4 { 1128c2ecf20Sopenharmony_ci status = "okay"; 1138c2ecf20Sopenharmony_ci clock-frequency = <400000>; 1148c2ecf20Sopenharmony_ci 1158c2ecf20Sopenharmony_ci pca9654: gpio@20 { 1168c2ecf20Sopenharmony_ci compatible = "onnn,pca9654"; 1178c2ecf20Sopenharmony_ci reg = <0x20>; 1188c2ecf20Sopenharmony_ci gpio-controller; 1198c2ecf20Sopenharmony_ci #gpio-cells = <2>; 1208c2ecf20Sopenharmony_ci gpio-line-names = 1218c2ecf20Sopenharmony_ci "i2c4_20_0", 1228c2ecf20Sopenharmony_ci "wl_reg_on", 1238c2ecf20Sopenharmony_ci "bt_reg_on", 1248c2ecf20Sopenharmony_ci "i2c4_20_3", 1258c2ecf20Sopenharmony_ci "i2c4_20_4", 1268c2ecf20Sopenharmony_ci "bt_dev_wake", 1278c2ecf20Sopenharmony_ci "i2c4_20_6", 1288c2ecf20Sopenharmony_ci "i2c4_20_7"; 1298c2ecf20Sopenharmony_ci }; 1308c2ecf20Sopenharmony_ci 1318c2ecf20Sopenharmony_ci pca9654_lte: gpio@21 { 1328c2ecf20Sopenharmony_ci compatible = "onnn,pca9654"; 1338c2ecf20Sopenharmony_ci reg = <0x21>; 1348c2ecf20Sopenharmony_ci interrupt-parent = <&gpio5>; 1358c2ecf20Sopenharmony_ci interrupts = <25 IRQ_TYPE_EDGE_FALLING>; 1368c2ecf20Sopenharmony_ci interrupt-controller; 1378c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 1388c2ecf20Sopenharmony_ci gpio-controller; 1398c2ecf20Sopenharmony_ci #gpio-cells = <2>; 1408c2ecf20Sopenharmony_ci gpio-line-names = 1418c2ecf20Sopenharmony_ci "i2c4_21_0", 1428c2ecf20Sopenharmony_ci "zoe_pwr_on", 1438c2ecf20Sopenharmony_ci "zoe_extint", 1448c2ecf20Sopenharmony_ci "zoe_reset_n", 1458c2ecf20Sopenharmony_ci "sara_reset", 1468c2ecf20Sopenharmony_ci "i2c4_21_5", 1478c2ecf20Sopenharmony_ci "sara_pwr_off", 1488c2ecf20Sopenharmony_ci "sara_networking_status"; 1498c2ecf20Sopenharmony_ci }; 1508c2ecf20Sopenharmony_ci 1518c2ecf20Sopenharmony_ci eeprom@50 { 1528c2ecf20Sopenharmony_ci compatible = "microchip,24c64", "atmel,24c64"; 1538c2ecf20Sopenharmony_ci pagesize = <32>; 1548c2ecf20Sopenharmony_ci read-only; /* Manufacturing EEPROM programmed at factory */ 1558c2ecf20Sopenharmony_ci reg = <0x50>; 1568c2ecf20Sopenharmony_ci }; 1578c2ecf20Sopenharmony_ci 1588c2ecf20Sopenharmony_ci rtc@51 { 1598c2ecf20Sopenharmony_ci compatible = "nxp,pcf85263"; 1608c2ecf20Sopenharmony_ci reg = <0x51>; 1618c2ecf20Sopenharmony_ci }; 1628c2ecf20Sopenharmony_ci 1638c2ecf20Sopenharmony_ci versaclock5: versaclock_som@6a { 1648c2ecf20Sopenharmony_ci compatible = "idt,5p49v6965"; 1658c2ecf20Sopenharmony_ci reg = <0x6a>; 1668c2ecf20Sopenharmony_ci #clock-cells = <1>; 1678c2ecf20Sopenharmony_ci clocks = <&x304_clk>; 1688c2ecf20Sopenharmony_ci clock-names = "xin"; 1698c2ecf20Sopenharmony_ci /* du_dotclkin0, du_dotclkin2, usb_extal, avb_txcrefclk */ 1708c2ecf20Sopenharmony_ci assigned-clocks = <&versaclock5 1>, 1718c2ecf20Sopenharmony_ci <&versaclock5 2>, 1728c2ecf20Sopenharmony_ci <&versaclock5 3>, 1738c2ecf20Sopenharmony_ci <&versaclock5 4>; 1748c2ecf20Sopenharmony_ci assigned-clock-rates = <33333333>, <33333333>, <50000000>, <125000000>; 1758c2ecf20Sopenharmony_ci }; 1768c2ecf20Sopenharmony_ci}; 1778c2ecf20Sopenharmony_ci 1788c2ecf20Sopenharmony_ci&pfc { 1798c2ecf20Sopenharmony_ci pinctrl-0 = <&scif_clk_pins>; 1808c2ecf20Sopenharmony_ci pinctrl-names = "default"; 1818c2ecf20Sopenharmony_ci 1828c2ecf20Sopenharmony_ci avb_pins: avb { 1838c2ecf20Sopenharmony_ci mux { 1848c2ecf20Sopenharmony_ci groups = "avb_link", "avb_mdio", "avb_mii"; 1858c2ecf20Sopenharmony_ci function = "avb"; 1868c2ecf20Sopenharmony_ci }; 1878c2ecf20Sopenharmony_ci 1888c2ecf20Sopenharmony_ci pins_mdio { 1898c2ecf20Sopenharmony_ci groups = "avb_mdio"; 1908c2ecf20Sopenharmony_ci drive-strength = <24>; 1918c2ecf20Sopenharmony_ci }; 1928c2ecf20Sopenharmony_ci 1938c2ecf20Sopenharmony_ci pins_mii_tx { 1948c2ecf20Sopenharmony_ci pins = "PIN_AVB_TX_CTL", "PIN_AVB_TXC", "PIN_AVB_TD0", 1958c2ecf20Sopenharmony_ci "PIN_AVB_TD1", "PIN_AVB_TD2", "PIN_AVB_TD3"; 1968c2ecf20Sopenharmony_ci drive-strength = <12>; 1978c2ecf20Sopenharmony_ci }; 1988c2ecf20Sopenharmony_ci }; 1998c2ecf20Sopenharmony_ci 2008c2ecf20Sopenharmony_ci scif2_pins: scif2 { 2018c2ecf20Sopenharmony_ci groups = "scif2_data_a"; 2028c2ecf20Sopenharmony_ci function = "scif2"; 2038c2ecf20Sopenharmony_ci }; 2048c2ecf20Sopenharmony_ci 2058c2ecf20Sopenharmony_ci hscif0_pins: hscif0 { 2068c2ecf20Sopenharmony_ci groups = "hscif0_data", "hscif0_ctrl"; 2078c2ecf20Sopenharmony_ci function = "hscif0"; 2088c2ecf20Sopenharmony_ci }; 2098c2ecf20Sopenharmony_ci 2108c2ecf20Sopenharmony_ci hscif1_pins: hscif1 { 2118c2ecf20Sopenharmony_ci groups = "hscif1_data_a", "hscif1_ctrl_a"; 2128c2ecf20Sopenharmony_ci function = "hscif1"; 2138c2ecf20Sopenharmony_ci }; 2148c2ecf20Sopenharmony_ci 2158c2ecf20Sopenharmony_ci hscif2_pins: hscif2 { 2168c2ecf20Sopenharmony_ci groups = "hscif2_data_a"; 2178c2ecf20Sopenharmony_ci function = "hscif2"; 2188c2ecf20Sopenharmony_ci }; 2198c2ecf20Sopenharmony_ci 2208c2ecf20Sopenharmony_ci scif0_pins: scif0 { 2218c2ecf20Sopenharmony_ci groups = "scif0_data"; 2228c2ecf20Sopenharmony_ci function = "scif0"; 2238c2ecf20Sopenharmony_ci }; 2248c2ecf20Sopenharmony_ci 2258c2ecf20Sopenharmony_ci scif5_pins: scif5 { 2268c2ecf20Sopenharmony_ci groups = "scif5_data_a"; 2278c2ecf20Sopenharmony_ci function = "scif5"; 2288c2ecf20Sopenharmony_ci }; 2298c2ecf20Sopenharmony_ci 2308c2ecf20Sopenharmony_ci scif_clk_pins: scif_clk { 2318c2ecf20Sopenharmony_ci groups = "scif_clk_a"; 2328c2ecf20Sopenharmony_ci function = "scif_clk"; 2338c2ecf20Sopenharmony_ci }; 2348c2ecf20Sopenharmony_ci 2358c2ecf20Sopenharmony_ci i2c0_pins: i2c0 { 2368c2ecf20Sopenharmony_ci groups = "i2c0"; 2378c2ecf20Sopenharmony_ci function = "i2c0"; 2388c2ecf20Sopenharmony_ci }; 2398c2ecf20Sopenharmony_ci 2408c2ecf20Sopenharmony_ci sdhi2_pins: sd2 { 2418c2ecf20Sopenharmony_ci groups = "sdhi2_data4", "sdhi2_ctrl"; 2428c2ecf20Sopenharmony_ci function = "sdhi2"; 2438c2ecf20Sopenharmony_ci power-source = <1800>; 2448c2ecf20Sopenharmony_ci }; 2458c2ecf20Sopenharmony_ci 2468c2ecf20Sopenharmony_ci sdhi3_pins: sd3 { 2478c2ecf20Sopenharmony_ci groups = "sdhi3_data8", "sdhi3_ctrl", "sdhi3_ds"; 2488c2ecf20Sopenharmony_ci function = "sdhi3"; 2498c2ecf20Sopenharmony_ci power-source = <1800>; 2508c2ecf20Sopenharmony_ci }; 2518c2ecf20Sopenharmony_ci}; 2528c2ecf20Sopenharmony_ci 2538c2ecf20Sopenharmony_ci&scif_clk { 2548c2ecf20Sopenharmony_ci clock-frequency = <14745600>; 2558c2ecf20Sopenharmony_ci}; 2568c2ecf20Sopenharmony_ci 2578c2ecf20Sopenharmony_ci&scif2 { 2588c2ecf20Sopenharmony_ci pinctrl-0 = <&scif2_pins>; 2598c2ecf20Sopenharmony_ci pinctrl-names = "default"; 2608c2ecf20Sopenharmony_ci status = "okay"; 2618c2ecf20Sopenharmony_ci}; 2628c2ecf20Sopenharmony_ci 2638c2ecf20Sopenharmony_ci&sdhi2 { 2648c2ecf20Sopenharmony_ci pinctrl-names = "default"; 2658c2ecf20Sopenharmony_ci pinctrl-0 = <&sdhi2_pins>; 2668c2ecf20Sopenharmony_ci bus-width = <4>; 2678c2ecf20Sopenharmony_ci vmmc-supply = <®_3p3v>; 2688c2ecf20Sopenharmony_ci vqmmc-supply = <®_1p8v>; 2698c2ecf20Sopenharmony_ci non-removable; 2708c2ecf20Sopenharmony_ci cap-power-off-card; 2718c2ecf20Sopenharmony_ci pm-ignore-notify; 2728c2ecf20Sopenharmony_ci keep-power-in-suspend; 2738c2ecf20Sopenharmony_ci mmc-pwrseq = <&wlan_pwrseq>; 2748c2ecf20Sopenharmony_ci status = "okay"; 2758c2ecf20Sopenharmony_ci #address-cells = <1>; 2768c2ecf20Sopenharmony_ci #size-cells = <0>; 2778c2ecf20Sopenharmony_ci 2788c2ecf20Sopenharmony_ci brcmf: bcrmf@1 { 2798c2ecf20Sopenharmony_ci reg = <1>; 2808c2ecf20Sopenharmony_ci compatible = "brcm,bcm4329-fmac"; 2818c2ecf20Sopenharmony_ci interrupt-parent = <&gpio1>; 2828c2ecf20Sopenharmony_ci interrupts = <27 IRQ_TYPE_LEVEL_LOW>; 2838c2ecf20Sopenharmony_ci interrupt-names = "host-wake"; 2848c2ecf20Sopenharmony_ci }; 2858c2ecf20Sopenharmony_ci}; 2868c2ecf20Sopenharmony_ci 2878c2ecf20Sopenharmony_ci&sdhi3 { 2888c2ecf20Sopenharmony_ci pinctrl-0 = <&sdhi3_pins>; 2898c2ecf20Sopenharmony_ci pinctrl-1 = <&sdhi3_pins>; 2908c2ecf20Sopenharmony_ci pinctrl-names = "default", "state_uhs"; 2918c2ecf20Sopenharmony_ci vmmc-supply = <®_3p3v>; 2928c2ecf20Sopenharmony_ci vqmmc-supply = <®_1p8v>; 2938c2ecf20Sopenharmony_ci bus-width = <8>; 2948c2ecf20Sopenharmony_ci mmc-hs200-1_8v; 2958c2ecf20Sopenharmony_ci non-removable; 2968c2ecf20Sopenharmony_ci fixed-emmc-driver-type = <1>; 2978c2ecf20Sopenharmony_ci status = "okay"; 2988c2ecf20Sopenharmony_ci}; 2998c2ecf20Sopenharmony_ci 3008c2ecf20Sopenharmony_ci&usb2_clksel { 3018c2ecf20Sopenharmony_ci clocks = <&cpg CPG_MOD 703>, <&cpg CPG_MOD 704>, 3028c2ecf20Sopenharmony_ci <&versaclock5 3>, <&usb3s0_clk>; 3038c2ecf20Sopenharmony_ci status = "okay"; 3048c2ecf20Sopenharmony_ci}; 3058c2ecf20Sopenharmony_ci 3068c2ecf20Sopenharmony_ci&usb3s0_clk { 3078c2ecf20Sopenharmony_ci clock-frequency = <100000000>; 3088c2ecf20Sopenharmony_ci}; 3098c2ecf20Sopenharmony_ci 3108c2ecf20Sopenharmony_ci&vspb { 3118c2ecf20Sopenharmony_ci status = "okay"; 3128c2ecf20Sopenharmony_ci}; 3138c2ecf20Sopenharmony_ci 3148c2ecf20Sopenharmony_ci&vspi0 { 3158c2ecf20Sopenharmony_ci status = "okay"; 3168c2ecf20Sopenharmony_ci}; 317