Skip to content

Commit adfbb80

Browse files
committed
Merge tag 'v5.3-rockchip-dts32-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into arm/dt
Display support for rk3228/rk3229 (up to hdmi output) and more love for rk3288-veyron boards. * tag 'v5.3-rockchip-dts32-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: ARM: dts: rockchip: add display nodes for rk322x ARM: dts: rockchip: fix vop iommu-cells on rk322x clk: rockchip: add clock id for hdmi_phy special clock on rk3228 clk: rockchip: add clock id for watchdog pclk on rk3328 Revert "ARM: dts: rockchip: set PWM delay backlight settings for Minnie" ARM: dts: rockchip: Configure BT_DEV_WAKE in on rk3288-veyron ARM: dts: rockchip: Configure BT_HOST_WAKE as wake-up signal on veyron Signed-off-by: Olof Johansson <[email protected]>
2 parents 299a045 + 519574e commit adfbb80

File tree

6 files changed

+137
-3
lines changed

6 files changed

+137
-3
lines changed

arch/arm/boot/dts/rk322x.dtsi

Lines changed: 84 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,11 @@
143143
#clock-cells = <0>;
144144
};
145145

146+
display_subsystem: display-subsystem {
147+
compatible = "rockchip,display-subsystem";
148+
ports = <&vop_out>;
149+
};
150+
146151
i2s1: i2s1@100b0000 {
147152
compatible = "rockchip,rk3228-i2s", "rockchip,rk3066-i2s";
148153
reg = <0x100b0000 0x4000>;
@@ -529,6 +534,17 @@
529534
status = "disabled";
530535
};
531536

537+
hdmi_phy: hdmi-phy@12030000 {
538+
compatible = "rockchip,rk3228-hdmi-phy";
539+
reg = <0x12030000 0x10000>;
540+
clocks = <&cru PCLK_HDMI_PHY>, <&xin24m>, <&cru DCLK_HDMI_PHY>;
541+
clock-names = "sysclk", "refoclk", "refpclk";
542+
#clock-cells = <0>;
543+
clock-output-names = "hdmiphy_phy";
544+
#phy-cells = <0>;
545+
status = "disabled";
546+
};
547+
532548
gpu: gpu@20000000 {
533549
compatible = "rockchip,rk3228-mali", "arm,mali-400";
534550
reg = <0x20000000 0x10000>;
@@ -572,14 +588,36 @@
572588
status = "disabled";
573589
};
574590

591+
vop: vop@20050000 {
592+
compatible = "rockchip,rk3228-vop";
593+
reg = <0x20050000 0x1ffc>;
594+
interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
595+
clocks = <&cru ACLK_VOP>, <&cru DCLK_VOP>, <&cru HCLK_VOP>;
596+
clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
597+
resets = <&cru SRST_VOP_A>, <&cru SRST_VOP_H>, <&cru SRST_VOP_D>;
598+
reset-names = "axi", "ahb", "dclk";
599+
iommus = <&vop_mmu>;
600+
status = "disabled";
601+
602+
vop_out: port {
603+
#address-cells = <1>;
604+
#size-cells = <0>;
605+
606+
vop_out_hdmi: endpoint@0 {
607+
reg = <0>;
608+
remote-endpoint = <&hdmi_in_vop>;
609+
};
610+
};
611+
};
612+
575613
vop_mmu: iommu@20053f00 {
576614
compatible = "rockchip,iommu";
577615
reg = <0x20053f00 0x100>;
578616
interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
579617
interrupt-names = "vop_mmu";
580618
clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>;
581619
clock-names = "aclk", "iface";
582-
iommu-cells = <0>;
620+
#iommu-cells = <0>;
583621
status = "disabled";
584622
};
585623

@@ -594,6 +632,36 @@
594632
status = "disabled";
595633
};
596634

635+
hdmi: hdmi@200a0000 {
636+
compatible = "rockchip,rk3228-dw-hdmi";
637+
reg = <0x200a0000 0x20000>;
638+
reg-io-width = <4>;
639+
interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
640+
assigned-clocks = <&cru SCLK_HDMI_PHY>;
641+
assigned-clock-parents = <&hdmi_phy>;
642+
clocks = <&cru SCLK_HDMI_HDCP>, <&cru PCLK_HDMI_CTRL>, <&cru SCLK_HDMI_CEC>;
643+
clock-names = "isfr", "iahb", "cec";
644+
pinctrl-names = "default";
645+
pinctrl-0 = <&hdmii2c_xfer &hdmi_hpd &hdmi_cec>;
646+
resets = <&cru SRST_HDMI_P>;
647+
reset-names = "hdmi";
648+
phys = <&hdmi_phy>;
649+
phy-names = "hdmi";
650+
rockchip,grf = <&grf>;
651+
status = "disabled";
652+
653+
ports {
654+
hdmi_in: port {
655+
#address-cells = <1>;
656+
#size-cells = <0>;
657+
hdmi_in_vop: endpoint@0 {
658+
reg = <0>;
659+
remote-endpoint = <&vop_out_hdmi>;
660+
};
661+
};
662+
};
663+
};
664+
597665
sdmmc: dwmmc@30000000 {
598666
compatible = "rockchip,rk3228-dw-mshc", "rockchip,rk3288-dw-mshc";
599667
reg = <0x30000000 0x4000>;
@@ -922,6 +990,21 @@
922990
};
923991
};
924992

