/**
 * configure regulators that for not use rk809
 * 
 * most content of this file is from rk3566-evb1-ddr4-v10.dtsi
 */

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pwm/pwm.h>
#include <dt-bindings/pinctrl/rockchip.h>
#include <dt-bindings/input/rk-input.h>
#include <dt-bindings/display/drm_mipi_dsi.h>
#include <dt-bindings/sensor-dev.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pinctrl/rockchip.h>


#include "../rk3566.dtsi"


/ {

        rpdzkj:rpdzkj_config {
                compatible = "rp_config";
                user_version = "rpdzkj";
                system_rotate = "0";
        csi_camera_rotate = "0"; //all csi camera rotation //0 90 180 270 //no effect
        csi_camera_facing = "0"; //0:auto  1:all front   2:all back //no effect
        usb_camera_rotate = "0"; //all usb camera rotation //0 90 180 270 
        usb_camera_facing = "0"; //0:auto  1:all front   2:all back
                lcd_density = "160";
                language = "zh-CN";   //zh-CN //en-US
                time_zone = "Asia/Shanghai"; //Asia/Shanghai = +8   //Europe/London  = +1       //Africa/Casablanca     = +0;
                not_navigation_bar = "false";
                not_status_bar = "false";
                default_launcher = "true";
                has_root = "true";
                usb_not_permission = "true";
                gps_use = "false";
                gps_serial_port = "/dev/ttyS4";
                primary_device = "DSI";
                extend_device = "HDMI-A";
                extend_rotate = "0";
                rotation_efull = "false";
                home_apk = "null";
                status = "okay";
        };
      
    edp_panel:panel {
        status = "disabled";
    };

    lvds_panel: panel@0 {
        status = "disabled";
    };



    audiopwmout_diff: audiopwmout-diff {
        status = "disabled";
        compatible = "simple-audio-card";
        simple-audio-card,format = "i2s";
        simple-audio-card,name = "rockchip,audiopwmout-diff";
        simple-audio-card,mclk-fs = <256>;
        simple-audio-card,bitclock-master = <&master>;
        simple-audio-card,frame-master = <&master>;
        simple-audio-card,cpu {
            sound-dai = <&i2s3_2ch>;
        };
        master: simple-audio-card,codec {
            sound-dai = <&dig_acodec>;
        };
    };
        
        
        
    rk_headset: rk-headset {
        compatible = "rockchip_headset";
//        headset_gpio = <&gpio1 RK_PB0 GPIO_ACTIVE_HIGH>;
    };
    

    dc_12v: dc-12v {
        compatible = "regulator-fixed";
        regulator-name = "dc_12v";
        regulator-always-on;
        regulator-boot-on;
        regulator-min-microvolt = <12000000>;
        regulator-max-microvolt = <12000000>;
    };

    hdmi_sound: hdmi-sound {
        compatible = "simple-audio-card";
        simple-audio-card,format = "i2s";
        simple-audio-card,mclk-fs = <128>;
        simple-audio-card,name = "rockchip,hdmi";
        status = "disabled";

        simple-audio-card,cpu {
                sound-dai = <&i2s0_8ch>;
        };
        simple-audio-card,codec {
                sound-dai = <&hdmi>;
        };
    };

/*
    leds: leds {
        compatible = "gpio-leds";
        work_led: work {
            gpios = <&gpio0 RK_PC0 GPIO_ACTIVE_HIGH>;
            linux,default-trigger = "heartbeat";
        };
    };
*/
    pdmics: dummy-codec {
        status = "disabled";
        compatible = "rockchip,dummy-codec";
        #sound-dai-cells = <0>;
    };

    pdm_mic_array: pdm-mic-array {
        status = "disabled";
        compatible = "simple-audio-card";
        simple-audio-card,name = "rockchip,pdm-mic-array";
        simple-audio-card,cpu {
            sound-dai = <&pdm>;
        };
        simple-audio-card,codec {
            sound-dai = <&pdmics>;
        };
    };

    spdif-sound {
        status = "disabled";
        compatible = "simple-audio-card";
        simple-audio-card,name = "ROCKCHIP,SPDIF";
        simple-audio-card,cpu {
                sound-dai = <&spdif_8ch>;
        };
        simple-audio-card,codec {
                sound-dai = <&spdif_out>;
        };
    };

    spdif_out: spdif-out {
            status = "disabled";
            compatible = "linux,spdif-dit";
            #sound-dai-cells = <0>;
    };

    vcc3v3_sys: vcc3v3-sys {
        compatible = "regulator-fixed";
        regulator-name = "vcc3v3_sys";
        regulator-always-on;
        regulator-boot-on;
        regulator-min-microvolt = <3300000>;
        regulator-max-microvolt = <3300000>;
        vin-supply = <&dc_12v>;
    };

    vcc5v0_sys: vcc5v0-sys {
        compatible = "regulator-fixed";
        regulator-name = "vcc5v0_sys";
        regulator-always-on;
        regulator-boot-on;
        regulator-min-microvolt = <5000000>;
        regulator-max-microvolt = <5000000>;
        vin-supply = <&dc_12v>;
    };




    vcc3v3_lcd0_n: vcc3v3-lcd0-n {
        compatible = "regulator-fixed";
        regulator-name = "vcc3v3_lcd0_n";
        regulator-boot-on;
        regulator-min-microvolt = <3300000>;
        regulator-max-microvolt = <3300000>;
        enable-active-high;
//        gpio = <&gpio0 RK_PC7 GPIO_ACTIVE_HIGH>;
        vin-supply = <&vcc3v3_sys>;

        regulator-state-mem {
            regulator-off-in-suspend;
        };
    };

    vcc3v3_lcd1_n: vcc3v3-lcd1-n {
        compatible = "regulator-fixed";
        regulator-name = "vcc3v3_lcd1_n";
        regulator-boot-on;
        regulator-min-microvolt = <3300000>;
        regulator-max-microvolt = <3300000>;
        enable-active-high;
//        gpio = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>;
        vin-supply = <&vcc3v3_sys>;

        regulator-state-mem {
            regulator-off-in-suspend;
        };
    };
    sdio_pwrseq: sdio-pwrseq {
        compatible = "mmc-pwrseq-simple";
        //clocks = <&rk809 1>;
        clock-names = "ext_clock";
        pinctrl-names = "default";
        pinctrl-0 = <&wifi_enable_h>;

        /*
         * On the module itself this is one of these (depending
         * on the actual card populated):
         * - SDIO_RESET_L_WL_REG_ON
         * - PDN (power down when low)
         */
        post-power-on-delay-ms = <200>;
        reset-gpios = <&gpio3 RK_PD5 GPIO_ACTIVE_LOW>;
    };

    wireless_wlan: wireless-wlan {
        compatible = "wlan-platdata";
        rockchip,grf = <&grf>;
        wifi_chip_type = "ap6398s";
        status = "okay";
    };

    wireless_bluetooth: wireless-bluetooth {
        compatible = "bluetooth-platdata";
        //clocks = <&rk809 1>;
        clock-names = "ext_clock";
        //wifi-bt-power-toggle;
        uart_rts_gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_LOW>;
        pinctrl-names = "default", "rts_gpio";
        pinctrl-0 = <&uart1m1_rtsn>;
        pinctrl-1 = <&uart1_gpios>;
        BT,reset_gpio    = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>;
        BT,wake_gpio     = <&gpio4 RK_PA6 GPIO_ACTIVE_HIGH>;
        BT,wake_host_irq = <&gpio4 RK_PB1 GPIO_ACTIVE_HIGH>;
        status = "okay";
    };

    test-power {
        status = "okay";
    };
    
    /**
     * configuration of regulator that no rk809
     */
    vcc3v3_pmu: vcc3v3-pmu {
        compatible = "regulator-fixed";
        regulator-name = "vcc3v3_pmu";
        regulator-always-on;
        regulator-boot-on;
        regulator-min-microvolt = <3300000>;
        regulator-max-microvolt = <3300000>;
        vin-supply = <&vcc3v3_sys>;
               regulator-state-mem {
                    regulator-on-in-suspend;
            };
    };

    vdd_logic_gpu_npu: vdd-logic_gpu_npu {
        compatible = "pwm-regulator";
        regulator-always-on;
        regulator-boot-on;
        regulator-name = "vdd_logic_gpu_npu";
        rockchip,pwm_id = <1>;
        pwms = <&pwm1 0 25000 1>;
        regulator-min-microvolt = <810000>;
        regulator-max-microvolt = <1100000>;
        regulator-init-microvolt = <1000000>;
        pwm-supply = <&vcc3v3_sys>;
        regulator-state-mem {
            regulator-off-in-suspend;
        };
    };

    vdd_cpu: vdd-cpu {
                compatible = "pwm-regulator";
                regulator-always-on;
                regulator-boot-on;
                regulator-name = "vdd_cpu";
        rockchip,pwm_id = <0>;
        pwms = <&pwm0 0 25000 1>;
        regulator-min-microvolt = <675000>;
        regulator-max-microvolt = <1250000>;
        regulator-init-microvolt = <1000000>;
                pwm-supply = <&vcc3v3_sys>;
                regulator-state-mem {
                    regulator-off-in-suspend;
                };
        };
    
    vcc_ddr: vcc-ddr {
        compatible = "regulator-fixed";
        regulator-name = "vcc_ddr";
        regulator-always-on;
        regulator-boot-on;
        regulator-min-microvolt = <1100000>;
        regulator-max-microvolt = <1100000>;
        vin-supply = <&vcc3v3_sys>;
            regulator-state-mem {
                    regulator-on-in-suspend;
            };
    };

    vdda_0v9: vdda-0v9 {
        compatible = "regulator-fixed";
        regulator-name = "vdda_0v9";
        regulator-always-on;
        regulator-boot-on;
        regulator-min-microvolt = <900000>;
        regulator-max-microvolt = <900000>;
        vin-supply = <&vcc3v3_sys>;
        regulator-state-mem {
            regulator-off-in-suspend;
        };
    };

    vccio_sd: vccio-sd-regulator {
                compatible = "regulator-gpio";
                regulator-name = "vccio_sd";
                regulator-min-microvolt = <1800000>;
                regulator-max-microvolt = <3300000>;
                gpios = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>;
                gpios-states = <0x1>;
                states = <1800000 0x0
                          3300000 0x1>;
        };

    vcca_1v8: vcca-1v8 {
        compatible = "regulator-fixed";
        regulator-name = "vcca_1v8";
        regulator-always-on;
        regulator-boot-on;
        regulator-min-microvolt = <1800000>;
        regulator-max-microvolt = <1800000>;
        vin-supply = <&vcc3v3_sys>;
            regulator-state-mem {
                regulator-off-in-suspend;
            };
    };

    vcc_1v8: vcc-1v8 {
        compatible = "regulator-fixed";
        regulator-name = "vcc_1v8";
        regulator-always-on;
        regulator-boot-on;
        regulator-min-microvolt = <1800000>;
        regulator-max-microvolt = <1800000>;
        vin-supply = <&vcc3v3_sys>;
        regulator-state-mem {
            regulator-off-in-suspend;
        };
    };

    vcc_3v3: vcc-3v3 {
        compatible = "regulator-fixed";
        regulator-name = "vcc_3v3";
        regulator-always-on;
        regulator-boot-on;
        regulator-min-microvolt = <3300000>;
        regulator-max-microvolt = <3300000>;
        vin-supply = <&vcc3v3_sys>;
        regulator-state-mem {
            regulator-off-in-suspend;
        };
    };
        
    vcc3v3_sd: vcc3v3_sd {
        compatible = "regulator-fixed";
                regulator-name = "vcc_3v3";
                regulator-always-on;
                regulator-boot-on;
                regulator-min-microvolt = <3300000>;
                regulator-max-microvolt = <3300000>;
                vin-supply = <&vcc_3v3>;
                regulator-state-mem {
                    regulator-off-in-suspend;
                };
    };

    vccio_wl: vccio_wl{
        compatible = "regulator-fixed";
        regulator-name = "vccio_wl";
        regulator-always-on;
                regulator-boot-on;
        regulator-min-microvolt = <1800000>;
                regulator-max-microvolt = <1800000>;
                vin-supply = <&vcc_1v8>;
                regulator-state-mem {
                        regulator-off-in-suspend;
                };
    };
};


