riscv: dts: light: add Milk-V Meles board
authorHaaland Chen <haaland@milkv.io>
Fri, 1 Dec 2023 12:50:20 +0000 (20:50 +0800)
committerJaehoon Chung <jh80.chung@samsung.com>
Wed, 13 Mar 2024 06:58:51 +0000 (15:58 +0900)
Signed-off-by: Haaland Chen <haaland@milkv.io>
(cherry picked from commit 026ae08e531590301a7d2e7b3fc2d92624d929e5)
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
arch/riscv/boot/dts/thead/Makefile
arch/riscv/boot/dts/thead/light-milkv-meles.dts [new file with mode: 0644]

index f5ead3e5ccdb3db2415327db1a25c3d64e23be74..a30ab310329261c817990fa553914981296a7033 100644 (file)
@@ -47,6 +47,7 @@ dtb-$(CONFIG_SOC_THEAD) += fire-emu.dtb fire-emu-crash.dtb
 dtb-$(CONFIG_SOC_THEAD) += fire-emu-soc-base.dtb fire-emu-soc-c910x4.dtb fire-emu-gpu-dpu-dsi0.dtb fire-emu-vi-dsp-vo.dtb fire-emu-vi-vp-vo.dtb
 dtb-$(CONFIG_SOC_THEAD) += fire-emu-soc-base-sec.dtb
 dtb-$(CONFIG_SOC_THEAD) += light-lpi4a-laptop.dtb
+dtb-$(CONFIG_SOC_THEAD) += light-milkv-meles.dtb
 
 targets += dtbs dtbs_install
 targets += $(dtb-y)
