Merge tag 'arm-dt-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
[linux-2.6-microblaze.git] / arch / arm64 / boot / dts / rockchip / rk356x.dtsi
index 8ccce54..7cdef80 100644 (file)
                };
        };
 
+       gpu_opp_table: opp-table-1 {
+               compatible = "operating-points-v2";
+
+               opp-200000000 {
+                       opp-hz = /bits/ 64 <200000000>;
+                       opp-microvolt = <825000>;
+               };
+
+               opp-300000000 {
+                       opp-hz = /bits/ 64 <300000000>;
+                       opp-microvolt = <825000>;
+               };
+
+               opp-400000000 {
+                       opp-hz = /bits/ 64 <400000000>;
+                       opp-microvolt = <825000>;
+               };
+
+               opp-600000000 {
+                       opp-hz = /bits/ 64 <600000000>;
+                       opp-microvolt = <825000>;
+               };
+
+               opp-700000000 {
+                       opp-hz = /bits/ 64 <700000000>;
+                       opp-microvolt = <900000>;
+               };
+
+               opp-800000000 {
+                       opp-hz = /bits/ 64 <800000000>;
+                       opp-microvolt = <1000000>;
+               };
+       };
+
        pmu {
                compatible = "arm,cortex-a55-pmu";
                interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL_HIGH>,
                msi-controller;
        };
 
+       usb_host0_ehci: usb@fd800000 {
+               compatible = "generic-ehci";
+               reg = <0x0 0xfd800000 0x0 0x40000>;
+               interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&cru HCLK_USB2HOST0>, <&cru HCLK_USB2HOST0_ARB>,
+                        <&cru PCLK_USB>;
+               phys = <&usb2phy1_otg>;
+               phy-names = "usb";
+               status = "disabled";
+       };
+
+       usb_host0_ohci: usb@fd840000 {
+               compatible = "generic-ohci";
+               reg = <0x0 0xfd840000 0x0 0x40000>;
+               interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&cru HCLK_USB2HOST0>, <&cru HCLK_USB2HOST0_ARB>,
+                        <&cru PCLK_USB>;
+               phys = <&usb2phy1_otg>;
+               phy-names = "usb";
+               status = "disabled";
+       };
+
+       usb_host1_ehci: usb@fd880000 {
+               compatible = "generic-ehci";
+               reg = <0x0 0xfd880000 0x0 0x40000>;
+               interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&cru HCLK_USB2HOST1>, <&cru HCLK_USB2HOST1_ARB>,
+                        <&cru PCLK_USB>;
+               phys = <&usb2phy1_host>;
+               phy-names = "usb";
+               status = "disabled";
+       };
+
+       usb_host1_ohci: usb@fd8c0000 {
+               compatible = "generic-ohci";
+               reg = <0x0 0xfd8c0000 0x0 0x40000>;
+               interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&cru HCLK_USB2HOST1>, <&cru HCLK_USB2HOST1_ARB>,
+                        <&cru PCLK_USB>;
+               phys = <&usb2phy1_host>;
+               phy-names = "usb";
+               status = "disabled";
+       };
+
        pmugrf: syscon@fdc20000 {
                compatible = "rockchip,rk3568-pmugrf", "syscon", "simple-mfd";
                reg = <0x0 0xfdc20000 0x0 0x10000>;
                };
        };
 
+       pipegrf: syscon@fdc50000 {
+               compatible = "rockchip,rk3568-pipe-grf", "syscon";
+               reg = <0x0 0xfdc50000 0x0 0x1000>;
+       };
+
        grf: syscon@fdc60000 {
                compatible = "rockchip,rk3568-grf", "syscon", "simple-mfd";
                reg = <0x0 0xfdc60000 0x0 0x10000>;
        };
 