&pwm0 {
    status = "okay";
    pinctrl-names = "active";
    pinctrl-0 = <&pwm0m0_pins>;
};

&pwm1 {
    status = "okay";
    pinctrl-names = "active";
    pinctrl-0 = <&pwm1m0_pins>;
};

&bus_npu {
    bus-supply = <&vdd_logic_gpu_npu>;
    pvtm-supply = <&vdd_cpu>;
    status = "okay";
};

&cpu0 {
    cpu-supply = <&vdd_cpu>;
};

&dfi {
    status = "okay";
};

&dmc {
    center-supply = <&vdd_logic_gpu_npu>;
    status = "okay";
};



&gpu {
    mali-supply = <&vdd_logic_gpu_npu>;
    status = "okay";
};


&i2s0_8ch {
    status = "okay";
};

&i2s1_8ch {
    status = "okay";
    rockchip,clk-trcm = <1>;
    pinctrl-names = "default";
    pinctrl-0 = <&i2s1m0_sclktx
             &i2s1m0_lrcktx
             &i2s1m0_sdi0
             &i2s1m0_sdo0>;
};

&iep {
    status = "okay";
};

&iep_mmu {
    status = "okay";
};

&jpegd {
    status = "okay";
};

&jpegd_mmu {
    status = "okay";
};