993+
hdmi {
994+
hdmi_hpd: hdmi-hpd {
995+
rockchip,pins = <0 RK_PB7 1 &pcfg_pull_down>;
996+
};
997+
998+
hdmii2c_xfer: hdmii2c-xfer {
999+
rockchip,pins = <0 RK_PA6 2 &pcfg_pull_none>,
1000+
<0 RK_PA7 2 &pcfg_pull_none>;
1001+
};
1002+
1003+
hdmi_cec: hdmi-cec {
1004+
rockchip,pins = <0 RK_PC4 1 &pcfg_pull_none>;
1005+
};
1006+
};
1007+
9251008
i2c0 {
9261009
i2c0_xfer: i2c0-xfer {
9271010
rockchip,pins = <0 RK_PA0 1 &pcfg_pull_none>,

arch/arm/boot/dts/rk3288-veyron-chromebook.dtsi

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,7 @@
237237

238238
/* Wake only */
239239
&suspend_l_wake
240+
&bt_dev_wake_awake
240241
>;
241242
pinctrl-1 = <
242243
/* Common for sleep and wake, but no owners */
@@ -246,6 +247,7 @@
246247

247248
/* Sleep only */
248249
&suspend_l_sleep
250+
&bt_dev_wake_sleep
249251
>;
250252

251253
backlight {

arch/arm/boot/dts/rk3288-veyron-minnie.dts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,8 +106,6 @@
106106
240 241 242 243 244 245 246 247
107107
248 249 250 251 252 253 254 255>;
108108
power-supply = <&backlight_regulator>;
109-
post-pwm-on-delay-ms = <200>;
110-
pwm-off-delay-ms = <200>;
111109
};
112110

113111
&i2c_tunnel {

arch/arm/boot/dts/rk3288-veyron.dtsi

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,31 @@
2323
reg = <0x0 0x0 0x0 0x80000000>;
2424
};
2525

26+
bt_activity: bt-activity {
27+
compatible = "gpio-keys";
28+
pinctrl-names = "default";
29+
pinctrl-0 = <&bt_host_wake>;
30+
31+
/*
32+
* HACK: until we have an LPM driver, we'll use an
33+
* ugly GPIO key to allow Bluetooth to wake from S3.
34+
* This is expected to only be used by BT modules that
35+
* use UART for comms. For BT modules that talk over
36+
* SDIO we should use a wakeup mechanism related to SDIO.
37+
*
38+
* Use KEY_RESERVED here since that will work as a wakeup but
39+
* doesn't get reported to higher levels (so doesn't confuse
40+
* Chrome).
41+
*/
42+
bt-wake {
43+
label = "BT Wakeup";
44+
gpios = <&gpio4 RK_PD7 GPIO_ACTIVE_HIGH>;
45+
linux,code = <KEY_RESERVED>;
46+
wakeup-source;
47+
};
48+
49+
};
50+
2651
power_button: power-button {
2752
compatible = "gpio-keys";
2853
pinctrl-names = "default";
@@ -460,12 +485,18 @@
460485
&ddr0_retention
461486
&ddrio_pwroff
462487
&global_pwroff
488+
489+
/* Wake only */
490+
&bt_dev_wake_awake
463491
>;
464492
pinctrl-1 = <
465493
/* Common for sleep and wake, but no owners */
466494
&ddr0_retention
467495
&ddrio_pwroff
468496
&global_pwroff
497+
498+
/* Sleep only */
499+
&bt_dev_wake_sleep
469500
>;
470501

471502
pcfg_pull_none_drv_8ma: pcfg-pull-none-drv-8ma {
@@ -549,6 +580,10 @@
549580
rockchip,pins = <4 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
550581
};
551582

583+
bt_host_wake: bt-host-wake {
584+
rockchip,pins = <4 RK_PD7 RK_FUNC_GPIO &pcfg_pull_down>;
585+
};
586+
552587
/*
553588
* We run sdio0 at max speed; bump up drive strength.
554589
* We also have external pulls, so disable the internal ones.
@@ -567,6 +602,20 @@
567602
sdio0_clk: sdio0-clk {
568603
rockchip,pins = <4 RK_PD1 1 &pcfg_pull_none_drv_8ma>;
569604
};
605+
606+
/*
607+
* These pins are only present on very new veyron boards; on
608+
* older boards bt_dev_wake is simply always high. Note that
609+
* gpio4_D2 is a NC on old veyron boards, so it doesn't hurt
610+
* to map this pin everywhere
611+
*/
612+
bt_dev_wake_sleep: bt-dev-wake-sleep {
613+
rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_output_low>;
614+
};
615+
616+
bt_dev_wake_awake: bt-dev-wake-awake {
617+
rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_output_high>;
618+
};
570619
};
571620

572621
tpm {

include/dt-bindings/clock/rk3228-cru.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@
6464
#define SCLK_WIFI 141
6565
#define SCLK_OTGPHY0 142
6666
#define SCLK_OTGPHY1 143
67+
#define SCLK_HDMI_PHY 144
6768

6869
/* dclk gates */
6970
#define DCLK_VOP 190

include/dt-bindings/clock/rk3328-cru.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,7 @@
164164
#define PCLK_DCF 233
165165
#define PCLK_SARADC 234
166166
#define PCLK_ACODECPHY 235
167+
#define PCLK_WDT 236
167168

168169
/* hclk gates */
169170
#define HCLK_PERI 308

0 commit comments

Comments
 (0)