blob: f3eea8e89d12b7a4479851a8d1e0482374235568 [file] [log] [blame]
Neil Armstronga4cf3922017-10-12 15:50:30 +02001/*
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&ethmac {
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};