arm64: dts: rockchip: enable pcie_phy for Sapphire board
[firefly-linux-kernel-4.4.55.git] / arch / arm64 / boot / dts / rockchip / rk3399-sapphire.dtsi
index f1d920118c7367867b72f1b4825493f5baa83baf..a3961115606a36e450e9584426e4c19257450bc8 100644 (file)
@@ -42,6 +42,7 @@
 
 #include "dt-bindings/pwm/pwm.h"
 #include "rk3399.dtsi"
+#include "rk3399-opp.dtsi"
 
 / {
        compatible = "rockchip,rk3399-sapphire", "rockchip,rk3399";
                        sound-dai = <&i2s2>;
                };
                simple-audio-card,codec {
-                       sound-dai = <&dw_hdmi_audio>;
+                       sound-dai = <&hdmi>;
                };
        };
 
-       io-domains {
-               compatible = "rockchip,rk3399-io-voltage-domain";
-               rockchip,grf = <&grf>;
-
-               bt656-supply = <&vcc_3v0>;              /* bt656_gpio2ab_ms */
-               audio-supply = <&vcca1v8_codec>;        /* audio_gpio3d4a_ms */
-               sdmmc-supply = <&vcc_sd>;               /* sdmmc_gpio4b_ms */
-               gpio1830-supply = <&vcc_3v0>;           /* gpio1833_gpio4cd_ms */
-       };
-
-       pmu-io-domains {
-               compatible = "rockchip,rk3399-pmu-io-voltage-domain";
-               rockchip,grf = <&pmugrf>;
-               pmu1830-supply = <&vcc_3v0>;
-       };
-
        sdio_pwrseq: sdio-pwrseq {
                compatible = "mmc-pwrseq-simple";
                clocks = <&rk808 1>;
                pinctrl-names = "default";
                pinctrl-0 = <&host_vbus_drv>;
                regulator-name = "vcc5v0_host";
+               regulator-always-on;
        };
 
        vcc5v0_sys: vcc5v0-sys {
 
        vdd_log: vdd-log {
                compatible = "pwm-regulator";
-               pwms = <&pwm2 0 25000 0>;
+               pwms = <&pwm2 0 25000 1>;
                regulator-name = "vdd_log";
                regulator-min-microvolt = <800000>;
                regulator-max-microvolt = <1400000>;
 };
 
 &emmc_phy {
-       freq-sel = <200000000>;
-       dr-sel = <50>;
-       opdelay = <4>;
        status = "okay";
 };
 
                                regulator-boot-on;
                                regulator-min-microvolt = <750000>;
                                regulator-max-microvolt = <1350000>;
+                               regulator-ramp-delay = <6001>;
                                regulator-name = "vdd_center";
                                regulator-state-mem {
                                        regulator-off-in-suspend;
                                regulator-boot-on;
                                regulator-min-microvolt = <750000>;
                                regulator-max-microvolt = <1350000>;
+                               regulator-ramp-delay = <6001>;
                                regulator-name = "vdd_cpu_l";
                                regulator-state-mem {
                                        regulator-off-in-suspend;
        };
 };
 
+&i2c4 {
+       status = "okay";
+       i2c-scl-rising-time-ns = <475>;
+       i2c-scl-falling-time-ns = <26>;
+
+       fusb0: fusb30x@22 {
+               compatible = "fairchild,fusb302";
+               reg = <0x22>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&fusb0_int>;
+               int-n-gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
+               vbus-5v-gpios = <&gpio2 0 GPIO_ACTIVE_HIGH>;
+               status = "okay";
+       };
+};
+
 &i2s0 {
        status = "okay";
        rockchip,i2s-broken-burst-len;
        status = "okay";
 };
 
+&io_domains {
+       status = "okay";
+
+       bt656-supply = <&vcc_3v0>;              /* bt656_gpio2ab_ms */
+       audio-supply = <&vcca1v8_codec>;        /* audio_gpio3d4a_ms */
+       sdmmc-supply = <&vcc_sd>;               /* sdmmc_gpio4b_ms */
+       gpio1830-supply = <&vcc_3v0>;           /* gpio1833_gpio4cd_ms */
+};
+
+&pcie_phy {
+       status = "okay";
+};
+
 &pcie0 {
        assigned-clocks = <&cru SCLK_PCIEPHY_REF>;
        assigned-clock-parents = <&cru SCLK_PCIEPHY_REF100M>;
        status = "okay";
 };
 
+&pmu_io_domains {
+       status = "okay";
+       pmu1830-supply = <&vcc_3v0>;
+};
+
 &pwm0 {
        status = "okay";
 };
        status = "okay";
 };
 