&mpp_srv {
    status = "okay";
};

&nandc0 {
    #address-cells = <1>;
    #size-cells = <0>;
    status = "okay";

    nand@0 {
        reg = <0>;
        nand-bus-width = <8>;
        nand-ecc-mode = "hw";
        nand-ecc-strength = <16>;
        nand-ecc-step-size = <1024>;
    };
};

&pinctrl {
    pmic {
        pmic_int: pmic_int {
            rockchip,pins =
                <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
        };

        soc_slppin_gpio: soc_slppin_gpio {
            rockchip,pins =
                <0 RK_PA2 RK_FUNC_GPIO &pcfg_output_low_pull_down>;
        };

        soc_slppin_slp: soc_slppin_slp {
            rockchip,pins =
                <0 RK_PA2 1 &pcfg_pull_up>;
        };

        soc_slppin_rst: soc_slppin_rst {
            rockchip,pins =
                <0 RK_PA2 2 &pcfg_pull_none>;
        };
    };

    sdio-pwrseq {
        wifi_enable_h: wifi-enable-h {
            rockchip,pins = <3 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
        };
    };
/*
    usb {
        vcc5v0_host_en: vcc5v0-host-en {
            rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
        };

        vcc5v0_otg_en: vcc5v0-otg-en {
            rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
        };
    };
*/
    wireless-bluetooth {
        uart1_gpios: uart1-gpios {
            rockchip,pins = <4 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
        };
    };
};

 /*
  * There are 10 independent IO domains in RK3566/RK3568, including PMUIO[0:2] and VCCIO[1:7].
  * 1/ PMUIO0 and PMUIO1 are fixed-level power domains which cannot be configured;
  * 2/ PMUIO2 and VCCIO1,VCCIO[3:7] domains require that their hardware power supply voltages
  *    must be consistent with the software configuration correspondingly
  *    a/ When the hardware IO level is connected to 1.8V, the software voltage configuration
  *       should also be configured to 1.8V accordingly;
  *    b/ When the hardware IO level is connected to 3.3V, the software voltage configuration
  *       should also be configured to 3.3V accordingly;
  * 3/ VCCIO2 voltage control selection (0xFDC20140)
  *    BIT[0]: 0x0: from GPIO_0A7 (default)
  *    BIT[0]: 0x1: from GRF
  *    Default is determined by Pin FLASH_VOL_SEL/GPIO0_A7:
  *    L:VCCIO2 must supply 3.3V
  *    H:VCCIO2 must supply 1.8V
  */
