ARM64: DTS: Add rk3399-firefly uart4 device, node as /dev/ttyS1
[firefly-linux-kernel-4.4.55.git] / arch / arm64 / boot / dts / rockchip / rk3399-firefly-linux.dts
index 4312c67961f06163a3072e27e32d6c39034d7f83..d2c307394d98109c7b5c67317eaa89aedd00e2b9 100644 (file)
        model = "Rockchip RK3399 Firefly Board (Linux Opensource)";
        compatible = "rockchip,rk3399-firefly-linux", "rockchip,rk3399";
 
-       adc-keys {
-               compatible = "adc-keys";
-               io-channels = <&saradc 1>;
-               io-channel-names = "buttons";
-               poll-interval = <100>;
-               keyup-threshold-microvolt = <1800000>;
-
-               button-up {
-                       label = "Volume Up";
-                       linux,code = <KEY_VOLUMEUP>;
-                       press-threshold-microvolt = <100000>;
-               };
-
-               button-down {
-                       label = "Volume Down";
-                       linux,code = <KEY_VOLUMEDOWN>;
-                       press-threshold-microvolt = <300000>;
-               };
-
-               back {
-                       label = "Back";
-                       linux,code = <KEY_BACK>;
-                       press-threshold-microvolt = <985000>;
-               };
-
-               menu {
-                       label = "Menu";
-                       linux,code = <KEY_MENU>;
-                       press-threshold-microvolt = <1314000>;
-               };
-       };
-
        backlight: backlight {
-               status = "okay";
+               status = "disabled";
                compatible = "pwm-backlight";
-               enable-gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>;
                pwms = <&pwm0 0 25000 0>;
                brightness-levels = <
                          0   1   2   3   4   5   6   7
        };
 
        edp_panel: edp-panel {
-               compatible = "lg,lp079qx1-sp0v", "panel-simple";
+               status = "disabled";
+               compatible = "sharp,lcd-f402", "panel-simple";
                backlight = <&backlight>;
-               power-supply = <&vcc3v3_s0>;
-               enable-gpios = <&gpio4 30 GPIO_ACTIVE_HIGH>;
+               power-supply = <&vcc_lcd>;
+               enable-gpios = <&gpio4 29 GPIO_ACTIVE_HIGH>;
                pinctrl-names = "default";
                pinctrl-0 = <&lcd_panel_reset>;
 
                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";
                regulator-max-microvolt = <1800000>;
        };
 
+       vcc_lcd: vcc-lcd-regulator {
+               compatible = "regulator-fixed";
+               regulator-always-on;
+               regulator-boot-on;
+               enable-active-high;
+               gpio = <&gpio1 1 GPIO_ACTIVE_HIGH>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&lcd_en>;
+               regulator-name = "vcc_lcd";
+       };
+
        wireless-wlan {
                compatible = "wlan-platdata";
                rockchip,grf = <&grf>;
        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";
 };
 
        #address-cells = <1>;
        #size-cells = <0>;
        #sound-dai-cells = <0>;
-       ddc-i2c-bus = <&i2c3>;
        status = "okay";
 };
 
        i2c-scl-rising-time-ns = <300>;
        i2c-scl-falling-time-ns = <15>;
 
-       gsl3673: gsl3673@40 {
-               compatible = "GSL,GSL3673";
-               reg = <0x40>;
-               screen_max_x = <1536>;
-               screen_max_y = <2048>;
-               irq_gpio_number = <&gpio1 20 IRQ_TYPE_LEVEL_LOW>;
-               rst_gpio_number = <&gpio4 22 GPIO_ACTIVE_HIGH>;
-       };
-
        rt5640: rt5640@1c {
                #sound-dai-cells = <0>;
                compatible = "realtek,rt5640";
 
 &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";
        };
 
-       mpu6500@68 {
-               status = "okay";
-               compatible = "invensense,mpu6500";
-               reg = <0x68>;
-               irq-gpio = <&gpio1 22 IRQ_TYPE_EDGE_RISING>;
-               mpu-int_config = <0x10>;
-               mpu-level_shifter = <0>;
-               mpu-orientation = <0 1 0 1 0 0 0 0 1>;
-               orientation-x= <1>;
-               orientation-y= <0>;
-               orientation-z= <0>;
-               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 {
 
        lcd-panel {
                lcd_panel_reset: lcd-panel-reset {
-                       rockchip,pins = <4 30 RK_FUNC_GPIO &pcfg_pull_up>;
+                       rockchip,pins = <4 29 RK_FUNC_GPIO &pcfg_pull_up>;
+               };
+
+               lcd_en: lcd-en {
+                       rockchip,pins = <1 1 RK_FUNC_GPIO &pcfg_pull_up>;
                };
        };
 
                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>;
        status = "okay";
 };
 
+&uart4 {
+       current-speed = <9600>;
+       no-loopback-test;
+       status = "okay";
+};
+
 &usbdrd3_0 {
        status = "okay";
        extcon = <&fusb0>;
 
 &vpu {
        status = "okay";
+       /* 0 means ion, 1 means drm */
+       //allocator = <0>;
 };