Updates rk3288.dtsi and tinkerboard dtsi
rk3288.dtsi:
adds opp point table for CPU, HEVC, VPU service, QOS, noc, cif, etc (current Rockchip-linux)
rk3288-miniarm.dts:
adds corect LEDs, fixes 4K output bug, enables HEVC, adds wireless-bluetooth and wireless-wlan definitions, etc (current Rockchip-linux)
Compiles and boots tinkerboard, Miqi untested, however no errors compiling miqi dtb
This commit is contained in:
parent
78df296b54
commit
84b3a8365c
@ -0,0 +1,724 @@
|
||||
diff --git a/arch/arm/boot/dts/rk3288-miniarm.dts b/arch/arm/boot/dts/rk3288-miniarm.dts
|
||||
index e1177dd..8eb8070 100644
|
||||
--- a/arch/arm/boot/dts/rk3288-miniarm.dts
|
||||
+++ b/arch/arm/boot/dts/rk3288-miniarm.dts
|
||||
@@ -39,16 +39,54 @@
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
+
|
||||
+#include <dt-bindings/clock/rockchip,rk808.h>
|
||||
#include "rk3288.dtsi"
|
||||
+#include <dt-bindings/input/input.h>
|
||||
|
||||
/ {
|
||||
compatible = "rockchip,rk3288-miniarm", "rockchip,rk3288";
|
||||
|
||||
+ ion {
|
||||
+ compatible = "rockchip,ion";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+
|
||||
+ cma-heap {
|
||||
+ reg = <0x78000000 0x08000000>;
|
||||
+ };
|
||||
+
|
||||
+ system-heap {
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
memory {
|
||||
device_type = "memory";
|
||||
reg = <0x0 0x80000000>;
|
||||
};
|
||||
|
||||
+ wireless-bluetooth {
|
||||
+ compatible = "bluetooth-platdata";
|
||||
+ uart_rts_gpios = <&gpio4 19 GPIO_ACTIVE_LOW>;
|
||||
+ pinctrl-names = "default","rts_gpio";
|
||||
+ pinctrl-0 = <&uart0_rts>;
|
||||
+ pinctrl-1 = <&uart0_gpios>;
|
||||
+ BT,reset_gpio = <&gpio4 29 GPIO_ACTIVE_HIGH>;
|
||||
+ BT,wake_gpio = <&gpio4 26 GPIO_ACTIVE_HIGH>;
|
||||
+ BT,wake_host_irq = <&gpio4 31 GPIO_ACTIVE_HIGH>;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
+ wireless-wlan {
|
||||
+ compatible = "wlan-platdata";
|
||||
+ rockchip,grf = <&grf>;
|
||||
+ wifi_chip_type = "8723bs";
|
||||
+ sdio_vref = <1800>;
|
||||
+ WIFI,host_wake_irq = <&gpio4 30 GPIO_ACTIVE_HIGH>;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
+
|
||||
ext_gmac: external-gmac-clock {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <125000000>;
|
||||
@@ -56,6 +94,29 @@
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
|
||||
+ io_domains: io-domains {
|
||||
+ compatible = "rockchip,rk3288-io-voltage-domain";
|
||||
+ rockchip,grf = <&grf>;
|
||||
+ wifi-supply = <&vcc_18>;
|
||||
+ sdcard-supply = <&vccio_sd>;
|
||||
+ };
|
||||
+
|
||||
+ sdio_pwrseq: sdio-pwrseq {
|
||||
+ compatible = "mmc-pwrseq-simple";
|
||||
+ clocks = <&rk808 RK808_CLKOUT1>;
|
||||
+ 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)
|
||||
+ */
|
||||
+ reset-gpios = <&gpio4 28 GPIO_ACTIVE_LOW>;
|
||||
+ };
|
||||
+
|
||||
gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
#address-cells = <1>;
|
||||
@@ -84,8 +145,13 @@
|
||||
};
|
||||
|
||||
act-led {
|
||||
- gpios=<&gpio2 3 GPIO_ACTIVE_LOW>;
|
||||
- linux,default-trigger="mmc0";
|
||||
+ gpios = <&gpio1 0x18 GPIO_ACTIVE_LOW>;
|
||||
+ linux,default-trigger = "mmc0";
|
||||
+ };
|
||||
+
|
||||
+ heartbeat-led {
|
||||
+ gpios = <&gpio1 0x19 GPIO_ACTIVE_LOW>;
|
||||
+ linux,default-trigger = "heartbeat";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -111,18 +177,12 @@
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
- io_domains: io-domains {
|
||||
- compatible = "rockchip,rk3288-io-voltage-domain";
|
||||
- rockchip,grf = <&grf>;
|
||||
-
|
||||
- sdcard-supply = <&vccio_sd>;
|
||||
- };
|
||||
-
|
||||
/*
|
||||
* NOTE: vcc_sd isn't hooked up on v1.0 boards where power comes from
|
||||
* vcc_io directly. Those boards won't be able to power cycle SD cards
|
||||
* but it shouldn't hurt to toggle this pin there anyway.
|
||||
*/
|
||||
+
|
||||
vcc_sd: sdmmc-regulator {
|
||||
compatible = "regulator-fixed";
|
||||
gpio = <&gpio7 11 GPIO_ACTIVE_LOW>;
|
||||
@@ -134,6 +194,13 @@
|
||||
startup-delay-us = <100000>;
|
||||
vin-supply = <&vcc_io>;
|
||||
};
|
||||
+
|
||||
+ vdd_log: vdd_log {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-min-microvolt = <1000000>;
|
||||
+ regulator-max-microvolt = <1000000>;
|
||||
+ regulator-name = "vdd_logic";
|
||||
+ };
|
||||
};
|
||||
|
||||
&cpu0 {
|
||||
@@ -167,6 +234,12 @@
|
||||
#sound-dai-cells = <0>;
|
||||
ddc-i2c-bus = <&i2c5>;
|
||||
status = "okay";
|
||||
+ /* Don't use vopl for HDMI */
|
||||
+ ports {
|
||||
+ hdmi_in: port {
|
||||
+ /delete-node/ endpoint@1;
|
||||
+ };
|
||||
+ };
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
@@ -180,6 +253,10 @@
|
||||
interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pmic_int &global_pwroff>;
|
||||
+
|
||||
+ dvs-gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>,
|
||||
+ <&gpio0 12 GPIO_ACTIVE_HIGH>;
|
||||
+
|
||||
rockchip,system-power-controller;
|
||||
wakeup-source;
|
||||
#clock-cells = <1>;
|
||||
@@ -205,6 +282,7 @@
|
||||
regulator-min-microvolt = <750000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
regulator-name = "vdd_arm";
|
||||
+ regulator-ramp-delay = <6000>;
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
@@ -362,6 +440,12 @@
|
||||
|
||||
&i2c2 {
|
||||
status = "okay";
|
||||
+
|
||||
+ eeprom:m24c08@50 {
|
||||
+ compatible = "at,24c08";
|
||||
+ reg = <0x50>;
|
||||
+ };
|
||||
+
|
||||
};
|
||||
|
||||
&i2c5 {
|
||||
@@ -373,6 +457,24 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&sdio0 {
|
||||
+ status = "okay";
|
||||
+ clock-frequency = <50000000>;
|
||||
+ clock-freq-min-max = <200000 50000000>;
|
||||
+ bus-width = <4>;
|
||||
+ cap-sd-highspeed;
|
||||
+ cap-sdio-irq;
|
||||
+ disable-wp;
|
||||
+ keep-power-in-suspend;
|
||||
+ mmc-pwrseq = <&sdio_pwrseq>; /*Look here if issue */
|
||||
+ non-removable;
|
||||
+ num-slots = <1>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
|
||||
+ sd-uhs-sdr104;
|
||||
+ supports-sdio;
|
||||
+};
|
||||
+
|
||||
&pwm0 {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -386,6 +488,10 @@
|
||||
bus-width = <4>;
|
||||
cap-mmc-highspeed;
|
||||
cap-sd-highspeed;
|
||||
+ sd-uhs-sdr12;
|
||||
+ sd-uhs-sdr25;
|
||||
+ sd-uhs-sdr50;
|
||||
+ sd-uhs-sdr104;
|
||||
card-detect-delay = <200>;
|
||||
disable-wp; /* wp not hooked up */
|
||||
num-slots = <1>;
|
||||
@@ -404,6 +510,10 @@
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
+ dmas = <&dmac_peri 1>, <&dmac_peri 2>;
|
||||
+ dma-names = "tx", "rx";
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart0_xfer>, <&uart0_cts>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@@ -428,6 +538,8 @@
|
||||
};
|
||||
|
||||
&usb_host0_ehci {
|
||||
+
|
||||
+ no-relinquish-port;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@@ -449,13 +561,22 @@
|
||||
|
||||
&vopl {
|
||||
status = "okay";
|
||||
+ /* Don't use vopl for hdmi */
|
||||
+ vopl_out: port {
|
||||
+ /delete-node/ endpoint@0;
|
||||
+ };
|
||||
};
|
||||
|
||||
&vopl_mmu {
|
||||
status = "okay";
|
||||
+
|
||||
};
|
||||
|
||||
-&vpu {
|
||||
+&hevc_service {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&vpu_service {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@@ -495,6 +616,20 @@
|
||||
pmic_int: pmic-int {
|
||||
rockchip,pins = <RK_GPIO0 4 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
};
|
||||
+ dvs_1: dvs-1 {
|
||||
+ rockchip,pins = <RK_GPIO0 11 RK_FUNC_GPIO &pcfg_pull_down>;
|
||||
+ };
|
||||
+
|
||||
+ dvs_2: dvs-2 {
|
||||
+ rockchip,pins = <RK_GPIO0 12 RK_FUNC_GPIO &pcfg_pull_down>;
|
||||
+ };
|
||||
+
|
||||
+ };
|
||||
+
|
||||
+ sdio-pwrseq {
|
||||
+ wifi_enable_h: wifi-enable-h {
|
||||
+ rockchip,pins = <4 28 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
};
|
||||
|
||||
sdmmc {
|
||||
@@ -504,9 +639,9 @@
|
||||
*/
|
||||
sdmmc_bus4: sdmmc-bus4 {
|
||||
rockchip,pins = <6 16 RK_FUNC_1 &pcfg_pull_up_drv_8ma>,
|
||||
- <6 17 RK_FUNC_1 &pcfg_pull_up_drv_8ma>,
|
||||
- <6 18 RK_FUNC_1 &pcfg_pull_up_drv_8ma>,
|
||||
- <6 19 RK_FUNC_1 &pcfg_pull_up_drv_8ma>;
|
||||
+ <6 17 RK_FUNC_1 &pcfg_pull_up_drv_8ma>,
|
||||
+ <6 18 RK_FUNC_1 &pcfg_pull_up_drv_8ma>,
|
||||
+ <6 19 RK_FUNC_1 &pcfg_pull_up_drv_8ma>;
|
||||
};
|
||||
|
||||
sdmmc_clk: sdmmc-clk {
|
||||
@@ -531,4 +666,46 @@
|
||||
rockchip,pins = <7 8 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
+
|
||||
+ wireless-bluetooth {
|
||||
+ uart0_gpios: uart0-gpios {
|
||||
+ rockchip,pins = <4 19 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ cam_pins {
|
||||
+ cam0_default_pins:cam0_default_pins {
|
||||
+ rockchip,pins = <0 17 RK_FUNC_GPIO &pcfg_pull_none>,/*sensor power pin: GPIO0_C1 */
|
||||
+ <2 0 RK_FUNC_GPIO &pcfg_pull_none>,/*sensor power down pin: GPIO2_A0*/
|
||||
+ <2 11 RK_FUNC_1 &pcfg_pull_none>;/*sensor mclk: cif_clkout*/
|
||||
+ };
|
||||
+
|
||||
+ cam0_sleep_pins:cam0_sleep_pins {
|
||||
+ rockchip,pins = <0 17 RK_FUNC_GPIO &pcfg_pull_none>,/*sensor power pin: GPIO0_C1 */
|
||||
+ <2 0 RK_FUNC_GPIO &pcfg_pull_none>,/* cif power down pin */
|
||||
+ <2 11 RK_FUNC_GPIO &pcfg_pull_none>;/* cif_clkout */
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&dmc {
|
||||
+ status = "okay";
|
||||
+ logic-supply = <&vdd_log>;
|
||||
+ rockchip,odt-disable-freq = <666000000>;
|
||||
+ rockchip,dll-disable-freq = <333000000>;
|
||||
+ rockchip,sr-enable-freq = <333000000>;
|
||||
+ rockchip,auto-self-refresh-cnt = <0>;
|
||||
+ rockchip,auto-power-down-cnt = <64>;
|
||||
+ rockchip,ddr-speed-bin = <21>;
|
||||
+ rockchip,trcd = <10>;
|
||||
+ rockchip,trp = <10>;
|
||||
+ rockchip,pd-enable-freq = <333000000>;
|
||||
+ operating-points = <
|
||||
+ /* KHz uV */
|
||||
+ 200000 1000000
|
||||
+ 333000 1000000
|
||||
+ 533000 1000000
|
||||
+ >;
|
||||
+
|
||||
+ #cooling-cells = <2>; /* min followed by max */
|
||||
};
|
||||
diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi
|
||||
index f65e406..8ef0393 100644
|
||||
--- a/arch/arm/boot/dts/rk3288.dtsi
|
||||
+++ b/arch/arm/boot/dts/rk3288.dtsi
|
||||
@@ -94,23 +94,8 @@
|
||||
compatible = "arm,cortex-a12";
|
||||
reg = <0x500>;
|
||||
resets = <&cru SRST_CORE0>;
|
||||
- operating-points = <
|
||||
- /* KHz uV */
|
||||
- 1608000 1350000
|
||||
- 1512000 1300000
|
||||
- 1416000 1200000
|
||||
- 1200000 1100000
|
||||
- 1008000 1050000
|
||||
- 816000 1000000
|
||||
- 696000 950000
|
||||
- 600000 900000
|
||||
- 408000 900000
|
||||
- 312000 900000
|
||||
- 216000 900000
|
||||
- 126000 900000
|
||||
- >;
|
||||
+ operating-points-v2 = <&cpu0_opp_table>;
|
||||
#cooling-cells = <2>; /* min followed by max */
|
||||
- clock-latency = <40000>;
|
||||
clocks = <&cru ARMCLK>;
|
||||
};
|
||||
cpu1: cpu@501 {
|
||||
@@ -118,18 +103,83 @@
|
||||
compatible = "arm,cortex-a12";
|
||||
reg = <0x501>;
|
||||
resets = <&cru SRST_CORE1>;
|
||||
+ operating-points-v2 = <&cpu0_opp_table>;
|
||||
};
|
||||
cpu2: cpu@502 {
|
||||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a12";
|
||||
reg = <0x502>;
|
||||
resets = <&cru SRST_CORE2>;
|
||||
+ operating-points-v2 = <&cpu0_opp_table>;
|
||||
};
|
||||
cpu3: cpu@503 {
|
||||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a12";
|
||||
reg = <0x503>;
|
||||
resets = <&cru SRST_CORE3>;
|
||||
+ operating-points-v2 = <&cpu0_opp_table>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ cpu0_opp_table: opp_table0 {
|
||||
+ compatible = "operating-points-v2";
|
||||
+ opp-shared;
|
||||
+
|
||||
+ opp@126000000 {
|
||||
+ opp-hz = /bits/ 64 <126000000>;
|
||||
+ opp-microvolt = <900000>;
|
||||
+ clock-latency-ns = <40000>;
|
||||
+ };
|
||||
+ opp@216000000 {
|
||||
+ opp-hz = /bits/ 64 <216000000>;
|
||||
+ opp-microvolt = <900000>;
|
||||
+ clock-latency-ns = <40000>;
|
||||
+ };
|
||||
+ opp@408000000 {
|
||||
+ opp-hz = /bits/ 64 <408000000>;
|
||||
+ opp-microvolt = <900000>;
|
||||
+ clock-latency-ns = <40000>;
|
||||
+ };
|
||||
+ opp@600000000 {
|
||||
+ opp-hz = /bits/ 64 <600000000>;
|
||||
+ opp-microvolt = <900000>;
|
||||
+ clock-latency-ns = <40000>;
|
||||
+ };
|
||||
+ opp@696000000 {
|
||||
+ opp-hz = /bits/ 64 <696000000>;
|
||||
+ opp-microvolt = <950000>;
|
||||
+ clock-latency-ns = <40000>;
|
||||
+ };
|
||||
+ opp@816000000 {
|
||||
+ opp-hz = /bits/ 64 <816000000>;
|
||||
+ opp-microvolt = <1000000>;
|
||||
+ clock-latency-ns = <40000>;
|
||||
+ opp-suspend;
|
||||
+ };
|
||||
+ opp@1008000000 {
|
||||
+ opp-hz = /bits/ 64 <1008000000>;
|
||||
+ opp-microvolt = <1050000>;
|
||||
+ clock-latency-ns = <40000>;
|
||||
+ };
|
||||
+ opp@1200000000 {
|
||||
+ opp-hz = /bits/ 64 <1200000000>;
|
||||
+ opp-microvolt = <1100000>;
|
||||
+ clock-latency-ns = <40000>;
|
||||
+ };
|
||||
+ opp@1416000000 {
|
||||
+ opp-hz = /bits/ 64 <1416000000>;
|
||||
+ opp-microvolt = <1200000>;
|
||||
+ clock-latency-ns = <40000>;
|
||||
+ };
|
||||
+ opp@1512000000 {
|
||||
+ opp-hz = /bits/ 64 <1512000000>;
|
||||
+ opp-microvolt = <1300000>;
|
||||
+ clock-latency-ns = <40000>;
|
||||
+ };
|
||||
+ opp@1608000000 {
|
||||
+ opp-hz = /bits/ 64 <1608000000>;
|
||||
+ opp-microvolt = <1350000>;
|
||||
+ clock-latency-ns = <40000>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -549,6 +599,26 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
+ dmc: dmc@ff610000 {
|
||||
+ compatible = "rockchip,rk3288-dmc", "syscon";
|
||||
+ rockchip,cru = <&cru>;
|
||||
+ rockchip,grf = <&grf>;
|
||||
+ rockchip,pmu = <&pmu>;
|
||||
+ rockchip,sgrf = <&sgrf>;
|
||||
+ rockchip,noc = <&noc>;
|
||||
+ reg = <0xff610000 0x3fc
|
||||
+ 0xff620000 0x294
|
||||
+ 0xff630000 0x3fc
|
||||
+ 0xff640000 0x294>;
|
||||
+ rockchip,sram = <&ddr_sram>;
|
||||
+ clocks = <&cru PCLK_DDRUPCTL0>, <&cru PCLK_PUBL0>,
|
||||
+ <&cru PCLK_DDRUPCTL1>, <&cru PCLK_PUBL1>,
|
||||
+ <&cru ARMCLK>;
|
||||
+ clock-names = "pclk_ddrupctl0", "pclk_publ0",
|
||||
+ "pclk_ddrupctl1", "pclk_publ1",
|
||||
+ "arm_clk";
|
||||
+ };
|
||||
+
|
||||
i2c0: i2c@ff650000 {
|
||||
compatible = "rockchip,rk3288-i2c";
|
||||
reg = <0xff650000 0x1000>;
|
||||
@@ -629,6 +699,10 @@
|
||||
compatible = "rockchip,rk3066-smp-sram";
|
||||
reg = <0x00 0x10>;
|
||||
};
|
||||
+ ddr_sram: ddr-sram@1000 {
|
||||
+ compatible = "rockchip,rk3288-ddr-sram";
|
||||
+ reg = <0x1000 0x4000>;
|
||||
+ };
|
||||
};
|
||||
|
||||
sram@ff720000 {
|
||||
@@ -636,6 +710,76 @@
|
||||
reg = <0xff720000 0x1000>;
|
||||
};
|
||||
|
||||
+ qos_gpu_r: qos@ffaa0000 {
|
||||
+ compatible = "syscon";
|
||||
+ reg = <0xffaa0000 0x20>;
|
||||
+ };
|
||||
+
|
||||
+ qos_gpu_w: qos@ffaa0080 {
|
||||
+ compatible = "syscon";
|
||||
+ reg = <0xffaa0080 0x20>;
|
||||
+ };
|
||||
+
|
||||
+ qos_vio1_vop: qos@ffad0000 {
|
||||
+ compatible = "syscon";
|
||||
+ reg = <0xffad0000 0x20>;
|
||||
+ };
|
||||
+
|
||||
+ qos_vio1_isp_w0: qos@ffad0100 {
|
||||
+ compatible = "syscon";
|
||||
+ reg = <0xffad0100 0x20>;
|
||||
+ };
|
||||
+
|
||||
+ qos_vio1_isp_w1: qos@ffad0180 {
|
||||
+ compatible = "syscon";
|
||||
+ reg = <0xffad0180 0x20>;
|
||||
+ };
|
||||
+
|
||||
+ qos_vio0_vop: qos@ffad0400 {
|
||||
+ compatible = "syscon";
|
||||
+ reg = <0xffad0400 0x20>;
|
||||
+ };
|
||||
+
|
||||
+ qos_vio0_vip: qos@ffad0480 {
|
||||
+ compatible = "syscon";
|
||||
+ reg = <0xffad0480 0x20>;
|
||||
+ };
|
||||
+
|
||||
+ qos_vio0_iep: qos@ffad0500 {
|
||||
+ compatible = "syscon";
|
||||
+ reg = <0xffad0500 0x20>;
|
||||
+ };
|
||||
+
|
||||
+ qos_vio2_rga_r: qos@ffad0800 {
|
||||
+ compatible = "syscon";
|
||||
+ reg = <0xffad0800 0x20>;
|
||||
+ };
|
||||
+
|
||||
+ qos_vio2_rga_w: qos@ffad0880 {
|
||||
+ compatible = "syscon";
|
||||
+ reg = <0xffad0880 0x20>;
|
||||
+ };
|
||||
+
|
||||
+ qos_vio1_isp_r: qos@ffad0900 {
|
||||
+ compatible = "syscon";
|
||||
+ reg = <0xffad0900 0x20>;
|
||||
+ };
|
||||
+
|
||||
+ qos_video: qos@ffae0000 {
|
||||
+ compatible = "syscon";
|
||||
+ reg = <0xffae0000 0x20>;
|
||||
+ };
|
||||
+
|
||||
+ qos_hevc_r: qos@ffaf0000 {
|
||||
+ compatible = "syscon";
|
||||
+ reg = <0xffaf0000 0x20>;
|
||||
+ };
|
||||
+
|
||||
+ qos_hevc_w: qos@ffaf0080 {
|
||||
+ compatible = "syscon";
|
||||
+ reg = <0xffaf0080 0x20>;
|
||||
+ };
|
||||
+
|
||||
pmu: power-management@ff730000 {
|
||||
compatible = "rockchip,rk3288-pmu", "syscon", "simple-mfd";
|
||||
reg = <0xff730000 0x100>;
|
||||
@@ -696,6 +840,15 @@
|
||||
<&cru SCLK_ISP_JPE>,
|
||||
<&cru SCLK_ISP>,
|
||||
<&cru SCLK_RGA>;
|
||||
+ pm_qos = <&qos_vio0_iep>,
|
||||
+ <&qos_vio1_vop>,
|
||||
+ <&qos_vio1_isp_w0>,
|
||||
+ <&qos_vio1_isp_w1>,
|
||||
+ <&qos_vio0_vop>,
|
||||
+ <&qos_vio0_vip>,
|
||||
+ <&qos_vio2_rga_r>,
|
||||
+ <&qos_vio2_rga_w>,
|
||||
+ <&qos_vio1_isp_r>;
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -707,6 +860,8 @@
|
||||
clocks = <&cru ACLK_HEVC>,
|
||||
<&cru SCLK_HEVC_CABAC>,
|
||||
<&cru SCLK_HEVC_CORE>;
|
||||
+ pm_qos = <&qos_hevc_r>,
|
||||
+ <&qos_hevc_w>;
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -718,6 +873,7 @@
|
||||
reg = <RK3288_PD_VIDEO>;
|
||||
clocks = <&cru ACLK_VCODEC>,
|
||||
<&cru HCLK_VCODEC>;
|
||||
+ pm_qos = <&qos_video>;
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -727,6 +883,8 @@
|
||||
pd_gpu {
|
||||
reg = <RK3288_PD_GPU>;
|
||||
clocks = <&cru ACLK_GPU>;
|
||||
+ pm_qos = <&qos_gpu_r>,
|
||||
+ <&qos_gpu_w>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1056,6 +1214,11 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
+ noc: syscon@ffac0000 {
|
||||
+ compatible = "rockchip,rk3288-noc", "syscon";
|
||||
+ reg = <0xffac0000 0x2000>;
|
||||
+ };
|
||||
+
|
||||
vpu: video-codec@ff9a0000 {
|
||||
compatible = "rockchip,rk3288-vpu";
|
||||
reg = <0xff9a0000 0x800>;
|
||||
@@ -1071,6 +1234,26 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
+ vpu_service: vpu-service@ff9a0000 {
|
||||
+ compatible = "rockchip,vpu_service";
|
||||
+ reg = <0xff9a0000 0x800>;
|
||||
+ interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ interrupt-names = "irq_enc", "irq_dec";
|
||||
+ clocks = <&cru ACLK_VCODEC>, <&cru HCLK_VCODEC>;
|
||||
+ clock-names = "aclk_vcodec", "hclk_vcodec";
|
||||
+ power-domains = <&power RK3288_PD_VIDEO>;
|
||||
+ rockchip,grf = <&grf>;
|
||||
+ resets = <&cru SRST_VCODEC_AXI>, <&cru SRST_VCODEC_AHB>;
|
||||
+ reset-names = "video_a", "video_h";
|
||||
+ iommus = <&vpu_mmu>;
|
||||
+ iommu_enabled = <1>;
|
||||
+ dev_mode = <0>;
|
||||
+ status = "disabled";
|
||||
+ /* 0 means ion, 1 means drm */
|
||||
+ allocator = <1>;
|
||||
+ };
|
||||
+
|
||||
vpu_mmu: iommu@ff9a0800 {
|
||||
compatible = "rockchip,iommu";
|
||||
reg = <0xff9a0800 0x100>;
|
||||
@@ -1093,6 +1276,47 @@
|
||||
interrupts = <GIC_PPI 9 0xf04>;
|
||||
};
|
||||
|
||||
+ hevc_service: hevc-service@ff9c0000 {
|
||||
+ compatible = "rockchip,hevc_service";
|
||||
+ reg = <0xff9c0000 0x400>;
|
||||
+ interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ interrupt-names = "irq_dec";
|
||||
+ clocks = <&cru ACLK_HEVC>, <&cru HCLK_HEVC>,
|
||||
+ <&cru SCLK_HEVC_CORE>,
|
||||
+ <&cru SCLK_HEVC_CABAC>;
|
||||
+ clock-names = "aclk_vcodec", "hclk_vcodec", "clk_core",
|
||||
+ "clk_cabac";
|
||||
+ /*
|
||||
+ * The 4K hevc would also work well with 500/125/300/300,
|
||||
+ * no more err irq and reset request.
|
||||
+ */
|
||||
+ assigned-clocks = <&cru ACLK_HEVC>, <&cru HCLK_HEVC>,
|
||||
+ <&cru SCLK_HEVC_CORE>,
|
||||
+ <&cru SCLK_HEVC_CABAC>;
|
||||
+ assigned-clock-rates = <400000000>, <100000000>,
|
||||
+ <300000000>, <300000000>;
|
||||
+
|
||||
+ resets = <&cru SRST_HEVC>;
|
||||
+ reset-names = "video";
|
||||
+ power-domains = <&power RK3288_PD_HEVC>;
|
||||
+ rockchip,grf = <&grf>;
|
||||
+ dev_mode = <1>;
|
||||
+ iommus = <&hevc_mmu>;
|
||||
+ iommu_enabled = <1>;
|
||||
+ status = "disabled";
|
||||
+ /* 0 means ion, 1 means drm */
|
||||
+ allocator = <1>;
|
||||
+ };
|
||||
+
|
||||
+ hevc_mmu: iommu@ff9c0440 {
|
||||
+ compatible = "rockchip,iommu";
|
||||
+ reg = <0xff9c0440 0x40>, <0xff9c0480 0x40>;
|
||||
+ interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ interrupt-names = "hevc_mmu";
|
||||
+ power-domains = <&power RK3288_PD_HEVC>;
|
||||
+ #iommu-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
efuse: efuse@ffb40000 {
|
||||
compatible = "rockchip,rockchip-efuse";
|
||||
reg = <0xffb40000 0x20>;
|
||||
@@ -1703,5 +1927,21 @@
|
||||
rockchip,pins = <RK_GPIO6 11 RK_FUNC_1 &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
+
|
||||
+ cif {
|
||||
+ cif_dvp_d2d9:cif-dvp-d2d9 {
|
||||
+ rockchip,pins = <2 0 RK_FUNC_1 &pcfg_pull_none>,/* cif_data2 */
|
||||
+ <2 1 RK_FUNC_1 &pcfg_pull_none>,/* cif_data3 */
|
||||
+ <2 2 RK_FUNC_1 &pcfg_pull_none>,/* cif_data4 */
|
||||
+ <2 3 RK_FUNC_1 &pcfg_pull_none>,/* cif_data5 */
|
||||
+ <2 4 RK_FUNC_1 &pcfg_pull_none>,/* cif_data6 */
|
||||
+ <2 5 RK_FUNC_1 &pcfg_pull_none>,/* cif_data7 */
|
||||
+ <2 6 RK_FUNC_1 &pcfg_pull_none>,/* cif_data8 */
|
||||
+ <2 7 RK_FUNC_1 &pcfg_pull_none>,/* cif_data9 */
|
||||
+ <2 8 RK_FUNC_1 &pcfg_pull_none>,/* cif_vsync */
|
||||
+ <2 9 RK_FUNC_1 &pcfg_pull_none>,/* cif_href */
|
||||
+ <2 11 RK_FUNC_1 &pcfg_pull_none>;/* cif_clkin */
|
||||
+ };
|
||||
+ };
|
||||
};
|
||||
};
|
||||
Loading…
Reference in New Issue
Block a user