&pmu_io_domains {
    status = "okay";
    pmuio2-supply = <&vcc3v3_pmu>;
    vccio1-supply = <&vccio_acodec>;
    vccio3-supply = <&vccio_sd>;
    vccio4-supply = <&vcc_3v3>;
    vccio5-supply = <&vcc_3v3>;
    vccio6-supply = <&vcc_3v3>;
    vccio7-supply = <&vcc_3v3>;
};


&rk_rga {
    status = "okay";
};

&rkvdec {
    vdec-supply = <&vdd_logic_gpu_npu>;
    status = "okay";
};

&rkvdec_mmu {
    status = "okay";
};

&rkvenc {
    venc-supply = <&vdd_logic_gpu_npu>;
    status = "okay";
};

&rkvenc_mmu {
    status = "okay";
};

&rknpu {
    rknpu-supply = <&vdd_logic_gpu_npu>;
    status = "okay";
};

&rknpu_mmu {
    status = "okay";
};

&route_hdmi {
    status = "okay";
    connect = <&vp0_out_hdmi>;
};

&saradc {
    status = "okay";
    vref-supply = <&vcca_1v8>;
};

&sdhci {
    bus-width = <8>;
    supports-emmc;
    non-removable;
    max-frequency = <200000000>;
    status = "okay";
};

