1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
3 * Copyright (c) 2019 BayLibre SAS. All rights reserved.
8 #include "meson-sm1.dtsi"
9 #include <dt-bindings/gpio/gpio.h>
10 #include <dt-bindings/input/input.h>
11 #include <dt-bindings/gpio/meson-g12a-gpio.h>
14 compatible = "seirobotics,sei610", "amlogic,sm1";
15 model = "SEI Robotics SEI610";
22 emmc_pwrseq: emmc-pwrseq {
23 compatible = "mmc-pwrseq-emmc";
24 reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>;
28 compatible = "gpio-keys-polled";
29 poll-interval = <100>;
34 gpios = <&gpio GPIOH_6 GPIO_ACTIVE_LOW>;
40 gpios = <&gpio GPIOH_7 GPIO_ACTIVE_LOW>;
46 gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_LOW>;
51 compatible = "hdmi-connector";
55 hdmi_connector_in: endpoint {
56 remote-endpoint = <&hdmi_tx_tmds_out>;
62 compatible = "gpio-leds";
65 label = "sei610:blue:bt";
66 gpios = <&gpio GPIOC_7 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>;
67 default-state = "off";
72 compatible = "pwm-leds";
75 label = "sei610:red:power";
76 pwms = <&pwm_AO_ab 0 30518 0>;
77 max-brightness = <255>;
78 linux,default-trigger = "default-on";
84 device_type = "memory";
85 reg = <0x0 0x0 0x0 0x40000000>;
88 ao_5v: regulator-ao_5v {
89 compatible = "regulator-fixed";
90 regulator-name = "AO_5V";
91 regulator-min-microvolt = <5000000>;
92 regulator-max-microvolt = <5000000>;
93 vin-supply = <&dc_in>;
97 dc_in: regulator-dc_in {
98 compatible = "regulator-fixed";
99 regulator-name = "DC_IN";
100 regulator-min-microvolt = <5000000>;
101 regulator-max-microvolt = <5000000>;
105 emmc_1v8: regulator-emmc_1v8 {
106 compatible = "regulator-fixed";
107 regulator-name = "EMMC_1V8";
108 regulator-min-microvolt = <1800000>;
109 regulator-max-microvolt = <1800000>;
110 vin-supply = <&vddao_3v3>;
114 vddao_3v3: regulator-vddao_3v3 {
115 compatible = "regulator-fixed";
116 regulator-name = "VDDAO_3V3";
117 regulator-min-microvolt = <3300000>;
118 regulator-max-microvolt = <3300000>;
119 vin-supply = <&dc_in>;
123 /* Used by Tuner, RGB Led & IR Emitter LED array */
124 vddao_3v3_t: regulator-vddao_3v3_t {
125 compatible = "regulator-fixed";
126 regulator-name = "VDDAO_3V3_T";
127 regulator-min-microvolt = <3300000>;
128 regulator-max-microvolt = <3300000>;
129 vin-supply = <&vddao_3v3>;
130 gpio = <&gpio GPIOH_8 GPIO_OPEN_DRAIN>;
135 vddcpu: regulator-vddcpu {
137 * SY8120B1ABC DC/DC Regulator.
139 compatible = "pwm-regulator";
141 regulator-name = "VDDCPU";
142 regulator-min-microvolt = <690000>;
143 regulator-max-microvolt = <1050000>;
145 vin-supply = <&dc_in>;
147 pwms = <&pwm_AO_cd 1 1500 0>;
148 pwm-dutycycle-range = <100 0>;
154 vddio_ao1v8: regulator-vddio_ao1v8 {
155 compatible = "regulator-fixed";
156 regulator-name = "VDDIO_AO1V8";
157 regulator-min-microvolt = <1800000>;
158 regulator-max-microvolt = <1800000>;
159 vin-supply = <&vddao_3v3>;
164 /* TEE Reserved Memory */
165 bl32_reserved: bl32@5000000 {
166 reg = <0x0 0x05300000 0x0 0x2000000>;
171 sdio_pwrseq: sdio-pwrseq {
172 compatible = "mmc-pwrseq-simple";
173 reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>;
175 clock-names = "ext_clock";
179 compatible = "pwm-clock";
181 clock-frequency = <32768>;
182 pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */
187 pinctrl-0 = <&cec_ao_a_h_pins>;
188 pinctrl-names = "default";
190 hdmi-phandle = <&hdmi_tx>;
194 pinctrl-0 = <&cec_ao_b_h_pins>;
195 pinctrl-names = "default";
197 hdmi-phandle = <&hdmi_tx>;
201 cpu-supply = <&vddcpu>;
202 operating-points-v2 = <&cpu_opp_table>;
203 clocks = <&clkc CLKID_CPU_CLK>;
204 clock-latency = <50000>;
208 cpu-supply = <&vddcpu>;
209 operating-points-v2 = <&cpu_opp_table>;
210 clocks = <&clkc CLKID_CPU1_CLK>;
211 clock-latency = <50000>;
215 cpu-supply = <&vddcpu>;
216 operating-points-v2 = <&cpu_opp_table>;
217 clocks = <&clkc CLKID_CPU2_CLK>;
218 clock-latency = <50000>;
222 cpu-supply = <&vddcpu>;
223 operating-points-v2 = <&cpu_opp_table>;
224 clocks = <&clkc CLKID_CPU3_CLK>;
225 clock-latency = <50000>;
230 phy-handle = <&internal_ephy>;
236 pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>;
237 pinctrl-names = "default";
241 hdmi_tx_tmds_out: endpoint {
242 remote-endpoint = <&hdmi_connector_in>;
248 pinctrl-0 = <&i2c3_sda_a_pins>, <&i2c3_sck_a_pins>;
249 pinctrl-names = "default";
254 pinctrl-0 = <&remote_input_ao_pins>;
255 pinctrl-names = "default";
260 pinctrl-0 = <&pwm_ao_a_pins>;
261 pinctrl-names = "default";
263 clock-names = "clkin0";
267 pinctrl-0 = <&pwm_ao_d_e_pins>;
268 pinctrl-names = "default";
270 clock-names = "clkin1";
276 pinctrl-0 = <&pwm_e_pins>;
277 pinctrl-names = "default";
279 clock-names = "clkin0";
284 vref-supply = <&vddio_ao1v8>;
290 pinctrl-0 = <&sdio_pins>;
291 pinctrl-1 = <&sdio_clk_gate_pins>;
292 pinctrl-names = "default", "clk-gate";
293 #address-cells = <1>;
299 max-frequency = <100000000>;
304 mmc-pwrseq = <&sdio_pwrseq>;
306 vmmc-supply = <&vddao_3v3>;
307 vqmmc-supply = <&vddio_ao1v8>;
311 compatible = "brcm,bcm4329-fmac";
318 pinctrl-0 = <&sdcard_c_pins>;
319 pinctrl-1 = <&sdcard_clk_gate_c_pins>;
320 pinctrl-names = "default", "clk-gate";
324 max-frequency = <50000000>;
327 cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>;
328 vmmc-supply = <&vddao_3v3>;
329 vqmmc-supply = <&vddao_3v3>;
335 pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>;
336 pinctrl-1 = <&emmc_clk_gate_pins>;
337 pinctrl-names = "default", "clk-gate";
343 max-frequency = <200000000>;
347 mmc-pwrseq = <&emmc_pwrseq>;
348 vmmc-supply = <&vddao_3v3>;
349 vqmmc-supply = <&emmc_1v8>;
354 pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
355 pinctrl-names = "default";
359 compatible = "brcm,bcm43438-bt";
360 shutdown-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>;
361 max-speed = <2000000>;
364 vbat-supply = <&vddao_3v3>;
365 vddio-supply = <&vddio_ao1v8>;
369 /* Exposed via the on-board USB to Serial FT232RL IC */
372 pinctrl-0 = <&uart_ao_a_pins>;
373 pinctrl-names = "default";