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 = <100000000>; 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 = <100000000>; 138 disable-wp; 139 140 cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_HIGH>; 141 cd-inverted; 142 143 vmmc-supply = <&vddao_3v3>; 144 vqmmc-supply = <&vddio_boot>; 145}; 146 147/* eMMC */ 148&sd_emmc_c { 149 status = "okay"; 150 pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; 151 pinctrl-1 = <&emmc_clk_gate_pins>; 152 pinctrl-names = "default", "clk-gate"; 153 154 bus-width = <8>; 155 cap-mmc-highspeed; 156 max-frequency = <200000000>; 157 non-removable; 158 disable-wp; 159 mmc-ddr-1_8v; 160 mmc-hs200-1_8v; 161 162 mmc-pwrseq = <&emmc_pwrseq>; 163 vmmc-supply = <&vcc_3v3>; 164 vqmmc-supply = <&vddio_boot>; 165}; 166 167&pwm_ef { 168 status = "okay"; 169 pinctrl-0 = <&pwm_e_pins>; 170 pinctrl-names = "default"; 171 clocks = <&clkc CLKID_FCLK_DIV4>; 172 clock-names = "clkin0"; 173}; 174 175/* This is connected to the Bluetooth module: */ 176&uart_A { 177 status = "okay"; 178 pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; 179 pinctrl-names = "default"; 180 uart-has-rtscts; 181}; 182 183&uart_AO { 184 status = "okay"; 185 pinctrl-0 = <&uart_ao_a_pins>; 186 pinctrl-names = "default"; 187}; 188 189&usb0 { 190 status = "okay"; 191}; 192 193&usb2_phy0 { 194 /* 195 * HDMI_5V is also used as supply for the USB VBUS. 196 */ 197 phy-supply = <&hdmi_5v>; 198}; 199