&sdmmc0 {
    max-frequency = <150000000>;
    supports-sd;
    bus-width = <4>;
    cap-mmc-highspeed;
    cap-sd-highspeed;
    disable-wp;
    sd-uhs-sdr104;
    vmmc-supply = <&vcc3v3_sd>;
    vqmmc-supply = <&vccio_sd>;
    pinctrl-names = "default";
    pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>;
    status = "okay";
};

&sdmmc2 {
    max-frequency = <150000000>;
    supports-sdio;
    bus-width = <4>;
    disable-wp;
    cap-sd-highspeed;
    cap-sdio-irq;
    keep-power-in-suspend;
    mmc-pwrseq = <&sdio_pwrseq>;
    non-removable;
    pinctrl-names = "default";
    pinctrl-0 = <&sdmmc2m0_bus4 &sdmmc2m0_cmd &sdmmc2m0_clk>;
    sd-uhs-sdr104;
    status = "okay";
};

&sfc {
    status = "okay";
};

&spdif_8ch {
    status = "disabled";
};

&tsadc {
    status = "okay";
};

&u2phy0_host {
//    phy-supply = <&vcc5v0_host>;
    status = "okay";
};

&u2phy0_otg {
//    vbus-supply = <&vcc5v0_otg>;
    status = "okay";
};

&u2phy1_host {
//    phy-supply = <&vcc5v0_host>;
    status = "okay";
};

&u2phy1_otg {
//    phy-supply = <&vcc5v0_host>;
    status = "okay";
};

&usb2phy0 {
    status = "okay";
};

&usb2phy1 {
    status = "okay";
};

&usb_host0_ehci {
    status = "okay";
};

&usb_host0_ohci {
    status = "okay";
};

&usb_host1_ehci {
    status = "okay";
};

&usb_host1_ohci {
    status = "okay";
};

&usbdrd_dwc3 {
    dr_mode = "otg";
    extcon = <&usb2phy0>;
    status = "okay";
};

&usbdrd30 {
    status = "okay";
};

&usbhost_dwc3 {
    status = "okay";
};

&usbhost30 {
    status = "okay";
};

&vad {
    rockchip,audio-src = <&i2s1_8ch>;
    rockchip,buffer-time-ms = <128>;
    rockchip,det-channel = <0>;
    rockchip,mode = <0>;
};

&vdpu {
    status = "okay";
};

&vdpu_mmu {
    status = "okay";
};

&vepu {
    status = "okay";
};

&vepu_mmu {
    status = "okay";
};

&vop {
    status = "okay";
    assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>;
    assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>;
};

&vop_mmu {
    status = "okay";
};


&dsi0 {
dsi0_panel: panel@0 {
            status = "disabled";
        };
};

&dsi1 {
dsi1_panel: panel@0 {
            status = "disabled";
        };
};
 
&audiopwmout_diff {
    status = "disabled";
};

&dig_acodec {
    status = "disabled";
    rockchip,pwm-output-mode;
    pinctrl-names = "default";
    pinctrl-0 = <&audiopwm_loutp
        &audiopwm_loutn
        &audiopwm_routp
        &audiopwm_routn
    >;
};
&pdm {
    status = "disabled";
    pinctrl-names = "default";
    pinctrl-0 = <&pdmm1_clk1
             &pdmm1_sdi1
             &pdmm1_sdi2
             &pdmm1_sdi3>;
};

&pdmics {
    status = "disabled";
};

&pdm_mic_array {
    status = "disabled";
};


&combphy1_usq {
    status = "okay";
};

&combphy2_psq {
    status = "okay";
};



&uart1 {
    status = "okay";
    pinctrl-names = "default";
    pinctrl-0 = <&uart1m1_xfer &uart1m1_ctsn>;
};



&wireless_bluetooth {
    uart_rts_gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_LOW>;
    pinctrl-names = "default", "rts_gpio";
    pinctrl-0 = <&uart1m1_rtsn>;
    pinctrl-1 = <&uart1_gpios>;
    BT,reset_gpio    = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>;
    BT,wake_gpio     = <&gpio4 RK_PA6 GPIO_ACTIVE_HIGH>;
    BT,wake_host_irq = <&gpio4 RK_PB1 GPIO_ACTIVE_HIGH>;
    status = "okay";
};

