1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright (c) 2019 BayLibre SAS. All rights reserved. 4 */ 5 6/dts-v1/; 7 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> 12 13/ { 14 compatible = "seirobotics,sei610", "amlogic,sm1"; 15 model = "SEI Robotics SEI610"; 16 17 aliases { 18 serial0 = &uart_AO; 19 ethernet0 = ðmac; 20 }; 21 22 chosen { 23 stdout-path = "serial0:115200n8"; 24 }; 25 26 emmc_pwrseq: emmc-pwrseq { 27 compatible = "mmc-pwrseq-emmc"; 28 reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>; 29 }; 30 31 gpio-keys { 32 compatible = "gpio-keys-polled"; 33 poll-interval = <100>; 34 35 key1 { 36 label = "A"; 37 linux,code = <BTN_0>; 38 gpios = <&gpio GPIOH_6 GPIO_ACTIVE_LOW>; 39 }; 40 41 key2 { 42 label = "B"; 43 linux,code = <BTN_1>; 44 gpios = <&gpio GPIOH_7 GPIO_ACTIVE_LOW>; 45 }; 46 47 key3 { 48 label = "C"; 49 linux,code = <BTN_2>; 50 gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_LOW>; 51 }; 52 }; 53 54 leds { 55 compatible = "gpio-leds"; 56 57 bluetooth { 58 label = "sei610:blue:bt"; 59 gpios = <&gpio GPIOC_7 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>; 60 default-state = "off"; 61 }; 62 }; 63 64 pwmleds { 65 compatible = "pwm-leds"; 66 67 power { 68 label = "sei610:red:power"; 69 pwms = <&pwm_AO_ab 0 30518 0>; 70 max-brightness = <255>; 71 linux,default-trigger = "default-on"; 72 active-low; 73 }; 74 }; 75 76 memory@0 { 77 device_type = "memory"; 78 reg = <0x0 0x0 0x0 0x40000000>; 79 }; 80 81 ao_5v: regulator-ao_5v { 82 compatible = "regulator-fixed"; 83 regulator-name = "AO_5V"; 84 regulator-min-microvolt = <5000000>; 85 regulator-max-microvolt = <5000000>; 86 vin-supply = <&dc_in>; 87 regulator-always-on; 88 }; 89 90 dc_in: regulator-dc_in { 91 compatible = "regulator-fixed"; 92 regulator-name = "DC_IN"; 93 regulator-min-microvolt = <5000000>; 94 regulator-max-microvolt = <5000000>; 95 regulator-always-on; 96 }; 97 98 emmc_1v8: regulator-emmc_1v8 { 99 compatible = "regulator-fixed"; 100 regulator-name = "EMMC_1V8"; 101 regulator-min-microvolt = <1800000>; 102 regulator-max-microvolt = <1800000>; 103 vin-supply = <&vddao_3v3>; 104 regulator-always-on; 105 }; 106 107 vddao_3v3: regulator-vddao_3v3 { 108 compatible = "regulator-fixed"; 109 regulator-name = "VDDAO_3V3"; 110 regulator-min-microvolt = <3300000>; 111 regulator-max-microvolt = <3300000>; 112 vin-supply = <&dc_in>; 113 regulator-always-on; 114 }; 115 116 /* Used by Tuner, RGB Led & IR Emitter LED array */ 117 vddao_3v3_t: regulator-vddao_3v3_t { 118 compatible = "regulator-fixed"; 119 regulator-name = "VDDAO_3V3_T"; 120 regulator-min-microvolt = <3300000>; 121 regulator-max-microvolt = <3300000>; 122 vin-supply = <&vddao_3v3>; 123 gpio = <&gpio GPIOH_8 GPIO_OPEN_DRAIN>; 124 enable-active-low; 125 regulator-always-on; 126 }; 127 128 vddio_ao1v8: regulator-vddio_ao1v8 { 129 compatible = "regulator-fixed"; 130 regulator-name = "VDDIO_AO1V8"; 131 regulator-min-microvolt = <1800000>; 132 regulator-max-microvolt = <1800000>; 133 vin-supply = <&vddao_3v3>; 134 regulator-always-on; 135 }; 136 137 reserved-memory { 138 /* TEE Reserved Memory */ 139 bl32_reserved: bl32@5000000 { 140 reg = <0x0 0x05300000 0x0 0x2000000>; 141 no-map; 142 }; 143 }; 144 145 sdio_pwrseq: sdio-pwrseq { 146 compatible = "mmc-pwrseq-simple"; 147 reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>; 148 clocks = <&wifi32k>; 149 clock-names = "ext_clock"; 150 }; 151 152 wifi32k: wifi32k { 153 compatible = "pwm-clock"; 154 #clock-cells = <0>; 155 clock-frequency = <32768>; 156 pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */ 157 }; 158}; 159 160&cec_AO { 161 pinctrl-0 = <&cec_ao_a_h_pins>; 162 pinctrl-names = "default"; 163 status = "disabled"; 164 hdmi-phandle = <&hdmi_tx>; 165}; 166 167&cecb_AO { 168 pinctrl-0 = <&cec_ao_b_h_pins>; 169 pinctrl-names = "default"; 170 status = "okay"; 171 hdmi-phandle = <&hdmi_tx>; 172}; 173 174ðmac { 175 status = "okay"; 176 phy-handle = <&internal_ephy>; 177 phy-mode = "rmii"; 178}; 179 180&i2c3 { 181 status = "okay"; 182 pinctrl-0 = <&i2c3_sda_a_pins>, <&i2c3_sck_a_pins>; 183 pinctrl-names = "default"; 184}; 185 186&ir { 187 status = "okay"; 188 pinctrl-0 = <&remote_input_ao_pins>; 189 pinctrl-names = "default"; 190}; 191 192&pwm_AO_ab { 193 status = "okay"; 194 pinctrl-0 = <&pwm_ao_a_pins>; 195 pinctrl-names = "default"; 196 clocks = <&xtal>; 197 clock-names = "clkin0"; 198}; 199 200&pwm_ef { 201 status = "okay"; 202 pinctrl-0 = <&pwm_e_pins>; 203 pinctrl-names = "default"; 204 clocks = <&xtal>; 205 clock-names = "clkin0"; 206}; 207 208&saradc { 209 status = "okay"; 210 vref-supply = <&vddio_ao1v8>; 211}; 212 213/* SDIO */ 214&sd_emmc_a { 215 status = "okay"; 216 pinctrl-0 = <&sdio_pins>; 217 pinctrl-1 = <&sdio_clk_gate_pins>; 218 pinctrl-names = "default", "clk-gate"; 219 #address-cells = <1>; 220 #size-cells = <0>; 221 222 bus-width = <4>; 223 cap-sd-highspeed; 224 sd-uhs-sdr50; 225 max-frequency = <100000000>; 226 227 non-removable; 228 disable-wp; 229 230 mmc-pwrseq = <&sdio_pwrseq>; 231 232 vmmc-supply = <&vddao_3v3>; 233 vqmmc-supply = <&vddio_ao1v8>; 234 235 brcmf: wifi@1 { 236 reg = <1>; 237 compatible = "brcm,bcm4329-fmac"; 238 }; 239}; 240 241/* SD card */ 242&sd_emmc_b { 243 status = "okay"; 244 pinctrl-0 = <&sdcard_c_pins>; 245 pinctrl-1 = <&sdcard_clk_gate_c_pins>; 246 pinctrl-names = "default", "clk-gate"; 247 248 bus-width = <4>; 249 cap-sd-highspeed; 250 max-frequency = <50000000>; 251 disable-wp; 252 253 cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>; 254 vmmc-supply = <&vddao_3v3>; 255 vqmmc-supply = <&vddao_3v3>; 256}; 257 258/* eMMC */ 259&sd_emmc_c { 260 status = "okay"; 261 pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; 262 pinctrl-1 = <&emmc_clk_gate_pins>; 263 pinctrl-names = "default", "clk-gate"; 264 265 bus-width = <8>; 266 cap-mmc-highspeed; 267 mmc-ddr-1_8v; 268 mmc-hs200-1_8v; 269 max-frequency = <200000000>; 270 non-removable; 271 disable-wp; 272 273 mmc-pwrseq = <&emmc_pwrseq>; 274 vmmc-supply = <&vddao_3v3>; 275 vqmmc-supply = <&emmc_1v8>; 276}; 277 278&uart_A { 279 status = "okay"; 280 pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; 281 pinctrl-names = "default"; 282 uart-has-rtscts; 283 284 bluetooth { 285 compatible = "brcm,bcm43438-bt"; 286 shutdown-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>; 287 max-speed = <2000000>; 288 clocks = <&wifi32k>; 289 clock-names = "lpo"; 290 vbat-supply = <&vddao_3v3>; 291 vddio-supply = <&vddio_ao1v8>; 292 }; 293}; 294 295/* Exposed via the on-board USB to Serial FT232RL IC */ 296&uart_AO { 297 status = "okay"; 298 pinctrl-0 = <&uart_ao_a_pins>; 299 pinctrl-names = "default"; 300}; 301