+       pipe_phy_grf1: syscon@fdc80000 {
+               compatible = "rockchip,rk3568-pipe-phy-grf", "syscon";
+               reg = <0x0 0xfdc80000 0x0 0x1000>;
+       };
+
+       pipe_phy_grf2: syscon@fdc90000 {
+               compatible = "rockchip,rk3568-pipe-phy-grf", "syscon";
+               reg = <0x0 0xfdc90000 0x0 0x1000>;
+       };
+
+       usb2phy0_grf: syscon@fdca0000 {
+               compatible = "rockchip,rk3568-usb2phy-grf", "syscon";
+               reg = <0x0 0xfdca0000 0x0 0x8000>;
+       };
+
+       usb2phy1_grf: syscon@fdca8000 {
+               compatible = "rockchip,rk3568-usb2phy-grf", "syscon";
+               reg = <0x0 0xfdca8000 0x0 0x8000>;
+       };
+
        pmucru: clock-controller@fdd00000 {
                compatible = "rockchip,rk3568-pmucru";
                reg = <0x0 0xfdd00000 0x0 0x1000>;
                };
        };
 
+       gpu: gpu@fde60000 {
+               compatible = "rockchip,rk3568-mali", "arm,mali-bifrost";
+               reg = <0x0 0xfde60000 0x0 0x4000>;
+               interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
+               interrupt-names = "job", "mmu", "gpu";
+               clocks = <&scmi_clk 1>, <&cru CLK_GPU>;
+               clock-names = "gpu", "bus";
+               #cooling-cells = <2>;
+               operating-points-v2 = <&gpu_opp_table>;
+               power-domains = <&power RK3568_PD_GPU>;
+               status = "disabled";
+       };
+
        sdmmc2: mmc@fe000000 {
                compatible = "rockchip,rk3568-dw-mshc", "rockchip,rk3288-dw-mshc";
                reg = <0x0 0xfe000000 0x0 0x4000>;
                status = "disabled";
        };
 
+       i2s3_2ch: i2s@fe430000 {
+               compatible = "rockchip,rk3568-i2s-tdm";
+               reg = <0x0 0xfe430000 0x0 0x1000>;
+               interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&cru MCLK_I2S3_2CH_TX>, <&cru MCLK_I2S3_2CH_RX>,
+                        <&cru HCLK_I2S3_2CH>;
+               clock-names = "mclk_tx", "mclk_rx", "hclk";
+               dmas = <&dmac1 6>, <&dmac1 7>;
+               dma-names = "tx", "rx";
+               resets = <&cru SRST_M_I2S3_2CH_TX>, <&cru SRST_M_I2S3_2CH_RX>;
+               reset-names = "tx-m", "rx-m";
+               rockchip,grf = <&grf>;
+               #sound-dai-cells = <0>;
+               status = "disabled";
+       };
+
+       pdm: pdm@fe440000 {
+               compatible = "rockchip,rk3568-pdm";
+               reg = <0x0 0xfe440000 0x0 0x1000>;
+               interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&cru MCLK_PDM>, <&cru HCLK_PDM>;
+               clock-names = "pdm_clk", "pdm_hclk";
+               dmas = <&dmac1 9>;
+               dma-names = "rx";
+               pinctrl-0 = <&pdmm0_clk
+                            &pdmm0_clk1
+                            &pdmm0_sdi0
+                            &pdmm0_sdi1
+                            &pdmm0_sdi2
+                            &pdmm0_sdi3>;
+               pinctrl-names = "default";
+               resets = <&cru SRST_M_PDM>;
+               reset-names = "pdm-m";
+               #sound-dai-cells = <0>;
+               status = "disabled";
+       };
+
        dmac0: dma-controller@fe530000 {
                compatible = "arm,pl330", "arm,primecell";
                reg = <0x0 0xfe530000 0x0 0x4000>;
                        polling-delay = <1000>; /* milliseconds */
 
                        thermal-sensors = <&tsadc 1>;
+
+                       trips {
+                               gpu_threshold: gpu-threshold {
+                                       temperature = <70000>;
+                                       hysteresis = <2000>;
+                                       type = "passive";
+                               };
+                               gpu_target: gpu-target {
+                                       temperature = <75000>;
+                                       hysteresis = <2000>;
+                                       type = "passive";
+                               };
+                               gpu_crit: gpu-crit {
+                                       temperature = <95000>;
+                                       hysteresis = <2000>;
+                                       type = "critical";
+                               };
+                       };
+
+                       cooling-maps {
+                               map0 {
+                                       trip = <&gpu_target>;
+                                       cooling-device =
+                                               <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+                               };
+                       };
                };
        };
 
                status = "disabled";
        };
 