+&tcphy0 {
+       extcon = <&fusb0>;
+       status = "okay";
+};
+
+&tcphy1 {
+       status = "okay";
+};
+
 &tsadc {
        /* tshut mode 0:CRU 1:GPIO */
        rockchip,hw-tshut-mode = <1>;
 
 &u2phy0 {
        status = "okay";
+       extcon = <&fusb0>;
 
        u2phy0_otg: otg-port {
                status = "okay";
 
 &usbdrd3_0 {
        status = "okay";
+       extcon = <&fusb0>;
 };
 
 &usbdrd3_1 {
        status = "okay";
 };
 
-&cluster0_opp {
-       opp@408000000 {
-               opp-hz = /bits/ 64 <408000000>;
-               opp-microvolt = <800000>;
-               clock-latency-ns = <40000>;
-       };
-       opp@600000000 {
-               opp-hz = /bits/ 64 <600000000>;
-               opp-microvolt = <800000>;
-       };
-       opp@816000000 {
-               opp-hz = /bits/ 64 <816000000>;
-               opp-microvolt = <800000>;
-       };
-       opp@1008000000 {
-               opp-hz = /bits/ 64 <1008000000>;
-               opp-microvolt = <875000>;
-       };
-       opp@1200000000 {
-               opp-hz = /bits/ 64 <1200000000>;
-               opp-microvolt = <925000>;
-       };
-       opp@1416000000 {
-               opp-hz = /bits/ 64 <1416000000>;
-               opp-microvolt = <1050000>;
-       };
-       opp@1512000000 {
-               opp-hz = /bits/ 64 <1512000000>;
-               opp-microvolt = <1075000>;
-       };
-};
-
-&cluster1_opp {
-       opp@408000000 {
-               opp-hz = /bits/ 64 <408000000>;
-               opp-microvolt = <800000>;
-               clock-latency-ns = <40000>;
-       };
-       opp@600000000 {
-               opp-hz = /bits/ 64 <600000000>;
-               opp-microvolt = <800000>;
-       };
-       opp@816000000 {
-               opp-hz = /bits/ 64 <816000000>;
-               opp-microvolt = <825000>;
-       };
-       opp@1008000000 {
-               opp-hz = /bits/ 64 <1008000000>;
-               opp-microvolt = <875000>;
-       };
-       opp@1200000000 {
-               opp-hz = /bits/ 64 <1200000000>;
-               opp-microvolt = <950000>;
-       };
-       opp@1416000000 {
-               opp-hz = /bits/ 64 <1416000000>;
-               opp-microvolt = <1025000>;
-       };
-       opp@1608000000 {
-               opp-hz = /bits/ 64 <1608000000>;
-               opp-microvolt = <1100000>;
-       };
-       opp@1800000000 {
-               opp-hz = /bits/ 64 <1800000000>;
-               opp-microvolt = <1175000>;
-       };
-       opp@1992000000 {
-               opp-hz = /bits/ 64 <1992000000>;
-               opp-microvolt = <1250000>;
-       };
-};
-
-&CPU_COST_A72 {
-       busy-cost-data = <
-               210   129       /*  408MHz */
-               308   184       /*  600MHz */
-               419   246       /*  816MHz */
-               518   335       /* 1008MHz */
-               617   428       /* 1200MHz */
-               728   573       /* 1416MHz */
-               827   724       /* 1608MHz */
-               925   900       /* 1800MHz */
-               1024  1108      /* 1992MHz */
-       >;
-       idle-cost-data = <
-               15
-               15
-               0
-       >;
-};
-
-&CPU_COST_A53 {
-       busy-cost-data = <
-               108    46       /*  408M */
-               159    67       /*  600M */
-               216    90       /*  816M */
-               267    120      /* 1008M */
-               318    153      /* 1200M */
-               375    198      /* 1416M */
-               401    222      /* 1512M */
-       >;
-       idle-cost-data = <
-               6
-               6
-               0
-       >;
-};
-
-&CLUSTER_COST_A72 {
-       busy-cost-data = <
-               210   129       /*  408MHz */
-               308   184       /*  600MHz */
-               419   246       /*  816MHz */
-               518   335       /* 1008MHz */
-               617   428       /* 1200MHz */
-               728   573       /* 1416MHz */
-               827   724       /* 1608MHz */
-               925   900       /* 1800MHz */
-               1024  1108      /* 1992MHz */
-       >;
-       idle-cost-data = <
-               65
-               65
-               65
-       >;
-};
-
-&CLUSTER_COST_A53 {
-       busy-cost-data = <
-               108    46       /*  408M */
-               159    67       /*  600M */
-               216    90       /*  816M */
-               267    120      /* 1008M */
-               318    153      /* 1200M */
-               375    198      /* 1416M */
-               401    222      /* 1512M */
-       >;
-       idle-cost-data = <
-               56
-               56
-               56
-       >;
-};
-
-&gpu_opp_table {
-       opp@200000000 {
-               opp-hz = /bits/ 64 <200000000>;
-               opp-microvolt = <800000>;
-       };
-       opp@300000000 {
-               opp-hz = /bits/ 64 <300000000>;
-               opp-microvolt = <800000>;
-       };
-       opp@400000000 {
-               opp-hz = /bits/ 64 <400000000>;
-               opp-microvolt = <800000>;
-       };
-       opp@500000000 {
-               opp-hz = /bits/ 64 <500000000>;
-               opp-microvolt = <900000>;
-       };
-       opp@600000000 {
-               opp-hz = /bits/ 64 <600000000>;
-               opp-microvolt = <900000>;
-       };
-       opp@800000000 {
-               opp-hz = /bits/ 64 <800000000>;
-               opp-microvolt = <1000000>;
-       };
-};
-
 &pinctrl {
        pmic {
                pmic_int_l: pmic-int-l {
                                <4 25 RK_FUNC_GPIO &pcfg_pull_none>;
                };
        };
+
+       fusb30x {
+               fusb0_int: fusb0-int {
+                       rockchip,pins = <1 2 RK_FUNC_GPIO &pcfg_pull_up>;
+               };
+       };
 };