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