10e8011faSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 20e8011faSEmmanuel Vadot/* 30e8011faSEmmanuel Vadot * Copyright (c) 2024 Christian Hewitt <christianshewitt@gmail.com> 40e8011faSEmmanuel Vadot */ 50e8011faSEmmanuel Vadot 60e8011faSEmmanuel Vadot/dts-v1/; 70e8011faSEmmanuel Vadot 80e8011faSEmmanuel Vadot#include "meson-gxl-s905x-p212.dtsi" 90e8011faSEmmanuel Vadot#include <dt-bindings/input/input.h> 100e8011faSEmmanuel Vadot#include <dt-bindings/leds/common.h> 110e8011faSEmmanuel Vadot#include <dt-bindings/sound/meson-aiu.h> 120e8011faSEmmanuel Vadot 130e8011faSEmmanuel Vadot/ { 140e8011faSEmmanuel Vadot compatible = "osmc,vero4k", "amlogic,s905x", "amlogic,meson-gxl"; 150e8011faSEmmanuel Vadot model = "OSMC Vero 4K"; 160e8011faSEmmanuel Vadot 170e8011faSEmmanuel Vadot reserved-memory { 180e8011faSEmmanuel Vadot /* 32 MiB reserved for ARM Trusted Firmware (BL32) */ 190e8011faSEmmanuel Vadot secmon_reserved_bl32: secmon@5300000 { 200e8011faSEmmanuel Vadot reg = <0x0 0x05300000 0x0 0x2000000>; 210e8011faSEmmanuel Vadot no-map; 220e8011faSEmmanuel Vadot }; 230e8011faSEmmanuel Vadot }; 240e8011faSEmmanuel Vadot 250e8011faSEmmanuel Vadot gpio-keys-polled { 260e8011faSEmmanuel Vadot compatible = "gpio-keys-polled"; 270e8011faSEmmanuel Vadot poll-interval = <20>; 280e8011faSEmmanuel Vadot 290e8011faSEmmanuel Vadot button { 300e8011faSEmmanuel Vadot label = "power"; 310e8011faSEmmanuel Vadot linux,code = <KEY_POWER>; 320e8011faSEmmanuel Vadot gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_HIGH>; 330e8011faSEmmanuel Vadot }; 340e8011faSEmmanuel Vadot }; 350e8011faSEmmanuel Vadot 360e8011faSEmmanuel Vadot leds { 370e8011faSEmmanuel Vadot compatible = "gpio-leds"; 380e8011faSEmmanuel Vadot 390e8011faSEmmanuel Vadot led-standby { 400e8011faSEmmanuel Vadot color = <LED_COLOR_ID_RED>; 410e8011faSEmmanuel Vadot function = LED_FUNCTION_POWER; 420e8011faSEmmanuel Vadot gpios = <&gpio GPIODV_24 GPIO_ACTIVE_LOW>; 430e8011faSEmmanuel Vadot default-state = "off"; 440e8011faSEmmanuel Vadot panic-indicator; 450e8011faSEmmanuel Vadot }; 460e8011faSEmmanuel Vadot }; 470e8011faSEmmanuel Vadot 480e8011faSEmmanuel Vadot dio2133: analog-amplifier { 490e8011faSEmmanuel Vadot compatible = "simple-audio-amplifier"; 500e8011faSEmmanuel Vadot sound-name-prefix = "AU2"; 510e8011faSEmmanuel Vadot VCC-supply = <&hdmi_5v>; 520e8011faSEmmanuel Vadot enable-gpios = <&gpio GPIOH_5 GPIO_ACTIVE_HIGH>; 530e8011faSEmmanuel Vadot }; 540e8011faSEmmanuel Vadot 550e8011faSEmmanuel Vadot spdif_dit: audio-codec-0 { 560e8011faSEmmanuel Vadot #sound-dai-cells = <0>; 570e8011faSEmmanuel Vadot compatible = "linux,spdif-dit"; 580e8011faSEmmanuel Vadot sound-name-prefix = "DIT"; 590e8011faSEmmanuel Vadot }; 600e8011faSEmmanuel Vadot 610e8011faSEmmanuel Vadot cvbs-connector { 620e8011faSEmmanuel Vadot compatible = "composite-video-connector"; 630e8011faSEmmanuel Vadot 640e8011faSEmmanuel Vadot port { 650e8011faSEmmanuel Vadot cvbs_connector_in: endpoint { 660e8011faSEmmanuel Vadot remote-endpoint = <&cvbs_vdac_out>; 670e8011faSEmmanuel Vadot }; 680e8011faSEmmanuel Vadot }; 690e8011faSEmmanuel Vadot }; 700e8011faSEmmanuel Vadot 710e8011faSEmmanuel Vadot hdmi-connector { 720e8011faSEmmanuel Vadot compatible = "hdmi-connector"; 730e8011faSEmmanuel Vadot type = "a"; 740e8011faSEmmanuel Vadot 750e8011faSEmmanuel Vadot port { 760e8011faSEmmanuel Vadot hdmi_connector_in: endpoint { 770e8011faSEmmanuel Vadot remote-endpoint = <&hdmi_tx_tmds_out>; 780e8011faSEmmanuel Vadot }; 790e8011faSEmmanuel Vadot }; 800e8011faSEmmanuel Vadot }; 810e8011faSEmmanuel Vadot 820e8011faSEmmanuel Vadot sound { 830e8011faSEmmanuel Vadot compatible = "amlogic,gx-sound-card"; 840e8011faSEmmanuel Vadot model = "VERO4K"; 850e8011faSEmmanuel Vadot audio-aux-devs = <&dio2133>; 860e8011faSEmmanuel Vadot audio-widgets = "Line", "Lineout"; 870e8011faSEmmanuel Vadot audio-routing = "AU2 INL", "ACODEC LOLP", 880e8011faSEmmanuel Vadot "AU2 INR", "ACODEC LORP", 890e8011faSEmmanuel Vadot "AU2 INL", "ACODEC LOLN", 900e8011faSEmmanuel Vadot "AU2 INR", "ACODEC LORN", 910e8011faSEmmanuel Vadot "Lineout", "AU2 OUTL", 920e8011faSEmmanuel Vadot "Lineout", "AU2 OUTR"; 93*b2d2a78aSEmmanuel Vadot 94*b2d2a78aSEmmanuel Vadot clocks = <&clkc CLKID_MPLL0>, 95*b2d2a78aSEmmanuel Vadot <&clkc CLKID_MPLL1>, 96*b2d2a78aSEmmanuel Vadot <&clkc CLKID_MPLL2>; 97*b2d2a78aSEmmanuel Vadot 980e8011faSEmmanuel Vadot assigned-clocks = <&clkc CLKID_MPLL0>, 990e8011faSEmmanuel Vadot <&clkc CLKID_MPLL1>, 1000e8011faSEmmanuel Vadot <&clkc CLKID_MPLL2>; 1010e8011faSEmmanuel Vadot assigned-clock-parents = <0>, <0>, <0>; 1020e8011faSEmmanuel Vadot assigned-clock-rates = <294912000>, 1030e8011faSEmmanuel Vadot <270950400>, 1040e8011faSEmmanuel Vadot <393216000>; 1050e8011faSEmmanuel Vadot 1060e8011faSEmmanuel Vadot dai-link-0 { 1070e8011faSEmmanuel Vadot sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>; 1080e8011faSEmmanuel Vadot }; 1090e8011faSEmmanuel Vadot 1100e8011faSEmmanuel Vadot dai-link-1 { 1110e8011faSEmmanuel Vadot sound-dai = <&aiu AIU_CPU CPU_SPDIF_FIFO>; 1120e8011faSEmmanuel Vadot }; 1130e8011faSEmmanuel Vadot 1140e8011faSEmmanuel Vadot dai-link-2 { 1150e8011faSEmmanuel Vadot sound-dai = <&aiu AIU_CPU CPU_I2S_ENCODER>; 1160e8011faSEmmanuel Vadot dai-format = "i2s"; 1170e8011faSEmmanuel Vadot mclk-fs = <256>; 1180e8011faSEmmanuel Vadot 1190e8011faSEmmanuel Vadot codec-0 { 1200e8011faSEmmanuel Vadot sound-dai = <&aiu AIU_HDMI CTRL_I2S>; 1210e8011faSEmmanuel Vadot }; 1220e8011faSEmmanuel Vadot 1230e8011faSEmmanuel Vadot codec-1 { 1240e8011faSEmmanuel Vadot sound-dai = <&aiu AIU_ACODEC CTRL_I2S>; 1250e8011faSEmmanuel Vadot }; 1260e8011faSEmmanuel Vadot }; 1270e8011faSEmmanuel Vadot 1280e8011faSEmmanuel Vadot dai-link-3 { 1290e8011faSEmmanuel Vadot sound-dai = <&aiu AIU_CPU CPU_SPDIF_ENCODER>; 1300e8011faSEmmanuel Vadot 1310e8011faSEmmanuel Vadot codec-0 { 1320e8011faSEmmanuel Vadot sound-dai = <&spdif_dit>; 1330e8011faSEmmanuel Vadot }; 1340e8011faSEmmanuel Vadot }; 1350e8011faSEmmanuel Vadot 1360e8011faSEmmanuel Vadot dai-link-4 { 1370e8011faSEmmanuel Vadot sound-dai = <&aiu AIU_HDMI CTRL_OUT>; 1380e8011faSEmmanuel Vadot 1390e8011faSEmmanuel Vadot codec-0 { 1400e8011faSEmmanuel Vadot sound-dai = <&hdmi_tx>; 1410e8011faSEmmanuel Vadot }; 1420e8011faSEmmanuel Vadot }; 1430e8011faSEmmanuel Vadot 1440e8011faSEmmanuel Vadot dai-link-5 { 1450e8011faSEmmanuel Vadot sound-dai = <&aiu AIU_ACODEC CTRL_OUT>; 1460e8011faSEmmanuel Vadot 1470e8011faSEmmanuel Vadot codec-0 { 1480e8011faSEmmanuel Vadot sound-dai = <&acodec>; 1490e8011faSEmmanuel Vadot }; 1500e8011faSEmmanuel Vadot }; 1510e8011faSEmmanuel Vadot }; 1520e8011faSEmmanuel Vadot}; 1530e8011faSEmmanuel Vadot 1540e8011faSEmmanuel Vadot&acodec { 1550e8011faSEmmanuel Vadot AVDD-supply = <&vddio_ao18>; 1560e8011faSEmmanuel Vadot status = "okay"; 1570e8011faSEmmanuel Vadot}; 1580e8011faSEmmanuel Vadot 1590e8011faSEmmanuel Vadot&aiu { 1600e8011faSEmmanuel Vadot status = "okay"; 1610e8011faSEmmanuel Vadot pinctrl-0 = <&spdif_out_h_pins>; 1620e8011faSEmmanuel Vadot pinctrl-names = "default"; 1630e8011faSEmmanuel Vadot}; 1640e8011faSEmmanuel Vadot 1650e8011faSEmmanuel Vadot&cec_AO { 1660e8011faSEmmanuel Vadot status = "okay"; 1670e8011faSEmmanuel Vadot pinctrl-0 = <&ao_cec_pins>; 1680e8011faSEmmanuel Vadot pinctrl-names = "default"; 1690e8011faSEmmanuel Vadot hdmi-phandle = <&hdmi_tx>; 1700e8011faSEmmanuel Vadot}; 1710e8011faSEmmanuel Vadot 1720e8011faSEmmanuel Vadot&cvbs_vdac_port { 1730e8011faSEmmanuel Vadot cvbs_vdac_out: endpoint { 1740e8011faSEmmanuel Vadot remote-endpoint = <&cvbs_connector_in>; 1750e8011faSEmmanuel Vadot }; 1760e8011faSEmmanuel Vadot}; 1770e8011faSEmmanuel Vadot 1780e8011faSEmmanuel Vadotðmac { 1790e8011faSEmmanuel Vadot phy-mode = "rmii"; 1800e8011faSEmmanuel Vadot phy-handle = <&internal_phy>; 1810e8011faSEmmanuel Vadot}; 1820e8011faSEmmanuel Vadot 1830e8011faSEmmanuel Vadot&hdmi_tx { 1840e8011faSEmmanuel Vadot status = "okay"; 1850e8011faSEmmanuel Vadot pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>; 1860e8011faSEmmanuel Vadot pinctrl-names = "default"; 1870e8011faSEmmanuel Vadot hdmi-supply = <&hdmi_5v>; 1880e8011faSEmmanuel Vadot}; 1890e8011faSEmmanuel Vadot 1900e8011faSEmmanuel Vadot&hdmi_tx_tmds_port { 1910e8011faSEmmanuel Vadot hdmi_tx_tmds_out: endpoint { 1920e8011faSEmmanuel Vadot remote-endpoint = <&hdmi_connector_in>; 1930e8011faSEmmanuel Vadot }; 1940e8011faSEmmanuel Vadot}; 1950e8011faSEmmanuel Vadot 1960e8011faSEmmanuel Vadot&internal_phy { 1970e8011faSEmmanuel Vadot pinctrl-0 = <ð_link_led_pins>, <ð_act_led_pins>; 1980e8011faSEmmanuel Vadot pinctrl-names = "default"; 1990e8011faSEmmanuel Vadot}; 2000e8011faSEmmanuel Vadot 2010e8011faSEmmanuel Vadot/* This UART is brought out to the DB9 connector */ 2020e8011faSEmmanuel Vadot&uart_AO { 2030e8011faSEmmanuel Vadot status = "okay"; 2040e8011faSEmmanuel Vadot}; 205