ARM64: firefly: Add rk3399-firefly board support
[firefly-linux-kernel-4.4.55.git] / arch / arm64 / boot / dts / rockchip / rk3399-firefly-linux.dts
index 740a5fbf7f2c9158ba55dd0088e5e1c5005221e5..6672571c2c6bb9844e8bdc87ed852c0cb747b7f2 100644 (file)
                regulator-name = "vcc3v3_pcie";
        };
 
+       vcc3v3_3g: vcc3v3-3g-regulator {
+               compatible = "regulator-fixed";
+               enable-active-high;
+               regulator-always-on;
+               regulator-boot-on;
+               gpio = <&gpio0 2 GPIO_ACTIVE_HIGH>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pcie_3g_drv>;
+               regulator-name = "vcc3v3_3g";
+    };
+
        vcc3v3_sys: vcc3v3-sys {
                compatible = "regulator-fixed";
                regulator-name = "vcc3v3_sys";
        wireless-bluetooth {
                compatible = "bluetooth-platdata";
                //wifi-bt-power-toggle;
+               clocks = <&rk808 1>;
+                clock-names = "ext_clock";
                uart_rts_gpios = <&gpio2 19 GPIO_ACTIVE_LOW>; /* GPIO2_C3 */
                pinctrl-names = "default", "rts_gpio";
                pinctrl-0 = <&uart0_rts>;
                BT,wake_host_irq = <&gpio0 4 GPIO_ACTIVE_HIGH>; /* GPIO0_A4 */
                status = "okay";
        };
+
+    leds {
+       compatible = "gpio-leds";
+       power {
+           label = "firefly:blue:power";
+           linux,default-trigger = "ir-power-click";
+           default-state = "on";
+           gpios = <&gpio2 27 GPIO_ACTIVE_HIGH>;
+           pinctrl-names = "default";
+           pinctrl-0 = <&led_power>;
+       };
+       user {
+           label = "firefly:yellow:user";
+           linux,default-trigger = "ir-user-click";
+           default-state = "off";
+           gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
+           pinctrl-names = "default";
+           pinctrl-0 = <&led_user>;
+       };
+   };
 };
 
 &cpu_l0 {
        pinctrl-names = "default";
        pinctrl-0 = <&rgmii_pins>;
        tx_delay = <0x28>;
-       rx_delay = <0x11>;
+       rx_delay = <0x1B>;
        status = "okay";
 };
 
 
 &i2c4 {
        status = "okay";
-       i2c-scl-rising-time-ns = <600>;
-       i2c-scl-falling-time-ns = <20>;
+       i2c-scl-rising-time-ns = <475>;
+       i2c-scl-falling-time-ns = <26>;
 
        fusb0: fusb30x@22 {
                compatible = "fairchild,fusb302";
                pinctrl-names = "default";
                pinctrl-0 = <&fusb0_int>;
                int-n-gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
-               vbus-5v-gpios = <&gpio2 0 GPIO_ACTIVE_HIGH>;
+               vbus-5v-gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
                status = "okay";
        };
 
-       gsl3680: gsl3680@41 {
-               status = "disabled";
-               compatible = "gslX680-pad";
-               reg = <0x41>;
-               screen_max_x = <1536>;
-               screen_max_y = <2048>;
-               touch-gpio = <&gpio1 20 IRQ_TYPE_LEVEL_LOW>;
-               reset-gpio = <&gpio0 12 GPIO_ACTIVE_HIGH>;
-       };
-
-       mpu6050: mpu@68 {
-               status = "disabled";
-               compatible = "invensense,mpu6050";
-               reg = <0x68>;
-               mpu-int_config = <0x10>;
-               mpu-level_shifter = <0>;
-               mpu-orientation = <0 1 0 1 0 0 0 0 1>;
-               orientation-x= <1>;
-               orientation-y= <1>;
-               orientation-z= <1>;
-               irq-gpio = <&gpio1 4 IRQ_TYPE_LEVEL_LOW>;
-               mpu-debug = <1>;
-       };
+    gsl3680: gsl3680@41 {
+                       status = "disabled";
+                       compatible = "gslX680-pad";
+                       reg = <0x41>;
+                       screen_max_x = <1536>;
+                       screen_max_y = <2048>;
+                       touch-gpio = <&gpio1 20 IRQ_TYPE_LEVEL_LOW>;
+                       reset-gpio = <&gpio0 12 GPIO_ACTIVE_HIGH>;
+      };
+
+       mpu6050:mpu@68{
+                       status = "disabled";
+            compatible = "invensense,mpu6050";
+            reg = <0x68>;
+            mpu-int_config = <0x10>;
+            mpu-level_shifter = <0>;
+            mpu-orientation = <0 1 0 1 0 0 0 0 1>;
+            orientation-x= <1>;
+            orientation-y= <1>;
+            orientation-z= <1>;
+            irq-gpio = <&gpio1 4 IRQ_TYPE_LEVEL_LOW>;
+            mpu-debug = <1>;
+        };
 };
 
 &i2s0 {
                pcie_drv: pcie-drv {
                        rockchip,pins =
                                <1 17 RK_FUNC_GPIO &pcfg_pull_none>;
-                       };
-                       pcie_3g_drv: pcie-3g-drv {
-                       rockchip,pins =
+               };
+               pcie_3g_drv: pcie-3g-drv {
+               rockchip,pins =
                                <0 2 RK_FUNC_GPIO &pcfg_pull_up>;
                };
+
        };
 
        pmic {
                };
        };
 
+       leds {
+               led_power: led-power {
+                       rockchip,pins = <2 27 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+
+               led_user: led-user {
+                       rockchip,pins = <0 13 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
+
        rt5640 {
                rt5640_hpcon: rt5640-hpcon {
                        rockchip,pins = <4 21 RK_FUNC_GPIO &pcfg_pull_none>;
        status = "disabled";
 };
 
+&route_hdmi {
+       status = "okay";
+       logo,mode = "center";
+};
+
+&cdn_dp {
+        status = "okay";
+        extcon = <&fusb0>;
+        phys = <&tcphy0_dp>;
+};
+
+&dp_in_vopb {
+        status = "disabled";
+};
+
 &saradc {
        status = "okay";
        vref-supply = <&vccadc_ref>;
        };
 };
 
+&pwm3 {
+       status = "okay";
+       interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH 0>;
+       compatible = "rockchip,remotectl-pwm";
+       remote_pwm_id = <3>;
+       handle_cpu_id = <0>;
+
+    ir_key1{
+        rockchip,usercode = <0xff00>;
+        rockchip,key_table =
+            <0xeb   KEY_POWER>,
+            <0xec   KEY_COMPOSE>,
+            <0xfe   KEY_BACK>,
+            <0xb7   KEY_HOME>,
+            <0xa3   KEY_WWW>,
+            <0xf4   KEY_VOLUMEUP>,
+            <0xa7   KEY_VOLUMEDOWN>,
+            <0xf8   KEY_ENTER>,
+            <0xfc   KEY_UP>,
+            <0xfd   KEY_DOWN>,
+            <0xf1   KEY_LEFT>,
+            <0xe5   KEY_RIGHT>;
+    };
+};
+
 &uart0 {
        pinctrl-names = "default";
        pinctrl-0 = <&uart0_xfer &uart0_cts>;
 
 &vpu {
        status = "okay";
+       /* 0 means ion, 1 means drm */
+       //allocator = <0>;
 };