diff --git a/arch/riscv/boot/dts/thead/light-milkv-meles.dts b/arch/riscv/boot/dts/thead/light-milkv-meles.dts
new file mode 100644 (file)
index 0000000..6bad05e
--- /dev/null
@@ -0,0 +1,886 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Copyright (C) 2021-2022 Alibaba Group Holding Limited.
+ */
+
+/dts-v1/;
+
+#include "light.dtsi"
+#include <dt-bindings/input/linux-event-codes.h>
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+
+/ {
+       model = "Milk-V Meles";
+       compatible = "milkv,meles", "thead,light";
+
+       aliases {
+               mmc0 = &emmc;
+               mmc1 = &sdhci0;
+               mmc2 = &sdhci1;
+       };
+
+       chosen {
+               bootargs = "console=ttyS0,115200 crashkernel=256M-:128M earlycon clk_ignore_unused sram=0xffe0000000,0x180000";
+               stdout-path = "serial0:115200n8";
+       };
+
+       memory@0 {
+               device_type = "memory";
+               reg = <0x0 0x200000 0x0 0xffe00000>;
+       };
+
+       display_subsystem: display-subsystem {
+               status = "okay";
+       };
+
+       leds {
+               compatible = "gpio-leds";
+
+               led0 {
+                       label = "SYS_STATUS";
+                       gpios = <&gpio1_porta 15 0>;    /* GPIO_ACTIVE_HIGH: 0 */
+                       default-state = "off";
+               };
+
+               led1 {
+                       label = "USER_LED";
+                       gpios = <&gpio1_porta 16 0>;    /* GPIO_ACTIVE_HIGH: 0 */
+                       linux,default-trigger = "heartbeat";
+                       default-state = "on";
+               };
+       };
+
+       light_iopmp: iopmp {
+               compatible = "thead,light-iopmp";
+
+               /* config#1: multiple valid regions */
+               iopmp_emmc: IOPMP_EMMC {
+                       regions = <0x000000 0x100000>,
+                                 <0x100000 0x200000>;
+                       attr = <0xFFFFFFFF>;
+                       dummy_slave= <0x800000>;
+               };
+
+               /* config#2: iopmp bypass */
+               iopmp_sdio0: IOPMP_SDIO0 {
+                       bypass_en;
+               };
+
+               /* config#3: iopmp default region set */
+               iopmp_sdio1: IOPMP_SDIO1 {
+                       attr = <0xFFFFFFFF>;
+                       is_default_region;
+               };
+
+               iopmp_usb0: IOPMP_USB0 {
+                       attr = <0xFFFFFFFF>;
+                       is_default_region;
+               };
+
+               iopmp_ao: IOPMP_AO {
+                       is_default_region;
+               };
+
+               iopmp_aud: IOPMP_AUD {
+                       is_default_region;
+               };
+
+               iopmp_chip_dbg: IOPMP_CHIP_DBG {
+                       is_default_region;
+               };
+
+               iopmp_eip120i: IOPMP_EIP120I {
+                       is_default_region;
+               };
+
+               iopmp_eip120ii: IOPMP_EIP120II {
+                       is_default_region;
+               };
+
+               iopmp_eip120iii: IOPMP_EIP120III {
+                       is_default_region;
+               };
+
+               iopmp_isp0: IOPMP_ISP0 {
+                       is_default_region;
+               };
+
+               iopmp_isp1: IOPMP_ISP1 {
+                       is_default_region;
+               };
+
+               iopmp_dw200: IOPMP_DW200 {
+                       is_default_region;
+               };
+
+               iopmp_vipre: IOPMP_VIPRE {
+                       is_default_region;
+               };
+
+               iopmp_venc: IOPMP_VENC {
+                       is_default_region;
+               };
+
+               iopmp_vdec: IOPMP_VDEC {
+                       is_default_region;
+               };
+
+               iopmp_g2d: IOPMP_G2D {
+                       is_default_region;
+               };
+
+               iopmp_fce: IOPMP_FCE {
+                       is_default_region;
+               };
+
+               iopmp_npu: IOPMP_NPU {
+                       is_default_region;
+               };
+
+               iopmp0_dpu: IOPMP0_DPU {
+                       bypass_en;
+               };
+
+               iopmp1_dpu: IOPMP1_DPU {
+                       bypass_en;
+               };
+
+               iopmp_gpu: IOPMP_GPU {
+                       is_default_region;
+               };
+
+               iopmp_gmac1: IOPMP_GMAC1 {
+                       is_default_region;
+               };
+
+               iopmp_gmac2: IOPMP_GMAC2 {
+                       is_default_region;
+               };
+
+               iopmp_dmac: IOPMP_DMAC {
+                       is_default_region;
+               };
+
+               iopmp_tee_dmac: IOPMP_TEE_DMAC {
+                       is_default_region;
+               };
+
+               iopmp_dsp0: IOPMP_DSP0 {
+                       is_default_region;
+               };
+
+               iopmp_dsp1: IOPMP_DSP1 {
+                       is_default_region;
+               };
+       };
+
+       mbox_910t_client1: mbox_910t_client1 {
+               compatible = "thead,light-mbox-client";
+               mbox-names = "902";
+               mboxes = <&mbox_910t 1 0>;
+               status = "disabled";
+       };
+
+       mbox_910t_client2: mbox_910t_client2 {
+               compatible = "thead,light-mbox-client";
+               mbox-names = "906";
+               mboxes = <&mbox_910t 2 0>;
+               status = "disabled";
+       };
+
+       lightsound: lightsound@1 {
+               status = "okay";
+               compatible = "simple-audio-card";
+               simple-audio-card,name = "Light-Sound-Card";
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               /* I2S - AUDIO SYS CODEC 8156*/
+               simple-audio-card,dai-link@0 {
+                       reg = <0>;
+                       format = "i2s";
+                       cpu {
+                               sound-dai = <&i2s1 0>;
+                       };
+                       codec {
+                               sound-dai = <&es8156_audio_codec>;
+                       };
+               };
+
+               /* I2S - HDMI */
+               simple-audio-card,dai-link@1 {
+                       reg = <1>;
+                       format = "i2s";
+                       cpu {
+                               sound-dai = <&light_i2s 1>;
+                       };
+                       codec {
+                               sound-dai = <&dummy_codec>;
+                       };
+               };
+       };
+
+       wifi_pwrseq: wifi-pwrseq {
+               status = "okay";
+               compatible = "mmc-pwrseq-simple";
+               reset-gpios = <&gpio0_porta 20 1>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_wireless_power>;
+       };
+
+       dummy_codec: dummy_codec {
+               #sound-dai-cells = <0>;
+               compatible = "thead,light-dummy-pcm";
+               status = "okay";
+               sound-name-prefix = "DUMMY";
+       };
+
+       vdd_5v: regulator-vdd-5v {
+               compatible = "regulator-fixed";
+               regulator-name = "vdd_5v";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               regulator-boot-on;
+               regulator-always-on;
+               status = "okay";
+       };
+
+       vdd_1v8: regulator-vdd-1v8 {
+               compatible = "regulator-fixed";
+               regulator-name = "vdd_1v8";
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <1800000>;
+               regulator-boot-on;
+               regulator-always-on;
+               vin-supply = <&vdd_5v>;
+               status = "okay";
+       };
+
+       reg_vref_1v8: regulator-adc-verf {
+               compatible = "regulator-fixed";
+               regulator-name = "vref-1v8";
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <1800000>;
+               status = "okay";
+       };
+
+       vcc_usb_en: regulator-usb-en {
+               compatible = "regulator-fixed";
+               regulator-name = "vcc_usb_en";
+               gpio = <&gpio2_porta 30 0>;     /* GPIO_ACTIVE_HIGH: 0 */
+               enable-active-high;
+               regulator-boot-on;
+               regulator-always-on;
+               status = "okay";
+       };
+
+       aon {
+               compatible = "thead,light-aon";
+               mbox-names = "aon";
+               mboxes = <&mbox_910t 1 0>;
+               status = "okay";
+
+               pd: light-aon-pd {
+                       compatible = "thead,light-aon-pd";
+                       #power-domain-cells = <1>;
+               };
+
+               aon_reg_dialog: light-dialog-reg {
+                       compatible = "thead,light-dialog-pmic-ant";
+                       status = "okay";
+
+                       dvdd_cpu_reg: appcpu_dvdd {
+                               regulator-name = "appcpu_dvdd";
+                               regulator-min-microvolt = <300000>;
+                               regulator-max-microvolt = <1570000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       dvddm_cpu_reg: appcpu_dvddm {
+                               regulator-name = "appcpu_dvddm";
+                               regulator-min-microvolt = <300000>;
+                               regulator-max-microvolt = <1570000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       soc_dvdd18_aon_reg: soc_dvdd18_aon {
+                               regulator-name = "soc_dvdd18_aon";
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       soc_avdd33_usb3_reg: soc_avdd33_usb3 {
+                               regulator-name = "soc_avdd33_usb3";
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       soc_dvdd08_aon_reg: soc_dvdd08_aon {
+                               regulator-name = "soc_dvdd08_aon";
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       soc_dvdd08_ddr_reg: soc_dvdd08_ddr {
+                               regulator-name = "soc_dvdd08_ddr";
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       soc_vdd_ddr_1v8_reg: soc_vdd_ddr_1v8 {
+                               regulator-name = "soc_vdd_ddr_1v8";
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       soc_vdd_ddr_1v1_reg: soc_vdd_ddr_1v1 {
+                               regulator-name = "soc_vdd_ddr_1v1";
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       soc_vdd_ddr_0v6_reg: soc_vdd_ddr_0v6 {
+                               regulator-name = "soc_vdd_ddr_0v6";
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       soc_dvdd18_ap_reg: soc_dvdd18_ap {
+                               regulator-name = "soc_dvdd18_ap";
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       soc_avdd08_mipi_hdmi_reg: soc_avdd08_mipi_hdmi {
+                               regulator-name = "soc_avdd08_mipi_hdmi";
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       soc_avdd18_mipi_hdmi_reg: soc_avdd18_mipi_hdmi {
+                               regulator-name = "soc_avdd18_mipi_hdmi";
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       soc_vdd33_emmc_reg: soc_vdd33_emmc {
+                               regulator-name = "soc_vdd33_emmc";
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       soc_vdd18_emmc_reg: soc_vdd18_emmc {
+                               regulator-name = "soc_vdd18_emmc";
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       soc_dovdd18_scan_reg: soc_dovdd18_scan {
+                               regulator-name = "soc_dovdd18_scan";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       soc_dvdd12_scan_reg: soc_dvdd12_scan {
+                               regulator-name = "soc_dvdd12_scan";
+                               regulator-min-microvolt = <900000>;
+                               regulator-max-microvolt = <3600000>;
+                       };
+
+                       soc_avdd28_scan_en_reg: soc_avdd28_scan_en {
+                               regulator-name = "soc_avdd28_scan_en";
+                               regulator-min-microvolt = <900000>;
+                               regulator-max-microvolt = <3600000>;
+                       };
+               };
+
+               c910_cpufreq {
+                       compatible = "thead,light-mpw-cpufreq";
+                       status = "okay";
+               };
+
+               test: light-aon-test {
+                       compatible = "thead,light-aon-test";
+               };
+       };
+};
+
+&cmamem {
+       alloc-ranges = <0 0xe4000000 0 0x14000000>; // [0xE400_0000 ~ 0xF800_0000]
+};
+
+&resmem {
+       #address-cells = <2>;
+       #size-cells = <2>;
+       ranges;
+
+       tee_mem: memory@1a000000 {
+               reg = <0x0 0x1a000000 0 0x4000000>;
+               no-map;
+       };
+       dsp0_mem: memory@20000000 {                     /**0x2000_0000~0x2040_0000 4M**/
+               reg = <0x0 0x20000000 0x0 0x00280000    /* DSP FW code&data section 2.5M*/
+                      0x0 0x20280000 0x0 0x00001000    /* DSP communication area 4K*/
+                      0x0 0x20281000 0x0 0x00007000    /* Panic/log page 28K */
+                      0x0 0x20288000 0x0 0x00178000>;  /* DSP shared memory 1.5M-32K*/
+               no-map;
+       };
+       dsp1_mem: memory@20400000 {                     /**0x2040_0000~0x2080_0000 4M**/
+               reg = <0x0 0x20400000 0x0 0x00280000    /* DSP FW code&data section */
+                      0x0 0x20680000 0x0 0x00001000    /* DSP communication area */
+                      0x0 0x20681000 0x0 0x00007000    /* Panic/log page*/
+                      0x0 0x20688000 0x0 0x00178000>;  /* DSP shared memory */
+               no-map;
+       };
+       vi_mem: framebuffer@0f800000 {
+               reg = <0x0 0x0F800000 0x0 0x05400000    /* vi_mem_pool_region[0]  84 MB (default) */
+                      0x0 0x14C00000 0x0 0x01D00000    /* vi_mem_pool_region[1]  29 MB */
+                      0x0 0x16900000 0x0 0x03200000>;  /* vi_mem_pool_region[2]  50 MB */
+               no-map;
+       };
+       facelib_mem: memory@22000000 {
+               reg = <0x0 0x22000000 0x0 0x10000000>;
+               no-map;
+       };
+};
+
+&adc {
+       vref-supply = <&reg_vref_1v8>;
+       status = "okay";
+};
+
+&i2c0 {
+       clock-frequency = <400000>;
+       status = "disabled";
+};
+
+&i2c1 {
+       clock-frequency = <400000>;
+       status = "disabled";
+};
+
+&audio_i2c0 {
+       clock-frequency = <100000>;
+       status = "okay";
+
+       es8156_audio_codec: es8156@9 {
+               #sound-dai-cells = <0>;
+               compatible = "everest,es8156";
+               reg = <0x09>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_audio_i2s1_mclk>;
+       };
+};
+
+&uart0 {
+       clock-frequency = <100000000>;
+};
+
+&gmac0 {
+       phy-mode = "rgmii-id";
+       rx-clk-delay = <0x00>; /* for RGMII */
+       tx-clk-delay = <0x00>; /* for RGMII */
+       phy-handle = <&phy_88E1111_0>;
+       status = "okay";
+
+       mdio0 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               compatible = "snps,dwmac-mdio";
+
+               phy_88E1111_0: ethernet-phy@0 {
+                       reg = <0x1>;
+               };
+       };
+};
+
+&gmac1 {
+       status = "disabled";
+};
+
+&emmc {
+       max-frequency = <198000000>;
+       non-removable;
+       mmc-hs400-1_8v;
+       io_fixed_1v8;
+       is_emmc;
+       no-sdio;
+       no-sd;
+       pull_up;
+       bus-width = <8>;
+       status = "okay";
+};
+
+&sdhci0 {
+       max-frequency = <198000000>;
+       bus-width = <4>;
+       pull_up;
+       wprtn_ignore;
+       status = "okay";
+};
+
+&sdhci1 {
+       status = "okay";
+       max-frequency = <198000000>;
+       bus-width = <4>;
+       pull_up;
+       no-sd;
+       no-mmc;
+       non-removable;
+       io_fixed_1v8;
+       post-power-on-delay-ms = <50>;
+       wprtn_ignore;
+       cap-sd-highspeed;
+       keep-power-in-suspend;
+       mmc-pwrseq = <&wifi_pwrseq>;
+       #address-cells = <1>;
+       #size-cells = <0>;
+
+       brcmf: wifi@1 {
+               compatible = "brcm,bcm4329-fmac";
+               reg = <1>;
+       };
+};
+
+&padctrl0_apsys { /* right-pinctrl */
+       light-evb-padctrl0 {
+               /*
+                * Pin Configuration Node:
+                * Format: <pin_id mux_node config>
+                */
+               pinctrl_uart0: uart0grp {
+                       thead,pins = <
+                               FM_UART0_TXD    0x0     0x72
+                               FM_UART0_RXD    0x0     0x72
+                       >;
+               };
+
+               pinctrl_spi0: spi0grp {
+                       thead,pins = <
+                               FM_SPI_CSN      0x3     0x20a
+                               FM_SPI_SCLK     0x0     0x20a
+                               FM_SPI_MISO     0x0     0x23a
+                               FM_SPI_MOSI     0x0     0x23a
+                       >;
+               };
+
+               pinctrl_qspi0: qspi0grp {
+                       thead,pins = <
+                               FM_QSPI0_SCLK   0x0     0x20f
+                               FM_QSPI0_CSN0   0x3     0x20f
+                               FM_QSPI0_D0_MOSI        0x0     0x23f
+                               FM_QSPI0_D1_MISO        0x0     0x23f
+                       >;
+               };
+
+               pinctrl_pwm: pwmgrp {
+                       thead,pins = <
+                               FM_QSPI0_D2_WP  0x1     0x208   /* pwm5 */
+                               FM_QSPI0_CSN1   0x1     0x208   /* pwm2 */
+                       >;
+               };
+       };
+};
+
+&padctrl1_apsys { /* left-pinctrl */
+       light-evb-padctrl1 {
+               /*
+                * Pin Configuration Node:
+                * Format: <pin_id mux_node config>
+                */
+               pinctrl_uart3: uart3grp {
+                       thead,pins = <
+                               FM_UART3_TXD    0x0     0x72
+                               FM_UART3_RXD    0x0     0x72
+                       >;
+               };
+
+               pinctrl_uart4: uart4grp {
+                       thead,pins = <
+                               FM_UART4_TXD    0x0     0x72
+                               FM_UART4_RXD    0x0     0x72
+                               FM_UART4_CTSN   0x0     0x72
+                               FM_UART4_RTSN   0x0     0x72
+                       >;
+               };
+
+               pinctrl_qspi1: qspi1grp {
+                       thead,pins = <
+                               FM_QSPI1_SCLK   0x0     0x20a
+                               FM_QSPI1_CSN0   0x3     0x20a
+                               FM_QSPI1_D0_MOSI        0x0     0x23a
+                               FM_QSPI1_D1_MISO        0x0     0x23a
+                               FM_QSPI1_D2_WP  0x0     0x23a
+                               FM_QSPI1_D3_HOLD        0x0     0x23a
+                       >;
+               };
+
+               pinctrl_iso7816: iso7816grp {
+                       thead,pins = <
+                               FM_QSPI1_SCLK   0x1     0x208
+                               FM_QSPI1_D0_MOSI        0x1     0x238
+                               FM_QSPI1_D1_MISO        0x1     0x238
+                               FM_QSPI1_D2_WP  0x1     0x238
+                               FM_QSPI1_D3_HOLD        0x1     0x238
+                       >;
+               };
+
+               pinctrl_wireless_power: wireless-power-group {
+                       thead,pins = <
+                               FM_GPIO0_20     0x0     0x23a
+                       >;
+               };
+
+               pinctrl_wireless_host_wake: wireless-host-wake-group {
+                       thead,pins = <
+                               FM_GPIO0_21     0x0     0x21a
+                       >;
+               };
+       };
+};
+
+&padctrl_aosys {
+       light-aon-padctrl {
+               /*
+                * Pin Configuration Node:
+                * Format: <pin_id mux_node config>
+                */
+
+               pinctrl_audiopa1: audiopa1_grp {
+                       thead,pins = <
+                               FM_AUDIO_PA1    0x3     0x72
+                       >;
+               };
+
+               pinctrl_audiopa2: audiopa2_grp {
+                       thead,pins = <
+                               FM_AUDIO_PA2    0x0     0x72
+                       >;
+               };
+
+               pinctrl_volume: volume_grp {
+                       thead,pins = <
+                               FM_CPU_JTG_TDI  0x3     0x208
+                               FM_CPU_JTG_TDO  0x3     0x208
+                       >;
+               };
+       };
+};
+
+&padctrl_audiosys {
+       status = "okay";
+
+       light-audio-padctrl {
+               /*
+                * Pin Configuration Node:
+                * Format: <pin_id mux_node config>
+                */
+
+               pinctrl_audio_i2s1_mclk: audio_i2s1_mclk_grp {
+                       thead,pins = <
+                               FM_AUDIO_IO_PA13        0x0     0x20a
+                       >;
+               };
+       };
+};
+
+&xtensa_dsp {
+       status = "okay";
+};
+
+&xtensa_dsp0 {
+       status = "okay";
+       memory-region = <&dsp0_mem>;
+};
+
+&xtensa_dsp1{
+       status = "okay";
+       memory-region = <&dsp1_mem>;
+};
+
+&trng {
+       status = "disabled";
+};
+
+&eip_28 {
+       status = "okay";
+};
+
+&vdec {
+       status = "okay";
+};
+
+&venc {
+       status = "okay";
+};
+
+&isp_venc_shake {
+       status = "okay";
+};
+
+&vidmem {
+       status = "okay";
+       memory-region = <&vi_mem>;
+};
+
+&gpu {
+       status = "okay";
+};
+
+&npu {
+       vha_clk_rate = <1000000000>;
+       status = "okay";
+};
+
+&fce {
+       memory-region = <&facelib_mem>;
+       status = "okay";
+};
+
+&cpus {
+       c910_0: cpu@0 {
+               operating-points = <
+                       /* kHz    uV */
+                       300000  650000
+                       800000  700000
+                       1500000 800000
+                       1848000 1000000
+               >;
+               light,dvddm-operating-points = <
+                       /* kHz   uV */
+                       300000  800000
+                       800000  800000
+                       1500000 800000
+                       1848000 1000000
+               >;
+       };
+
+       c910_1: cpu@1 {
+               operating-points = <
+                       /* kHz    uV */
+                       300000  650000
+                       800000  700000
+                       1500000 800000
+                       1848000 1000000
+               >;
+               light,dvddm-operating-points = <
+                       /* kHz   uV */
+                       300000  800000
+                       800000  800000
+                       1500000 800000
+                       1848000 1000000
+               >;
+       };
+
+       c910_2: cpu@2 {
+               operating-points = <
+                       /* kHz    uV */
+                       300000  650000
+                       800000  700000
+                       1500000 800000
+                       1848000 1000000
+               >;
+               light,dvddm-operating-points = <
+                       /* kHz   uV */
+                       300000  800000
+                       800000  800000
+                       1500000 800000
+                       1848000 1000000
+               >;
+       };
+
+       c910_3: cpu@3 {
+               operating-points = <
+                       /* kHz    uV */
+                       300000  650000
+                       800000  700000
+                       1500000 800000
+                       1848000 1000000
+               >;
+               light,dvddm-operating-points = <
+                       /* kHz   uV */
+                       300000  800000
+                       800000  800000
+                       1500000 800000
+                       1848000 1000000
+               >;
+       };
+};
+
+&dpu {
+       status = "okay";
+};
+
+/* DP1 --- HDMI0 */
+&dpu_enc1 {
+       status = "disabled";
+       ports {
+               /delete-node/ port@0;
+       };
+};
+
+&disp1_out {
+       remote-endpoint = <&hdmi_tx_in>;
+};
+
+&hdmi_tx {
+       status = "okay";
+
+       port@0 {
+               /* input */
+               hdmi_tx_in: endpoint {
+                       remote-endpoint = <&disp1_out>;
+               };
+       };
+};
+
+&light_i2s {
+       status = "okay";
+       /delete-property/ pinctrl-names;
+       /delete-property/ pinctrl-0;
+};
+
+&i2s0 {
+       status = "okay";
+};
+
+&i2s1 {
+       status = "okay";
+};
+
+&qspi0 {
+       status = "okay";
+       num-cs = <1>;
+       cs-gpios = <&gpio2_porta 3 0>; // GPIO_ACTIVE_HIGH: 0
+
+       spi_flash: spi-flash@0 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               compatible = "jedec,spi-nor";
+               reg = <0x0>;
+               spi-max-frequency = <50000000>;
+               spi-tx-bus-width = <1>;
+               spi-rx-bus-width = <1>;
+               status = "okay";
+
+               partitions {
+                       compatible = "fixed-partitions";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+
+                       loader@0 {
+                               label = "loader";
+                               reg = <0x0 0x800000>;
+                       };
+               };
+       };
+};
+
+&qspi1 {
+       status = "disabled";
+};