1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright (c) 2016 Martin Blumenstingl <martin.blumenstingl@googlemail.com>. 4 * Based on meson-gx-p23x-q20x.dtsi: 5 * - Copyright (c) 2016 Endless Computers, Inc. 6 * Author: Carlo Caione <carlo@endlessm.com> 7 * - Copyright (c) 2016 BayLibre, SAS. 8 * Author: Neil Armstrong <narmstrong@baylibre.com> 9 */ 10 11/* Common DTSI for devices which are based on the P212 reference board. */ 12 13#include "meson-gxl-s905x.dtsi" 14 15/ { 16 aliases { 17 serial0 = &uart_AO; 18 serial1 = &uart_A; 19 ethernet0 = ðmac; 20 }; 21 22 chosen { 23 stdout-path = "serial0:115200n8"; 24 }; 25 26 memory@0 { 27 device_type = "memory"; 28 reg = <0x0 0x0 0x0 0x80000000>; 29 }; 30 31 hdmi_5v: regulator-hdmi-5v { 32 compatible = "regulator-fixed"; 33 34 regulator-name = "HDMI_5V"; 35 regulator-min-microvolt = <5000000>; 36 regulator-max-microvolt = <5000000>; 37 38 gpio = <&gpio GPIOH_3 GPIO_ACTIVE_HIGH>; 39 enable-active-high; 40 regulator-always-on; 41 }; 42 43 vddio_boot: regulator-vddio_boot { 44 compatible = "regulator-fixed"; 45 regulator-name = "VDDIO_BOOT"; 46 regulator-min-microvolt = <1800000>; 47 regulator-max-microvolt = <1800000>; 48 }; 49 50 vddao_3v3: regulator-vddao_3v3 { 51 compatible = "regulator-fixed"; 52 regulator-name = "VDDAO_3V3"; 53 regulator-min-microvolt = <3300000>; 54 regulator-max-microvolt = <3300000>; 55 }; 56 57 vddio_ao18: regulator-vddio_ao18 { 58 compatible = "regulator-fixed"; 59 regulator-name = "VDDIO_AO18"; 60 regulator-min-microvolt = <1800000>; 61 regulator-max-microvolt = <1800000>; 62 }; 63 64 vcc_3v3: regulator-vcc_3v3 { 65 compatible = "regulator-fixed"; 66 regulator-name = "VCC_3V3"; 67 regulator-min-microvolt = <3300000>; 68 regulator-max-microvolt = <3300000>; 69 }; 70 71 emmc_pwrseq: emmc-pwrseq { 72 compatible = "mmc-pwrseq-emmc"; 73 reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>; 74 }; 75 76 wifi32k: wifi32k { 77 compatible = "pwm-clock"; 78 #clock-cells = <0>; 79 clock-frequency = <32768>; 80 pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */ 81 }; 82 83 sdio_pwrseq: sdio-pwrseq { 84 compatible = "mmc-pwrseq-simple"; 85 reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>; 86 clocks = <&wifi32k>; 87 clock-names = "ext_clock"; 88 }; 89}; 90 91ðmac { 92 status = "okay"; 93}; 94 95&ir { 96 status = "okay"; 97 pinctrl-0 = <&remote_input_ao_pins>; 98 pinctrl-names = "default"; 99}; 100 101&saradc { 102 status = "okay"; 103 vref-supply = <&vddio_ao18>; 104}; 105 106/* Wireless SDIO Module */ 107&sd_emmc_a { 108 status = "okay"; 109 pinctrl-0 = <&sdio_pins>; 110 pinctrl-1 = <&sdio_clk_gate_pins>; 111 pinctrl-names = "default", "clk-gate"; 112 #address-cells = <1>; 113 #size-cells = <0>; 114 115 bus-width = <4>; 116 cap-sd-highspeed; 117 max-frequency = <50000000>; 118 119 non-removable; 120 disable-wp; 121 122 mmc-pwrseq = <&sdio_pwrseq>; 123 124 vmmc-supply = <&vddao_3v3>; 125 vqmmc-supply = <&vddio_boot>; 126}; 127 128/* SD card */ 129&sd_emmc_b { 130 status = "okay"; 131 pinctrl-0 = <&sdcard_pins>; 132 pinctrl-1 = <&sdcard_clk_gate_pins>; 133 pinctrl-names = "default", "clk-gate"; 134 135 bus-width = <4>; 136 cap-sd-highspeed; 137 max-frequency = <50000000>; 138 disable-wp; 139 140 cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>; 141 142 vmmc-supply = <&vddao_3v3>; 143 vqmmc-supply = <&vddio_boot>; 144}; 145 146/* eMMC */ 147&sd_emmc_c { 148 status = "okay"; 149 pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; 150 pinctrl-1 = <&emmc_clk_gate_pins>; 151 pinctrl-names = "default", "clk-gate"; 152 153 bus-width = <8>; 154 cap-mmc-highspeed; 155 max-frequency = <200000000>; 156 non-removable; 157 disable-wp; 158 mmc-ddr-1_8v; 159 mmc-hs200-1_8v; 160 161 mmc-pwrseq = <&emmc_pwrseq>; 162 vmmc-supply = <&vcc_3v3>; 163 vqmmc-supply = <&vddio_boot>; 164}; 165 166&pwm_ef { 167 status = "okay"; 168 pinctrl-0 = <&pwm_e_pins>; 169 pinctrl-names = "default"; 170 clocks = <&clkc CLKID_FCLK_DIV4>; 171 clock-names = "clkin0"; 172}; 173 174/* This is connected to the Bluetooth module: */ 175&uart_A { 176 status = "okay"; 177 pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; 178 pinctrl-names = "default"; 179 uart-has-rtscts; 180}; 181 182&uart_AO { 183 status = "okay"; 184 pinctrl-0 = <&uart_ao_a_pins>; 185 pinctrl-names = "default"; 186}; 187 188&usb0 { 189 status = "okay"; 190}; 191 192&usb2_phy0 { 193 /* 194 * HDMI_5V is also used as supply for the USB VBUS. 195 */ 196 phy-supply = <&hdmi_5v>; 197}; 198