| // SPDX-License-Identifier: (GPL-2.0+ OR MIT) |
| /* |
| * Copyright (c) 2024 Christian Hewitt <christianshewitt@gmail.com> |
| */ |
| |
| /dts-v1/; |
| |
| #include "meson-gxl-s905x-p212.dtsi" |
| #include <dt-bindings/input/input.h> |
| #include <dt-bindings/leds/common.h> |
| #include <dt-bindings/sound/meson-aiu.h> |
| |
| / { |
| compatible = "osmc,vero4k", "amlogic,s905x", "amlogic,meson-gxl"; |
| model = "OSMC Vero 4K"; |
| |
| reserved-memory { |
| /* 32 MiB reserved for ARM Trusted Firmware (BL32) */ |
| secmon_reserved_bl32: secmon@5300000 { |
| reg = <0x0 0x05300000 0x0 0x2000000>; |
| no-map; |
| }; |
| }; |
| |
| gpio-keys-polled { |
| compatible = "gpio-keys-polled"; |
| poll-interval = <20>; |
| |
| button { |
| label = "power"; |
| linux,code = <KEY_POWER>; |
| gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_HIGH>; |
| }; |
| }; |
| |
| leds { |
| compatible = "gpio-leds"; |
| |
| led-standby { |
| color = <LED_COLOR_ID_RED>; |
| function = LED_FUNCTION_POWER; |
| gpios = <&gpio GPIODV_24 GPIO_ACTIVE_LOW>; |
| default-state = "off"; |
| panic-indicator; |
| }; |
| }; |
| |
| dio2133: analog-amplifier { |
| compatible = "simple-audio-amplifier"; |
| sound-name-prefix = "AU2"; |
| VCC-supply = <&hdmi_5v>; |
| enable-gpios = <&gpio GPIOH_5 GPIO_ACTIVE_HIGH>; |
| }; |
| |
| spdif_dit: audio-codec-0 { |
| #sound-dai-cells = <0>; |
| compatible = "linux,spdif-dit"; |
| sound-name-prefix = "DIT"; |
| }; |
| |
| cvbs-connector { |
| compatible = "composite-video-connector"; |
| |
| port { |
| cvbs_connector_in: endpoint { |
| remote-endpoint = <&cvbs_vdac_out>; |
| }; |
| }; |
| }; |
| |
| 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 = "VERO4K"; |
| audio-aux-devs = <&dio2133>; |
| audio-widgets = "Line", "Lineout"; |
| audio-routing = "AU2 INL", "ACODEC LOLP", |
| "AU2 INR", "ACODEC LORP", |
| "AU2 INL", "ACODEC LOLN", |
| "AU2 INR", "ACODEC LORN", |
| "Lineout", "AU2 OUTL", |
| "Lineout", "AU2 OUTR"; |
| assigned-clocks = <&clkc CLKID_MPLL0>, |
| <&clkc CLKID_MPLL1>, |
| <&clkc CLKID_MPLL2>; |
| assigned-clock-parents = <0>, <0>, <0>; |
| assigned-clock-rates = <294912000>, |
| <270950400>, |
| <393216000>; |
| |
| dai-link-0 { |
| sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>; |
| }; |
| |
| dai-link-1 { |
| sound-dai = <&aiu AIU_CPU CPU_SPDIF_FIFO>; |
| }; |
| |
| dai-link-2 { |
| sound-dai = <&aiu AIU_CPU CPU_I2S_ENCODER>; |
| dai-format = "i2s"; |
| mclk-fs = <256>; |
| |
| codec-0 { |
| sound-dai = <&aiu AIU_HDMI CTRL_I2S>; |
| }; |
| |
| codec-1 { |
| sound-dai = <&aiu AIU_ACODEC CTRL_I2S>; |
| }; |
| }; |
| |
| dai-link-3 { |
| sound-dai = <&aiu AIU_CPU CPU_SPDIF_ENCODER>; |
| |
| codec-0 { |
| sound-dai = <&spdif_dit>; |
| }; |
| }; |
| |
| dai-link-4 { |
| sound-dai = <&aiu AIU_HDMI CTRL_OUT>; |
| |
| codec-0 { |
| sound-dai = <&hdmi_tx>; |
| }; |
| }; |
| |
| dai-link-5 { |
| sound-dai = <&aiu AIU_ACODEC CTRL_OUT>; |
| |
| codec-0 { |
| sound-dai = <&acodec>; |
| }; |
| }; |
| }; |
| }; |
| |
| &acodec { |
| AVDD-supply = <&vddio_ao18>; |
| status = "okay"; |
| }; |
| |
| &aiu { |
| status = "okay"; |
| pinctrl-0 = <&spdif_out_h_pins>; |
| pinctrl-names = "default"; |
| }; |
| |
| &cec_AO { |
| status = "okay"; |
| pinctrl-0 = <&ao_cec_pins>; |
| pinctrl-names = "default"; |
| hdmi-phandle = <&hdmi_tx>; |
| }; |
| |
| &cvbs_vdac_port { |
| cvbs_vdac_out: endpoint { |
| remote-endpoint = <&cvbs_connector_in>; |
| }; |
| }; |
| |
| ðmac { |
| phy-mode = "rmii"; |
| phy-handle = <&internal_phy>; |
| }; |
| |
| &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>; |
| }; |
| }; |
| |
| &internal_phy { |
| pinctrl-0 = <ð_link_led_pins>, <ð_act_led_pins>; |
| pinctrl-names = "default"; |
| }; |
| |
| /* This UART is brought out to the DB9 connector */ |
| &uart_AO { |
| status = "okay"; |
| }; |