blob: 0385fb986148efc37b03d2362152e2009decadf9 [file] [log] [blame]
Tom Rini4549e782018-05-06 18:27:01 -04001// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
Neil Armstrong48622152017-10-12 15:50:30 +02002/*
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>
Neil Armstrong48622152017-10-12 15:50:30 +02009 */
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 };
20
21 chosen {
22 stdout-path = "serial0:115200n8";
23 };
24
25 memory@0 {
26 device_type = "memory";
27 reg = <0x0 0x0 0x0 0x80000000>;
28 };
29
30 vddio_boot: regulator-vddio_boot {
31 compatible = "regulator-fixed";
32 regulator-name = "VDDIO_BOOT";
33 regulator-min-microvolt = <1800000>;
34 regulator-max-microvolt = <1800000>;
35 };
36
37 vddao_3v3: regulator-vddao_3v3 {
38 compatible = "regulator-fixed";
39 regulator-name = "VDDAO_3V3";
40 regulator-min-microvolt = <3300000>;
41 regulator-max-microvolt = <3300000>;
42 };
43
44 vddio_ao18: regulator-vddio_ao18 {
45 compatible = "regulator-fixed";
46 regulator-name = "VDDIO_AO18";
47 regulator-min-microvolt = <1800000>;
48 regulator-max-microvolt = <1800000>;
49 };
50
51 vcc_3v3: regulator-vcc_3v3 {
52 compatible = "regulator-fixed";
53 regulator-name = "VCC_3V3";
54 regulator-min-microvolt = <3300000>;
55 regulator-max-microvolt = <3300000>;
56 };
57
58 emmc_pwrseq: emmc-pwrseq {
59 compatible = "mmc-pwrseq-emmc";
60 reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>;
61 };
62
63 wifi32k: wifi32k {
64 compatible = "pwm-clock";
65 #clock-cells = <0>;
66 clock-frequency = <32768>;
67 pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */
68 };
69
70 sdio_pwrseq: sdio-pwrseq {
71 compatible = "mmc-pwrseq-simple";
72 reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>;
73 clocks = <&wifi32k>;
74 clock-names = "ext_clock";
75 };
76};
77
78&ethmac {
79 status = "okay";
80};
81
82&ir {
83 status = "okay";
84 pinctrl-0 = <&remote_input_ao_pins>;
85 pinctrl-names = "default";
86};
87
88&saradc {
89 status = "okay";
90 vref-supply = <&vddio_ao18>;
91};
92
93/* Wireless SDIO Module */
94&sd_emmc_a {
95 status = "okay";
96 pinctrl-0 = <&sdio_pins>;
97 pinctrl-names = "default";
98 #address-cells = <1>;
99 #size-cells = <0>;
100
101 bus-width = <4>;
102 cap-sd-highspeed;
103 max-frequency = <100000000>;
104
105 non-removable;
106 disable-wp;
107
108 mmc-pwrseq = <&sdio_pwrseq>;
109
110 vmmc-supply = <&vddao_3v3>;
111 vqmmc-supply = <&vddio_boot>;
112};
113
114/* SD card */
115&sd_emmc_b {
116 status = "okay";
117 pinctrl-0 = <&sdcard_pins>;
118 pinctrl-names = "default";
119
120 bus-width = <4>;
121 cap-sd-highspeed;
122 max-frequency = <100000000>;
123 disable-wp;
124
125 cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_HIGH>;
126 cd-inverted;
127
128 vmmc-supply = <&vddao_3v3>;
129 vqmmc-supply = <&vddio_boot>;
130};
131
132/* eMMC */
133&sd_emmc_c {
134 status = "okay";
135 pinctrl-0 = <&emmc_pins>;
136 pinctrl-names = "default";
137
138 bus-width = <8>;
139 cap-sd-highspeed;
140 cap-mmc-highspeed;
141 max-frequency = <200000000>;
142 non-removable;
143 disable-wp;
144 mmc-ddr-1_8v;
145 mmc-hs200-1_8v;
146
147 mmc-pwrseq = <&emmc_pwrseq>;
148 vmmc-supply = <&vcc_3v3>;
149 vqmmc-supply = <&vddio_boot>;
150};
151
152&pwm_ef {
153 status = "okay";
154 pinctrl-0 = <&pwm_e_pins>;
155 pinctrl-names = "default";
156 clocks = <&clkc CLKID_FCLK_DIV4>;
157 clock-names = "clkin0";
158};
159
160/* This is connected to the Bluetooth module: */
161&uart_A {
162 status = "okay";
163 pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
164 pinctrl-names = "default";
165 uart-has-rtscts;
166};
167
168&uart_AO {
169 status = "okay";
170 pinctrl-0 = <&uart_ao_a_pins>;
171 pinctrl-names = "default";
172};