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-names = "default"; 99 #address-cells = <1>; 100 #size-cells = <0>; 101 102 bus-width = <4>; 103 cap-sd-highspeed; 104 max-frequency = <100000000>; 105 106 non-removable; 107 disable-wp; 108 109 mmc-pwrseq = <&sdio_pwrseq>; 110 111 vmmc-supply = <&vddao_3v3>; 112 vqmmc-supply = <&vddio_boot>; 113}; 114 115/* SD card */ 116&sd_emmc_b { 117 status = "okay"; 118 pinctrl-0 = <&sdcard_pins>; 119 pinctrl-names = "default"; 120 121 bus-width = <4>; 122 cap-sd-highspeed; 123 max-frequency = <100000000>; 124 disable-wp; 125 126 cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_HIGH>; 127 cd-inverted; 128 129 vmmc-supply = <&vddao_3v3>; 130 vqmmc-supply = <&vddio_boot>; 131}; 132 133/* eMMC */ 134&sd_emmc_c { 135 status = "okay"; 136 pinctrl-0 = <&emmc_pins>; 137 pinctrl-names = "default"; 138 139 bus-width = <8>; 140 cap-sd-highspeed; 141 cap-mmc-highspeed; 142 max-frequency = <200000000>; 143 non-removable; 144 disable-wp; 145 mmc-ddr-1_8v; 146 mmc-hs200-1_8v; 147 148 mmc-pwrseq = <&emmc_pwrseq>; 149 vmmc-supply = <&vcc_3v3>; 150 vqmmc-supply = <&vddio_boot>; 151}; 152 153&pwm_ef { 154 status = "okay"; 155 pinctrl-0 = <&pwm_e_pins>; 156 pinctrl-names = "default"; 157 clocks = <&clkc CLKID_FCLK_DIV4>; 158 clock-names = "clkin0"; 159}; 160 161/* This is connected to the Bluetooth module: */ 162&uart_A { 163 status = "okay"; 164 pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; 165 pinctrl-names = "default"; 166 uart-has-rtscts; 167}; 168 169&uart_AO { 170 status = "okay"; 171 pinctrl-0 = <&uart_ao_a_pins>; 172 pinctrl-names = "default"; 173}; 174