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";
23 stdout-path = "serial0:115200n8";
26 emmc_pwrseq: emmc-pwrseq {
27 compatible = "mmc-pwrseq-emmc";
28 reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>;
32 compatible = "gpio-keys-polled";
33 poll-interval = <100>;
38 gpios = <&gpio GPIOH_6 GPIO_ACTIVE_LOW>;
44 gpios = <&gpio GPIOH_7 GPIO_ACTIVE_LOW>;
50 gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_LOW>;
55 compatible = "hdmi-connector";
59 hdmi_connector_in: endpoint {
60 remote-endpoint = <&hdmi_tx_tmds_out>;
66 compatible = "gpio-leds";
69 label = "sei610:blue:bt";
70 gpios = <&gpio GPIOC_7 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>;
71 default-state = "off";
76 compatible = "pwm-leds";
79 label = "sei610:red:power";
80 pwms = <&pwm_AO_ab 0 30518 0>;
81 max-brightness = <255>;
82 linux,default-trigger = "default-on";
88 device_type = "memory";
89 reg = <0x0 0x0 0x0 0x40000000>;
92 ao_5v: regulator-ao_5v {
93 compatible = "regulator-fixed";
94 regulator-name = "AO_5V";
95 regulator-min-microvolt = <5000000>;
96 regulator-max-microvolt = <5000000>;
97 vin-supply = <&dc_in>;
101 dc_in: regulator-dc_in {
102 compatible = "regulator-fixed";
103 regulator-name = "DC_IN";
104 regulator-min-microvolt = <5000000>;
105 regulator-max-microvolt = <5000000>;
109 emmc_1v8: regulator-emmc_1v8 {
110 compatible = "regulator-fixed";
111 regulator-name = "EMMC_1V8";
112 regulator-min-microvolt = <1800000>;
113 regulator-max-microvolt = <1800000>;
114 vin-supply = <&vddao_3v3>;
118 vddao_3v3: regulator-vddao_3v3 {
119 compatible = "regulator-fixed";
120 regulator-name = "VDDAO_3V3";
121 regulator-min-microvolt = <3300000>;
122 regulator-max-microvolt = <3300000>;
123 vin-supply = <&dc_in>;
127 /* Used by Tuner, RGB Led & IR Emitter LED array */
128 vddao_3v3_t: regulator-vddao_3v3_t {
129 compatible = "regulator-fixed";
130 regulator-name = "VDDAO_3V3_T";
131 regulator-min-microvolt = <3300000>;
132 regulator-max-microvolt = <3300000>;
133 vin-supply = <&vddao_3v3>;
134 gpio = <&gpio GPIOH_8 GPIO_OPEN_DRAIN>;
139 vddcpu: regulator-vddcpu {
141 * SY8120B1ABC DC/DC Regulator.
143 compatible = "pwm-regulator";
145 regulator-name = "VDDCPU";
146 regulator-min-microvolt = <690000>;
147 regulator-max-microvolt = <1050000>;
149 vin-supply = <&dc_in>;
151 pwms = <&pwm_AO_cd 1 1500 0>;
152 pwm-dutycycle-range = <100 0>;
158 vddio_ao1v8: regulator-vddio_ao1v8 {
159 compatible = "regulator-fixed";
160 regulator-name = "VDDIO_AO1V8";
161 regulator-min-microvolt = <1800000>;
162 regulator-max-microvolt = <1800000>;
163 vin-supply = <&vddao_3v3>;
167 sdio_pwrseq: sdio-pwrseq {
168 compatible = "mmc-pwrseq-simple";
169 reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>;
171 clock-names = "ext_clock";
175 compatible = "pwm-clock";
177 clock-frequency = <32768>;
178 pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */
183 pinctrl-0 = <&cec_ao_a_h_pins>;
184 pinctrl-names = "default";
186 hdmi-phandle = <&hdmi_tx>;
190 pinctrl-0 = <&cec_ao_b_h_pins>;
191 pinctrl-names = "default";
193 hdmi-phandle = <&hdmi_tx>;
197 cpu-supply = <&vddcpu>;
198 operating-points-v2 = <&cpu_opp_table>;
199 clocks = <&clkc CLKID_CPU_CLK>;
200 clock-latency = <50000>;
204 cpu-supply = <&vddcpu>;
205 operating-points-v2 = <&cpu_opp_table>;
206 clocks = <&clkc CLKID_CPU1_CLK>;
207 clock-latency = <50000>;
211 cpu-supply = <&vddcpu>;
212 operating-points-v2 = <&cpu_opp_table>;
213 clocks = <&clkc CLKID_CPU2_CLK>;
214 clock-latency = <50000>;
218 cpu-supply = <&vddcpu>;
219 operating-points-v2 = <&cpu_opp_table>;
220 clocks = <&clkc CLKID_CPU3_CLK>;
221 clock-latency = <50000>;
226 phy-handle = <&internal_ephy>;
232 pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>;
233 pinctrl-names = "default";
237 hdmi_tx_tmds_out: endpoint {
238 remote-endpoint = <&hdmi_connector_in>;
244 pinctrl-0 = <&i2c3_sda_a_pins>, <&i2c3_sck_a_pins>;
245 pinctrl-names = "default";
250 pinctrl-0 = <&remote_input_ao_pins>;
251 pinctrl-names = "default";
256 pinctrl-0 = <&pwm_ao_a_pins>;
257 pinctrl-names = "default";
259 clock-names = "clkin0";
263 pinctrl-0 = <&pwm_ao_d_e_pins>;
264 pinctrl-names = "default";
266 clock-names = "clkin1";
272 pinctrl-0 = <&pwm_e_pins>;
273 pinctrl-names = "default";
275 clock-names = "clkin0";
280 vref-supply = <&vddio_ao1v8>;
286 pinctrl-0 = <&sdio_pins>;
287 pinctrl-1 = <&sdio_clk_gate_pins>;
288 pinctrl-names = "default", "clk-gate";
289 #address-cells = <1>;
295 max-frequency = <100000000>;
300 mmc-pwrseq = <&sdio_pwrseq>;
302 vmmc-supply = <&vddao_3v3>;
303 vqmmc-supply = <&vddio_ao1v8>;
307 compatible = "brcm,bcm4329-fmac";
314 pinctrl-0 = <&sdcard_c_pins>;
315 pinctrl-1 = <&sdcard_clk_gate_c_pins>;
316 pinctrl-names = "default", "clk-gate";
320 max-frequency = <50000000>;
323 cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>;
324 vmmc-supply = <&vddao_3v3>;
325 vqmmc-supply = <&vddao_3v3>;
331 pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>;
332 pinctrl-1 = <&emmc_clk_gate_pins>;
333 pinctrl-names = "default", "clk-gate";
339 max-frequency = <200000000>;
343 mmc-pwrseq = <&emmc_pwrseq>;
344 vmmc-supply = <&vddao_3v3>;
345 vqmmc-supply = <&emmc_1v8>;
350 pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
351 pinctrl-names = "default";
355 compatible = "brcm,bcm43438-bt";
356 interrupt-parent = <&gpio_intc>;
357 interrupts = <95 IRQ_TYPE_LEVEL_HIGH>;
358 interrupt-names = "host-wakeup";
359 shutdown-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>;
360 max-speed = <2000000>;
363 vbat-supply = <&vddao_3v3>;
364 vddio-supply = <&vddio_ao1v8>;
368 /* Exposed via the on-board USB to Serial FT232RL IC */
371 pinctrl-0 = <&uart_ao_a_pins>;
372 pinctrl-names = "default";