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 }; 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 vddio_boot: regulator-vddio_boot { 32 compatible = "regulator-fixed"; 33 regulator-name = "VDDIO_BOOT"; 34 regulator-min-microvolt = <1800000>; 35 regulator-max-microvolt = <1800000>; 36 }; 37 38 vddao_3v3: regulator-vddao_3v3 { 39 compatible = "regulator-fixed"; 40 regulator-name = "VDDAO_3V3"; 41 regulator-min-microvolt = <3300000>; 42 regulator-max-microvolt = <3300000>; 43 }; 44 45 vddio_ao18: regulator-vddio_ao18 { 46 compatible = "regulator-fixed"; 47 regulator-name = "VDDIO_AO18"; 48 regulator-min-microvolt = <1800000>; 49 regulator-max-microvolt = <1800000>; 50 }; 51 52 vcc_3v3: regulator-vcc_3v3 { 53 compatible = "regulator-fixed"; 54 regulator-name = "VCC_3V3"; 55 regulator-min-microvolt = <3300000>; 56 regulator-max-microvolt = <3300000>; 57 }; 58 59 emmc_pwrseq: emmc-pwrseq { 60 compatible = "mmc-pwrseq-emmc"; 61 reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>; 62 }; 63 64 wifi32k: wifi32k { 65 compatible = "pwm-clock"; 66 #clock-cells = <0>; 67 clock-frequency = <32768>; 68 pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */ 69 }; 70 71 sdio_pwrseq: sdio-pwrseq { 72 compatible = "mmc-pwrseq-simple"; 73 reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>; 74 clocks = <&wifi32k>; 75 clock-names = "ext_clock"; 76 }; 77}; 78 79ðmac { 80 status = "okay"; 81}; 82 83&ir { 84 status = "okay"; 85 pinctrl-0 = <&remote_input_ao_pins>; 86 pinctrl-names = "default"; 87}; 88 89&saradc { 90 status = "okay"; 91 vref-supply = <&vddio_ao18>; 92}; 93 94/* Wireless SDIO Module */ 95&sd_emmc_a { 96 status = "okay"; 97 pinctrl-0 = <&sdio_pins>; 98 pinctrl-1 = <&sdio_clk_gate_pins>; 99 pinctrl-names = "default", "clk-gate"; 100 #address-cells = <1>; 101 #size-cells = <0>; 102 103 bus-width = <4>; 104 cap-sd-highspeed; 105 max-frequency = <100000000>; 106 107 non-removable; 108 disable-wp; 109 110 mmc-pwrseq = <&sdio_pwrseq>; 111 112 vmmc-supply = <&vddao_3v3>; 113 vqmmc-supply = <&vddio_boot>; 114}; 115 116/* SD card */ 117&sd_emmc_b { 118 status = "okay"; 119 pinctrl-0 = <&sdcard_pins>; 120 pinctrl-1 = <&sdcard_clk_gate_pins>; 121 pinctrl-names = "default", "clk-gate"; 122 123 bus-width = <4>; 124 cap-sd-highspeed; 125 max-frequency = <100000000>; 126 disable-wp; 127 128 cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_HIGH>; 129 cd-inverted; 130 131 vmmc-supply = <&vddao_3v3>; 132 vqmmc-supply = <&vddio_boot>; 133}; 134 135/* eMMC */ 136&sd_emmc_c { 137 status = "okay"; 138 pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; 139 pinctrl-1 = <&emmc_clk_gate_pins>; 140 pinctrl-names = "default", "clk-gate"; 141 142 bus-width = <8>; 143 cap-mmc-highspeed; 144 max-frequency = <200000000>; 145 non-removable; 146 disable-wp; 147 mmc-ddr-1_8v; 148 mmc-hs200-1_8v; 149 150 mmc-pwrseq = <&emmc_pwrseq>; 151 vmmc-supply = <&vcc_3v3>; 152 vqmmc-supply = <&vddio_boot>; 153}; 154 155&pwm_ef { 156 status = "okay"; 157 pinctrl-0 = <&pwm_e_pins>; 158 pinctrl-names = "default"; 159 clocks = <&clkc CLKID_FCLK_DIV4>; 160 clock-names = "clkin0"; 161}; 162 163/* This is connected to the Bluetooth module: */ 164&uart_A { 165 status = "okay"; 166 pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; 167 pinctrl-names = "default"; 168 uart-has-rtscts; 169}; 170 171&uart_AO { 172 status = "okay"; 173 pinctrl-0 = <&uart_ao_a_pins>; 174 pinctrl-names = "default"; 175}; 176