&wireless_wlan {
    pinctrl-names = "default";
    pinctrl-0 = <&wifi_host_wake_irq>;
    WIFI,host_wake_irq = <&gpio3 RK_PD4 GPIO_ACTIVE_HIGH>;
};

&pinctrl {
    cam {
        camera_pwr: camera-pwr {
            rockchip,pins =
                /* camera power en */
                <0 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
        };
    };

    headphone {
        hp_det: hp-det {
            rockchip,pins = <3 RK_PA1 RK_FUNC_GPIO &pcfg_pull_down>;
        };
    };

    wireless-wlan {
        wifi_host_wake_irq: wifi-host-wake-irq {
            rockchip,pins = <3 RK_PD4 RK_FUNC_GPIO &pcfg_pull_down>;
        };
    };

    wireless-bluetooth {
        uart1_gpios: uart1-gpios {
            rockchip,pins = <4 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
        };
    };
};
&gpu_opp_table {
		compatible = "operating-points-v2";

		mbist-vmin = <825000 900000 950000>;
		nvmem-cells = <&gpu_leakage>, <&core_pvtm>, <&mbist_vmin>;
		nvmem-cell-names = "leakage", "pvtm", "mbist-vmin";
		rockchip,pvtm-voltage-sel = <
			0        84000   0
			84001    91000   1
			91001    100000  2
		>;
		rockchip,pvtm-ch = <0 5>;

		opp-200000000 {
			opp-hz = /bits/ 64 <200000000>;
			opp-microvolt = <975000>;
			opp-microvolt-L0 = <975000>;
			opp-microvolt-L1 = <975000>;
			opp-microvolt-L2 = <975000>;
		};
		opp-300000000 {
			opp-hz = /bits/ 64 <300000000>;
			opp-microvolt = <975000>;
			opp-microvolt-L0 = <975000>;
			opp-microvolt-L1 = <975000>;
			opp-microvolt-L2 = <975000>;
		};
		opp-400000000 {
			opp-hz = /bits/ 64 <400000000>;
			opp-microvolt = <975000>;
			opp-microvolt-L0 = <975000>;
			opp-microvolt-L1 = <975000>;
			opp-microvolt-L2 = <975000>;
		};
		opp-600000000 {
			opp-hz = /bits/ 64 <600000000>;
			opp-microvolt = <975000>;
			opp-microvolt-L0 = <975000>;
			opp-microvolt-L1 = <975000>;
			opp-microvolt-L2 = <975000>;
		};
		opp-700000000 {
			opp-hz = /bits/ 64 <700000000>;
			opp-microvolt = <975000>;
			opp-microvolt-L0 = <975000>;
			opp-microvolt-L1 = <975000>;
			opp-microvolt-L2 = <975000>;
		};
		opp-800000000 {
			opp-hz = /bits/ 64 <800000000>;
			opp-microvolt = <1000000>;
			opp-microvolt-L0 = <1000000>;
			opp-microvolt-L1 = <975000>;
			opp-microvolt-L2 = <975000>;
		};
	};


