Message ID | 20240606095419.3950015-2-christianshewitt@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [1/2] dt-bindings: arm: amlogic: add OSMC Vero 4K | expand |
On 06/06/2024 11:54, Christian Hewitt wrote: > The OSMC Vero 4K device is based on the Amlogic S905X (P212) > reference design with the following specifications: > > - 2GB DDR4 RAM > - 16GB eMMC > - HDMI 2.1 video > - S/PDIF optical output > - AV output > - 10/100 Ethernet > - AP6255 Wireless (802.11 a/b/g/n/ac, BT 4.2) > - 2x USB 2.0 ports (1x OTG) > - IR receiver (internal) > - IR extender port (external) > - 1x micro SD card slot > - 1x Power LED (red) > - 1x Reset button (in AV jack) > > Signed-off-by: Christian Hewitt <christianshewitt@gmail.com> > --- > arch/arm64/boot/dts/amlogic/Makefile | 7 + > .../dts/amlogic/meson-gxl-s905x-vero4k.dts | 202 ++++++++++++++++++ > 2 files changed, 209 insertions(+) > create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s905x-vero4k.dts > > diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile > index 4addcae2c54e..78941ddd3136 100644 > --- a/arch/arm64/boot/dts/amlogic/Makefile > +++ b/arch/arm64/boot/dts/amlogic/Makefile > @@ -55,6 +55,13 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p231.dtb > dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-phicomm-n1.dtb > dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-sml5442tw.dtb > dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-vero4k-plus.dtb > +dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-hwacom-amazetv.dtb > +dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-khadas-vim.dtb > +dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc.dtb > +dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc-v2.dtb > +dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-nexbox-a95x.dtb > +dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-p212.dtb > +dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-vero4k.dtb > dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-jethome-jethub-j80.dtb > dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-p281.dtb > dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-tx3-mini.dtb > diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-vero4k.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-vero4k.dts > new file mode 100644 > index 000000000000..b325cd75a792 > --- /dev/null > +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-vero4k.dts > @@ -0,0 +1,202 @@ > +// 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"; > + > + 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>; > +}; > + > +&clkc { > + assigned-clocks = <&clkc CLKID_MPLL0>, > + <&clkc CLKID_MPLL1>, > + <&clkc CLKID_MPLL2>; > + assigned-clock-parents = <0>, <0>, <0>; > + assigned-clock-rates = <294912000>, > + <270950400>, > + <393216000>; > +}; > + > +&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"; > +}; Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
On 07/06/2024 10:07, Neil Armstrong wrote: > On 06/06/2024 11:54, Christian Hewitt wrote: >> The OSMC Vero 4K device is based on the Amlogic S905X (P212) >> reference design with the following specifications: >> >> - 2GB DDR4 RAM >> - 16GB eMMC >> - HDMI 2.1 video >> - S/PDIF optical output >> - AV output >> - 10/100 Ethernet >> - AP6255 Wireless (802.11 a/b/g/n/ac, BT 4.2) >> - 2x USB 2.0 ports (1x OTG) >> - IR receiver (internal) >> - IR extender port (external) >> - 1x micro SD card slot >> - 1x Power LED (red) >> - 1x Reset button (in AV jack) >> >> Signed-off-by: Christian Hewitt <christianshewitt@gmail.com> >> --- >> arch/arm64/boot/dts/amlogic/Makefile | 7 + >> .../dts/amlogic/meson-gxl-s905x-vero4k.dts | 202 ++++++++++++++++++ >> 2 files changed, 209 insertions(+) >> create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s905x-vero4k.dts >> >> diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile >> index 4addcae2c54e..78941ddd3136 100644 >> --- a/arch/arm64/boot/dts/amlogic/Makefile >> +++ b/arch/arm64/boot/dts/amlogic/Makefile >> @@ -55,6 +55,13 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p231.dtb >> dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-phicomm-n1.dtb >> dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-sml5442tw.dtb >> dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-vero4k-plus.dtb >> +dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-hwacom-amazetv.dtb >> +dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-khadas-vim.dtb >> +dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc.dtb >> +dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc-v2.dtb >> +dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-nexbox-a95x.dtb >> +dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-p212.dtb >> +dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-vero4k.dtb >> dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-jethome-jethub-j80.dtb >> dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-p281.dtb >> dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-tx3-mini.dtb >> diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-vero4k.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-vero4k.dts >> new file mode 100644 >> index 000000000000..b325cd75a792 >> --- /dev/null >> +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-vero4k.dts >> @@ -0,0 +1,202 @@ >> +// 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"; >> + >> + 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>; >> +}; >> + >> +&clkc { >> + assigned-clocks = <&clkc CLKID_MPLL0>, >> + <&clkc CLKID_MPLL1>, >> + <&clkc CLKID_MPLL2>; >> + assigned-clock-parents = <0>, <0>, <0>; >> + assigned-clock-rates = <294912000>, >> + <270950400>, >> + <393216000>; >> +}; >> + >> +&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"; >> +}; > > Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org> Same here, Can you resent but keeping the assigned-clocks in the sound card node ? BTW keep the reviewed-by. Thanks, Neil
diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile index 4addcae2c54e..78941ddd3136 100644 --- a/arch/arm64/boot/dts/amlogic/Makefile +++ b/arch/arm64/boot/dts/amlogic/Makefile @@ -55,6 +55,13 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p231.dtb dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-phicomm-n1.dtb dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-sml5442tw.dtb dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-vero4k-plus.dtb +dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-hwacom-amazetv.dtb +dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-khadas-vim.dtb +dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc.dtb +dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc-v2.dtb +dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-nexbox-a95x.dtb +dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-p212.dtb +dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-vero4k.dtb dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-jethome-jethub-j80.dtb dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-p281.dtb dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-tx3-mini.dtb diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-vero4k.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-vero4k.dts new file mode 100644 index 000000000000..b325cd75a792 --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-vero4k.dts @@ -0,0 +1,202 @@ +// 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"; + + 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>; +}; + +&clkc { + assigned-clocks = <&clkc CLKID_MPLL0>, + <&clkc CLKID_MPLL1>, + <&clkc CLKID_MPLL2>; + assigned-clock-parents = <0>, <0>, <0>; + assigned-clock-rates = <294912000>, + <270950400>, + <393216000>; +}; + +&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"; +};
The OSMC Vero 4K device is based on the Amlogic S905X (P212) reference design with the following specifications: - 2GB DDR4 RAM - 16GB eMMC - HDMI 2.1 video - S/PDIF optical output - AV output - 10/100 Ethernet - AP6255 Wireless (802.11 a/b/g/n/ac, BT 4.2) - 2x USB 2.0 ports (1x OTG) - IR receiver (internal) - IR extender port (external) - 1x micro SD card slot - 1x Power LED (red) - 1x Reset button (in AV jack) Signed-off-by: Christian Hewitt <christianshewitt@gmail.com> --- arch/arm64/boot/dts/amlogic/Makefile | 7 + .../dts/amlogic/meson-gxl-s905x-vero4k.dts | 202 ++++++++++++++++++ 2 files changed, 209 insertions(+) create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s905x-vero4k.dts