| // SPDX-License-Identifier: (GPL-2.0+ OR MIT) |
| /* |
| * Copyright (c) 2018 Martin Blumenstingl <martin.blumenstingl@googlemail.com>. |
| */ |
| |
| /dts-v1/; |
| |
| #include <dt-bindings/gpio/gpio.h> |
| #include <dt-bindings/input/input.h> |
| |
| #include "meson8b.dtsi" |
| |
| / { |
| model = "Endless Computers Endless Mini"; |
| compatible = "endless,ec100", "amlogic,meson8b"; |
| |
| aliases { |
| serial0 = &uart_AO; |
| }; |
| |
| chosen { |
| stdout-path = "serial0:115200n8"; |
| }; |
| |
| memory { |
| reg = <0x40000000 0x40000000>; |
| }; |
| |
| gpio-keys { |
| compatible = "gpio-keys-polled"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| poll-interval = <100>; |
| |
| pal-switch { |
| label = "pal"; |
| linux,input-type = <EV_SW>; |
| linux,code = <KEY_SWITCHVIDEOMODE>; |
| gpios = <&gpio GPIOH_7 GPIO_ACTIVE_LOW>; |
| }; |
| |
| ntsc-switch { |
| label = "ntsc"; |
| linux,input-type = <EV_SW>; |
| linux,code = <KEY_SWITCHVIDEOMODE>; |
| gpios = <&gpio GPIOH_8 GPIO_ACTIVE_HIGH>; |
| }; |
| |
| power-button { |
| label = "power"; |
| linux,code = <KEY_POWER>; |
| gpios = <&gpio GPIOH_9 GPIO_ACTIVE_LOW>; |
| }; |
| }; |
| |
| gpio-poweroff { |
| compatible = "gpio-poweroff"; |
| /* |
| * shutdown is managed by the EC (embedded micro-controller) |
| * which is configured through GPIOAO_2 (poweroff GPIO) and |
| * GPIOAO_7 (power LED, which has to go LOW as well). |
| */ |
| gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_LOW>; |
| timeout-ms = <20000>; |
| }; |
| |
| leds { |
| compatible = "gpio-leds"; |
| |
| power { |
| label = "ec100:red:power"; |
| /* |
| * Needs to go LOW (together with the poweroff GPIO) |
| * during shutdown to allow the EC (embedded |
| * micro-controller) to shutdown the system. Setting |
| * the output to LOW signals the EC to start a |
| * "breathing"/pulsing effect until the power is fully |
| * turned off. |
| */ |
| gpios = <&gpio_ao GPIOAO_7 GPIO_ACTIVE_HIGH>; |
| default-state = "on"; |
| }; |
| }; |
| |
| usb_vbus: regulator-usb-vbus { |
| compatible = "regulator-fixed"; |
| |
| regulator-name = "USB_VBUS"; |
| |
| regulator-min-microvolt = <5000000>; |
| regulator-max-microvolt = <5000000>; |
| |
| gpio = <&gpio_ao GPIOAO_5 GPIO_ACTIVE_HIGH>; |
| enable-active-high; |
| }; |
| |
| vcc_5v: regulator-vcc5v { |
| compatible = "regulator-fixed"; |
| |
| regulator-name = "VCC5V"; |
| |
| regulator-min-microvolt = <5000000>; |
| regulator-max-microvolt = <5000000>; |
| |
| gpio = <&gpio GPIODV_29 GPIO_ACTIVE_LOW>; |
| |
| regulator-boot-on; |
| regulator-always-on; |
| }; |
| |
| vcck: regulator-vcck { |
| compatible = "pwm-regulator"; |
| |
| regulator-name = "VCCK"; |
| regulator-min-microvolt = <860000>; |
| regulator-max-microvolt = <1140000>; |
| |
| pwms = <&pwm_cd 0 1148 0>; |
| pwm-dutycycle-range = <100 0>; |
| |
| regulator-boot-on; |
| regulator-always-on; |
| }; |
| |
| vcc_1v8: regulator-vcc1v8 { |
| compatible = "regulator-fixed"; |
| |
| regulator-name = "VCC1V8"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| }; |
| |
| vcc_3v3: regulator-vcc3v3 { |
| compatible = "regulator-fixed"; |
| |
| regulator-name = "VCC3V3"; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| }; |
| }; |
| |
| &cpu0 { |
| cpu-supply = <&vcck>; |
| }; |
| |
| ðmac { |
| status = "okay"; |
| |
| pinctrl-0 = <ð_rmii_pins>; |
| pinctrl-names = "default"; |
| |
| phy-handle = <ð_phy0>; |
| phy-mode = "rmii"; |
| |
| snps,reset-gpio = <&gpio GPIOH_4 0>; |
| snps,reset-delays-us = <0 10000 1000000>; |
| snps,reset-active-low; |
| |
| mdio { |
| compatible = "snps,dwmac-mdio"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| eth_phy0: ethernet-phy@0 { |
| /* IC Plus IP101A/G (0x02430c54) */ |
| reg = <0>; |
| }; |
| }; |
| }; |
| |
| &i2c_A { |
| status = "okay"; |
| pinctrl-0 = <&i2c_a_pins>; |
| pinctrl-names = "default"; |
| |
| rt5640: codec@1c { |
| compatible = "realtek,rt5640"; |
| reg = <0x1c>; |
| interrupt-parent = <&gpio_intc>; |
| interrupts = <13 IRQ_TYPE_EDGE_BOTH>; /* GPIOAO_13 */ |
| realtek,in1-differential; |
| }; |
| }; |
| |
| &saradc { |
| status = "okay"; |
| vref-supply = <&vcc_1v8>; |
| }; |
| |
| &sdio { |
| status = "okay"; |
| |
| pinctrl-0 = <&sd_b_pins>; |
| pinctrl-names = "default"; |
| |
| /* SD card */ |
| sd_card_slot: slot@1 { |
| compatible = "mmc-slot"; |
| reg = <1>; |
| status = "okay"; |
| |
| bus-width = <4>; |
| no-sdio; |
| cap-mmc-highspeed; |
| cap-sd-highspeed; |
| disable-wp; |
| |
| cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_HIGH>; |
| cd-inverted; |
| |
| vmmc-supply = <&vcc_3v3>; |
| }; |
| }; |
| |
| &pwm_cd { |
| status = "okay"; |
| pinctrl-0 = <&pwm_c1_pins>; |
| pinctrl-names = "default"; |
| clocks = <&clkc CLKID_XTAL>; |
| clock-names = "clkin0"; |
| }; |
| |
| /* exposed through the pin headers labeled "URDUG1" on the top of the PCB */ |
| &uart_AO { |
| status = "okay"; |
| pinctrl-0 = <&uart_ao_a_pins>; |
| pinctrl-names = "default"; |
| }; |
| |
| /* |
| * connected to the Bluetooth part of the RTL8723BS SDIO wifi / Bluetooth |
| * combo chip. This is only available on the variant with 2GB RAM. |
| */ |
| &uart_B { |
| status = "okay"; |
| pinctrl-0 = <&uart_b0_pins>, <&uart_b0_cts_rts_pins>; |
| pinctrl-names = "default"; |
| uart-has-rtscts; |
| }; |
| |
| &usb1 { |
| status = "okay"; |
| vbus-supply = <&usb_vbus>; |
| }; |
| |
| &usb1_phy { |
| status = "okay"; |
| }; |