&npu_opp_table {
		compatible = "operating-points-v2";

		mbist-vmin = <825000 900000 950000>;
		nvmem-cells = <&npu_leakage>, <&core_pvtm>, <&mbist_vmin>;
		nvmem-cell-names = "leakage", "pvtm", "mbist-vmin";
		rockchip,temp-hysteresis = <5000>;
		rockchip,low-temp = <0>;
		rockchip,low-temp-adjust-volt = <
			/* MHz    MHz    uV */
			   0      700    50000
		>;
		rockchip,pvtm-voltage-sel = <
			0        84000   0
			84001    91000   1
			91001    100000  2
		>;
		rockchip,pvtm-ch = <0 5>;

		opp-200000000 {
			opp-hz = /bits/ 64 <200000000>;
			opp-microvolt = <1000000 1000000 1000000>;
			opp-microvolt-L0 = <975000 975000 1000000>;
			opp-microvolt-L1 = <975000 975000 1000000>;
			opp-microvolt-L2 = <975000 975000 1000000>;
		};
		opp-300000000 {
			opp-hz = /bits/ 64 <297000000>;
			opp-microvolt = <1000000 1000000 1000000>;
			opp-microvolt-L0 = <975000 975000 1000000>;
			opp-microvolt-L1 = <975000 975000 1000000>;
			opp-microvolt-L2 = <975000 975000 1000000>;
		};
		opp-400000000 {
			opp-hz = /bits/ 64 <400000000>;
			opp-microvolt = <1000000 1000000 1000000>;
			opp-microvolt-L0 = <975000 975000 1000000>;
			opp-microvolt-L1 = <975000 975000 1000000>;
			opp-microvolt-L2 = <975000 975000 1000000>;
		};
		opp-600000000 {
			opp-hz = /bits/ 64 <600000000>;
			opp-microvolt = <1000000 1000000 1000000>;
			opp-microvolt-L0 = <975000 975000 1000000>;
			opp-microvolt-L1 = <975000 975000 1000000>;
			opp-microvolt-L2 = <975000 975000 1000000>;
		};
		opp-700000000 {
			opp-hz = /bits/ 64 <700000000>;
			opp-microvolt = <1000000 1000000 1000000>;
			opp-microvolt-L0 = <975000 975000 1000000>;
			opp-microvolt-L1 = <975000 975000 1000000>;
			opp-microvolt-L2 = <975000 975000 1000000>;
		};
		opp-800000000 {
			opp-hz = /bits/ 64 <800000000>;
			opp-microvolt = <1000000 1000000 1000000>;
			opp-microvolt-L0 = <975000 975000 1000000>;
			opp-microvolt-L1 = <975000 975000 1000000>;
			opp-microvolt-L2 = <975000 975000 1000000>;
		};
		opp-900000000 {
			opp-hz = /bits/ 64 <900000000>;
			opp-microvolt = <1000000 1000000 1000000>;
			opp-microvolt-L0 = <975000 975000 1000000>;
			opp-microvolt-L1 = <975000 975000 1000000>;
			opp-microvolt-L2 = <975000 975000 1000000>;
		};
		opp-1000000000 {
			opp-hz = /bits/ 64 <1000000000>;
			opp-microvolt = <1000000 1000000 1000000>;
			opp-microvolt-L0 = <975000 975000 1000000>;
			opp-microvolt-L1 = <975000 975000 1000000>;
			opp-microvolt-L2 = <975000 975000 1000000>;
			status = "disabled";
		};
	};
	
&rkvdec_opp_table {
		compatible = "operating-points-v2";

		opp-297000000 {
			opp-hz = /bits/ 64 <297000000>;
			opp-microvolt = <975000>;
			opp-microvolt-L0 = <975000>;
			opp-microvolt-L1 = <975000>;
		};
		opp-400000000 {
			opp-hz = /bits/ 64 <400000000>;
			opp-microvolt = <975000>;
		};
	};	
	
&rkvenc_opp_table {
		compatible = "operating-points-v2";

		nvmem-cells = <&core_pvtm>;
		nvmem-cell-names = "pvtm";
		rockchip,pvtm-voltage-sel = <
			0        84000   0
			84001    91000   1
			91001    100000  2
		>;
		rockchip,pvtm-ch = <0 5>;

		opp-297000000 {
			opp-hz = /bits/ 64 <297000000>;
			opp-microvolt = <975000>;
			opp-microvolt-L0 = <975000>;
			opp-microvolt-L1 = <975000>;
			opp-microvolt-L2 = <975000>;
		};
		opp-400000000 {
			opp-hz = /bits/ 64 <400000000>;
			opp-microvolt = <975000>;
			opp-microvolt-L0 = <975000>;
			opp-microvolt-L1 = <975000>;
			opp-microvolt-L2 = <975000>;
		};
	};
	
&dmc_opp_table {
		compatible = "operating-points-v2";

		mbist-vmin = <825000 900000 950000>;
		nvmem-cells = <&log_leakage>, <&core_pvtm>, <&mbist_vmin>;
		nvmem-cell-names = "leakage", "pvtm", "mbist-vmin";
		rockchip,temp-hysteresis = <5000>;
		rockchip,low-temp = <0>;
		rockchip,low-temp-adjust-volt = <
			/* MHz    MHz    uV */
			   0      1560   75000
		>;
		rockchip,leakage-voltage-sel = <
			1   80    0
			81  254   1
		>;
		rockchip,pvtm-voltage-sel = <
			0        84000   0
			84001    100000  1
		>;
		rockchip,pvtm-ch = <0 5>;

		opp-1560000000 {
			opp-hz = /bits/ 64 <1560000000>;
			opp-microvolt = <975000>;
			opp-microvolt-L0 = <975000>;
			opp-microvolt-L1 = <975000>;
		};
	};
