254 lines
5.1 KiB
Plaintext
254 lines
5.1 KiB
Plaintext
|
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||
|
/*
|
||
|
* Copyright (c) 2017 Martin Blumenstingl <martin.blumenstingl@googlemail.com>.
|
||
|
*/
|
||
|
|
||
|
/dts-v1/;
|
||
|
|
||
|
#include "meson-gxl-s905x-p212.dtsi"
|
||
|
#include <dt-bindings/input/input.h>
|
||
|
#include <dt-bindings/sound/meson-aiu.h>
|
||
|
|
||
|
/ {
|
||
|
compatible = "khadas,vim", "amlogic,s905x", "amlogic,meson-gxl";
|
||
|
model = "Khadas VIM";
|
||
|
|
||
|
adc-keys {
|
||
|
compatible = "adc-keys";
|
||
|
io-channels = <&saradc 0>;
|
||
|
io-channel-names = "buttons";
|
||
|
keyup-threshold-microvolt = <1710000>;
|
||
|
|
||
|
button-function {
|
||
|
label = "Function";
|
||
|
linux,code = <KEY_FN>;
|
||
|
press-threshold-microvolt = <10000>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
aliases {
|
||
|
serial2 = &uart_AO_B;
|
||
|
ethernet0 = ðmac;
|
||
|
};
|
||
|
|
||
|
gpio-keys-polled {
|
||
|
compatible = "gpio-keys-polled";
|
||
|
poll-interval = <100>;
|
||
|
|
||
|
power-button {
|
||
|
label = "power";
|
||
|
linux,code = <KEY_POWER>;
|
||
|
gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_LOW>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
led-controller {
|
||
|
compatible = "pwm-leds";
|
||
|
|
||
|
led-1 {
|
||
|
label = "vim:red:power";
|
||
|
pwms = <&pwm_AO_ab 1 7812500 0>;
|
||
|
max-brightness = <255>;
|
||
|
linux,default-trigger = "default-on";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
hdmi-connector {
|
||
|
compatible = "hdmi-connector";
|
||
|
type = "a";
|
||
|
|
||
|
port {
|
||
|
hdmi_connector_in: endpoint {
|
||
|
remote-endpoint = <&hdmi_tx_tmds_out>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
sound {
|
||
|
compatible = "amlogic,gx-sound-card";
|
||
|
model = "KHADAS-VIM";
|
||
|
assigned-clocks = <&clkc CLKID_MPLL0>,
|
||
|
<&clkc CLKID_MPLL1>,
|
||
|
<&clkc CLKID_MPLL2>;
|
||
|
assigned-clock-parents = <0>, <0>, <0>;
|
||
|
assigned-clock-rates = <294912000>,
|
||
|
<270950400>,
|
||
|
<393216000>;
|
||
|
status = "okay";
|
||
|
|
||
|
dai-link-0 {
|
||
|
sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>;
|
||
|
};
|
||
|
|
||
|
dai-link-1 {
|
||
|
sound-dai = <&aiu AIU_CPU CPU_I2S_ENCODER>;
|
||
|
dai-format = "i2s";
|
||
|
mclk-fs = <256>;
|
||
|
|
||
|
codec-0 {
|
||
|
sound-dai = <&aiu AIU_HDMI CTRL_I2S>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
dai-link-2 {
|
||
|
sound-dai = <&aiu AIU_HDMI CTRL_OUT>;
|
||
|
|
||
|
codec-0 {
|
||
|
sound-dai = <&hdmi_tx>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&aiu {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&cec_AO {
|
||
|
status = "okay";
|
||
|
pinctrl-0 = <&ao_cec_pins>;
|
||
|
pinctrl-names = "default";
|
||
|
hdmi-phandle = <&hdmi_tx>;
|
||
|
};
|
||
|
|
||
|
&hdmi_tx {
|
||
|
status = "okay";
|
||
|
pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>;
|
||
|
pinctrl-names = "default";
|
||
|
hdmi-supply = <&hdmi_5v>;
|
||
|
};
|
||
|
|
||
|
&hdmi_tx_tmds_port {
|
||
|
hdmi_tx_tmds_out: endpoint {
|
||
|
remote-endpoint = <&hdmi_connector_in>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&i2c_A {
|
||
|
status = "okay";
|
||
|
pinctrl-0 = <&i2c_a_pins>;
|
||
|
pinctrl-names = "default";
|
||
|
};
|
||
|
|
||
|
&i2c_B {
|
||
|
status = "okay";
|
||
|
pinctrl-0 = <&i2c_b_pins>;
|
||
|
pinctrl-names = "default";
|
||
|
|
||
|
rtc: rtc@51 {
|
||
|
status = "okay";
|
||
|
compatible = "haoyu,hym8563";
|
||
|
reg = <0x51>;
|
||
|
#clock-cells = <0>;
|
||
|
clock-frequency = <32768>;
|
||
|
clock-output-names = "xin32k";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&ir {
|
||
|
linux,rc-map-name = "rc-khadas";
|
||
|
};
|
||
|
|
||
|
&gpio_ao {
|
||
|
gpio-line-names = "UART TX",
|
||
|
"UART RX",
|
||
|
"Power Key In",
|
||
|
"J9 Header Pin35",
|
||
|
"J9 Header Pin16",
|
||
|
"J9 Header Pin15",
|
||
|
"J9 Header Pin33",
|
||
|
"IR In",
|
||
|
"HDMI CEC",
|
||
|
"SYS LED",
|
||
|
/* GPIO_TEST_N */
|
||
|
"";
|
||
|
};
|
||
|
|
||
|
&gpio {
|
||
|
gpio-line-names = /* Bank GPIOZ */
|
||
|
"", "", "", "", "", "", "",
|
||
|
"", "", "", "", "", "", "",
|
||
|
"Power OFF",
|
||
|
"VCCK Enable",
|
||
|
/* Bank GPIOH */
|
||
|
"HDMI HPD", "HDMI SDA", "HDMI SCL",
|
||
|
"HDMI_5V_EN", "SPDIF",
|
||
|
"J9 Header Pin37",
|
||
|
"J9 Header Pin30",
|
||
|
"J9 Header Pin29",
|
||
|
"J9 Header Pin32",
|
||
|
"J9 Header Pin31",
|
||
|
/* Bank BOOT */
|
||
|
"eMMC D0", "eMMC D1", "eMMC D2", "eMMC D3",
|
||
|
"eMMC D4", "eMMC D5", "eMMC D6", "eMMC D7",
|
||
|
"eMMC Clk", "eMMC Reset", "eMMC CMD",
|
||
|
"", "BOOT_MODE", "", "", "eMMC Data Strobe",
|
||
|
/* Bank CARD */
|
||
|
"SDCard D1", "SDCard D0", "SDCard CLK", "SDCard CMD",
|
||
|
"SDCard D3", "SDCard D2", "SDCard Det",
|
||
|
/* Bank GPIODV */
|
||
|
"", "", "", "", "", "", "", "", "", "", "", "",
|
||
|
"", "", "", "", "", "", "", "", "", "", "", "",
|
||
|
"I2C A SDA", "I2C A SCK", "I2C B SDA", "I2C B SCK",
|
||
|
"VCCK Regulator", "VDDEE Regulator",
|
||
|
/* Bank GPIOX */
|
||
|
"WIFI SDIO D0", "WIFI SDIO D1", "WIFI SDIO D2",
|
||
|
"WIFI SDIO D3", "WIFI SDIO CLK", "WIFI SDIO CMD",
|
||
|
"WIFI Power Enable", "WIFI WAKE HOST",
|
||
|
"Bluetooth PCM DOUT", "Bluetooth PCM DIN",
|
||
|
"Bluetooth PCM SYNC", "Bluetooth PCM CLK",
|
||
|
"Bluetooth UART TX", "Bluetooth UART RX",
|
||
|
"Bluetooth UART CTS", "Bluetooth UART RTS",
|
||
|
"WIFI 32K", "Bluetooth Enable",
|
||
|
"Bluetooth WAKE HOST",
|
||
|
/* Bank GPIOCLK */
|
||
|
"", "J9 Header Pin39";
|
||
|
};
|
||
|
|
||
|
&pwm_AO_ab {
|
||
|
status = "okay";
|
||
|
pinctrl-0 = <&pwm_ao_a_3_pins>, <&pwm_ao_b_pins>;
|
||
|
pinctrl-names = "default";
|
||
|
clocks = <&xtal> , <&xtal>;
|
||
|
clock-names = "clkin0", "clkin1" ;
|
||
|
};
|
||
|
|
||
|
&pwm_ef {
|
||
|
pinctrl-0 = <&pwm_e_pins>, <&pwm_f_clk_pins>;
|
||
|
};
|
||
|
|
||
|
&sd_emmc_a {
|
||
|
max-frequency = <100000000>;
|
||
|
|
||
|
brcmf: wifi@1 {
|
||
|
reg = <1>;
|
||
|
compatible = "brcm,bcm4329-fmac";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&uart_A {
|
||
|
bluetooth {
|
||
|
compatible = "brcm,bcm43438-bt";
|
||
|
shutdown-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>;
|
||
|
max-speed = <2000000>;
|
||
|
clocks = <&wifi32k>;
|
||
|
clock-names = "lpo";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
/* This is brought out on the Linux_RX (18) and Linux_TX (19) pins: */
|
||
|
&uart_AO {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
/* This is brought out on the UART_RX_AO_B (15) and UART_TX_AO_B (16) pins: */
|
||
|
&uart_AO_B {
|
||
|
status = "okay";
|
||
|
pinctrl-0 = <&uart_ao_b_pins>;
|
||
|
pinctrl-names = "default";
|
||
|
};
|
||
|
|
||
|
&usb {
|
||
|
dr_mode = "peripheral";
|
||
|
};
|