+       combphy1: phy@fe830000 {
+               compatible = "rockchip,rk3568-naneng-combphy";
+               reg = <0x0 0xfe830000 0x0 0x100>;
+               clocks = <&pmucru CLK_PCIEPHY1_REF>,
+                        <&cru PCLK_PIPEPHY1>,
+                        <&cru PCLK_PIPE>;
+               clock-names = "ref", "apb", "pipe";
+               assigned-clocks = <&pmucru CLK_PCIEPHY1_REF>;
+               assigned-clock-rates = <100000000>;
+               resets = <&cru SRST_PIPEPHY1>;
+               rockchip,pipe-grf = <&pipegrf>;
+               rockchip,pipe-phy-grf = <&pipe_phy_grf1>;
+               #phy-cells = <1>;
+               status = "disabled";
+       };
+
+       combphy2: phy@fe840000 {
+               compatible = "rockchip,rk3568-naneng-combphy";
+               reg = <0x0 0xfe840000 0x0 0x100>;
+               clocks = <&pmucru CLK_PCIEPHY2_REF>,
+                        <&cru PCLK_PIPEPHY2>,
+                        <&cru PCLK_PIPE>;
+               clock-names = "ref", "apb", "pipe";
+               assigned-clocks = <&pmucru CLK_PCIEPHY2_REF>;
+               assigned-clock-rates = <100000000>;
+               resets = <&cru SRST_PIPEPHY2>;
+               rockchip,pipe-grf = <&pipegrf>;
+               rockchip,pipe-phy-grf = <&pipe_phy_grf2>;
+               #phy-cells = <1>;
+               status = "disabled";
+       };
+
+       usb2phy0: usb2phy@fe8a0000 {
+               compatible = "rockchip,rk3568-usb2phy";
+               reg = <0x0 0xfe8a0000 0x0 0x10000>;
+               clocks = <&pmucru CLK_USBPHY0_REF>;
+               clock-names = "phyclk";
+               clock-output-names = "clk_usbphy0_480m";
+               interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>;
+               rockchip,usbgrf = <&usb2phy0_grf>;
+               #clock-cells = <0>;
+               status = "disabled";
+
+               usb2phy0_host: host-port {
+                       #phy-cells = <0>;
+                       status = "disabled";
+               };
+
+               usb2phy0_otg: otg-port {
+                       #phy-cells = <0>;
+                       status = "disabled";
+               };
+       };
+
+       usb2phy1: usb2phy@fe8b0000 {
+               compatible = "rockchip,rk3568-usb2phy";
+               reg = <0x0 0xfe8b0000 0x0 0x10000>;
+               clocks = <&pmucru CLK_USBPHY1_REF>;
+               clock-names = "phyclk";
+               clock-output-names = "clk_usbphy1_480m";
+               interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
+               rockchip,usbgrf = <&usb2phy1_grf>;
+               #clock-cells = <0>;
+               status = "disabled";
+
+               usb2phy1_host: host-port {
+                       #phy-cells = <0>;
+                       status = "disabled";
+               };
+
+               usb2phy1_otg: otg-port {
+                       #phy-cells = <0>;
+                       status = "disabled";
+               };
+       };
+
        pinctrl: pinctrl {
                compatible = "rockchip,rk3568-pinctrl";
                rockchip,grf = <&grf>;