* [PATCH 1/4] arm64: dts: rk3399: add missing qos node
@ 2017-04-12 7:10 Kever Yang
2017-04-12 7:10 ` [PATCH 2/4] arm64: dts: rk3399: add power domain for some peripheral Kever Yang
` (3 more replies)
0 siblings, 4 replies; 10+ messages in thread
From: Kever Yang @ 2017-04-12 7:10 UTC (permalink / raw)
To: linux-arm-kernel
Add qos setting reg for some peripheral like sd, usb, pcie.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
---
arch/arm64/boot/dts/rockchip/rk3399.dtsi | 45 ++++++++++++++++++++++++++++----
1 file changed, 40 insertions(+), 5 deletions(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
index f4f3c96..387ae34 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
@@ -769,11 +769,6 @@
status = "disabled";
};
- qos_sd: qos at ffa74000 {
- compatible = "syscon";
- reg = <0x0 0xffa74000 0x0 0x20>;
- };
-
qos_emmc: qos at ffa58000 {
compatible = "syscon";
reg = <0x0 0xffa58000 0x0 0x20>;
@@ -784,6 +779,41 @@
reg = <0x0 0xffa5c000 0x0 0x20>;
};
+ qos_pcie: qos at ffa60080 {
+ compatible = "syscon";
+ reg = <0x0 0xffa60080 0x0 0x20>;
+ };
+
+ qos_usb_host0: qos at ffa60100 {
+ compatible = "syscon";
+ reg = <0x0 0xffa60100 0x0 0x20>;
+ };
+
+ qos_usb_host1: qos at ffa60180 {
+ compatible = "syscon";
+ reg = <0x0 0xffa60180 0x0 0x20>;
+ };
+
+ qos_usb_otg0: qos at ffa70000 {
+ compatible = "syscon";
+ reg = <0x0 0xffa70000 0x0 0x20>;
+ };
+
+ qos_usb_otg1: qos at ffa70080 {
+ compatible = "syscon";
+ reg = <0x0 0xffa70080 0x0 0x20>;
+ };
+
+ qos_sd: qos at ffa74000 {
+ compatible = "syscon";
+ reg = <0x0 0xffa74000 0x0 0x20>;
+ };
+
+ qos_sdioaudio: qos at ffa76000 {
+ compatible = "syscon";
+ reg = <0x0 0xffa76000 0x0 0x20>;
+ };
+
qos_hdcp: qos at ffa90000 {
compatible = "syscon";
reg = <0x0 0xffa90000 0x0 0x20>;
@@ -854,6 +884,11 @@
reg = <0x0 0xffad0000 0x0 0x20>;
};
+ qos_perihp: qos at ffad8080 {
+ compatible = "syscon";
+ reg = <0x0 0xffad8080 0x0 0x20>;
+ };
+
qos_gpu: qos at ffae0000 {
compatible = "syscon";
reg = <0x0 0xffae0000 0x0 0x20>;
--
1.9.1
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH 2/4] arm64: dts: rk3399: add power domain for some peripheral 2017-04-12 7:10 [PATCH 1/4] arm64: dts: rk3399: add missing qos node Kever Yang @ 2017-04-12 7:10 ` Kever Yang 2017-05-09 21:40 ` Heiko Stuebner 2017-04-12 7:10 ` [PATCH 4/4] arm64: dts: rk3399: add pinctrl " Kever Yang ` (2 subsequent siblings) 3 siblings, 1 reply; 10+ messages in thread From: Kever Yang @ 2017-04-12 7:10 UTC (permalink / raw) To: linux-arm-kernel Add power domain for sd, usb, edp. Signed-off-by: Kever Yang <kever.yang@rock-chips.com> --- arch/arm64/boot/dts/rockchip/rk3399.dtsi | 36 +++++++++++++++++++++++++++----- 1 file changed, 31 insertions(+), 5 deletions(-) diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi b/arch/arm64/boot/dts/rockchip/rk3399.dtsi index 387ae34..9d44c19 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi @@ -947,6 +947,10 @@ }; /* These power domains are grouped by VD_LOGIC */ + pd_edp at RK3399_PD_EDP { + reg = <RK3399_PD_EDP>; + clocks = <&cru PCLK_EDP_CTRL>; + }; pd_emmc at RK3399_PD_EMMC { reg = <RK3399_PD_EMMC>; clocks = <&cru ACLK_EMMC>; @@ -958,11 +962,33 @@ <&cru PCLK_GMAC>; pm_qos = <&qos_gmac>; }; - pd_sd at RK3399_PD_SD { - reg = <RK3399_PD_SD>; - clocks = <&cru HCLK_SDMMC>, - <&cru SCLK_SDMMC>; - pm_qos = <&qos_sd>; + pd_perihp at RK3399_PD_PERIHP { + reg = <RK3399_PD_PERIHP>; + #address-cells = <1>; + #size-cells = <0>; + clocks = <&cru ACLK_PERIHP>; + pm_qos = <&qos_perihp>, + <&qos_pcie>, + <&qos_usb_host0>, + <&qos_usb_host1>; + + pd_sd at RK3399_PD_SD { + reg = <RK3399_PD_SD>; + clocks = <&cru HCLK_SDMMC>, + <&cru SCLK_SDMMC>; + pm_qos = <&qos_sd>; + }; + }; + pd_sdioaudio at RK3399_PD_SDIOAUDIO { + reg = <RK3399_PD_SDIOAUDIO>; + clocks = <&cru HCLK_SDIO>; + pm_qos = <&qos_sdioaudio>; + }; + pd_usb3 at RK3399_PD_USB3 { + reg = <RK3399_PD_USB3>; + clocks = <&cru ACLK_USB3>; + pm_qos = <&qos_usb_otg0>, + <&qos_usb_otg1>; }; pd_vio at RK3399_PD_VIO { reg = <RK3399_PD_VIO>; -- 1.9.1 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 2/4] arm64: dts: rk3399: add power domain for some peripheral 2017-04-12 7:10 ` [PATCH 2/4] arm64: dts: rk3399: add power domain for some peripheral Kever Yang @ 2017-05-09 21:40 ` Heiko Stuebner 2017-05-09 22:35 ` Heiko Stübner 0 siblings, 1 reply; 10+ messages in thread From: Heiko Stuebner @ 2017-05-09 21:40 UTC (permalink / raw) To: linux-arm-kernel Am Mittwoch, 12. April 2017, 15:10:42 CEST schrieb Kever Yang: > Add power domain for sd, usb, edp. > > Signed-off-by: Kever Yang <kever.yang@rock-chips.com> applied for 4.13 Thanks Heiko ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 2/4] arm64: dts: rk3399: add power domain for some peripheral 2017-05-09 21:40 ` Heiko Stuebner @ 2017-05-09 22:35 ` Heiko Stübner 0 siblings, 0 replies; 10+ messages in thread From: Heiko Stübner @ 2017-05-09 22:35 UTC (permalink / raw) To: linux-arm-kernel Am Dienstag, 9. Mai 2017, 23:40:29 CEST schrieb Heiko Stuebner: > Am Mittwoch, 12. April 2017, 15:10:42 CEST schrieb Kever Yang: > > Add power domain for sd, usb, edp. > > > > Signed-off-by: Kever Yang <kever.yang@rock-chips.com> > > applied for 4.13 and dropped again. Actual testing revealed that I now get "synchronous external aborts" with this patch applied. The power-domain driver now probably disables some domain that should've stayed on and I guess the only thing missing is probably some power-domains reference in some device node in rk3399.dtsi. It would be cool, if you could investigate which one it is :-) . Heiko ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 4/4] arm64: dts: rk3399: add pinctrl for some peripheral 2017-04-12 7:10 [PATCH 1/4] arm64: dts: rk3399: add missing qos node Kever Yang 2017-04-12 7:10 ` [PATCH 2/4] arm64: dts: rk3399: add power domain for some peripheral Kever Yang @ 2017-04-12 7:10 ` Kever Yang 2017-05-09 21:43 ` Heiko Stuebner 2017-05-09 21:40 ` [PATCH 1/4] arm64: dts: rk3399: add missing qos node Heiko Stuebner [not found] ` <1491981044-24635-3-git-send-email-kever.yang@rock-chips.com> 3 siblings, 1 reply; 10+ messages in thread From: Kever Yang @ 2017-04-12 7:10 UTC (permalink / raw) To: linux-arm-kernel Add pinctrl for sdio, sdmmc, pcie, spdif, hdmi. Signed-off-by: Kever Yang <kever.yang@rock-chips.com> --- arch/arm64/boot/dts/rockchip/rk3399.dtsi | 113 +++++++++++++++++++++++++++++++ 1 file changed, 113 insertions(+) diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi b/arch/arm64/boot/dts/rockchip/rk3399.dtsi index 54a5340..0096c70 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi @@ -1737,6 +1737,91 @@ }; }; + sdio0 { + sdio0_bus1: sdio0-bus1 { + rockchip,pins = + <2 RK_PC4 RK_FUNC_1 &pcfg_pull_up>; + }; + + sdio0_bus4: sdio0-bus4 { + rockchip,pins = + <2 RK_PC4 RK_FUNC_1 &pcfg_pull_up>, + <2 RK_PC5 RK_FUNC_1 &pcfg_pull_up>, + <2 RK_PC6 RK_FUNC_1 &pcfg_pull_up>, + <2 RK_PC7 RK_FUNC_1 &pcfg_pull_up>; + }; + + sdio0_cmd: sdio0-cmd { + rockchip,pins = + <2 RK_PD0 RK_FUNC_1 &pcfg_pull_up>; + }; + + sdio0_clk: sdio0-clk { + rockchip,pins = + <2 RK_PD1 RK_FUNC_1 &pcfg_pull_none>; + }; + + sdio0_cd: sdio0-cd { + rockchip,pins = + <2 RK_PD2 RK_FUNC_1 &pcfg_pull_up>; + }; + + sdio0_pwr: sdio0-pwr { + rockchip,pins = + <2 RK_PD3 RK_FUNC_1 &pcfg_pull_up>; + }; + + sdio0_bkpwr: sdio0-bkpwr { + rockchip,pins = + <2 RK_PD4 RK_FUNC_1 &pcfg_pull_up>; + }; + + sdio0_wp: sdio0-wp { + rockchip,pins = + <0 RK_PA3 RK_FUNC_1 &pcfg_pull_up>; + }; + + sdio0_int: sdio0-int { + rockchip,pins = + <0 RK_PA4 RK_FUNC_1 &pcfg_pull_up>; + }; + }; + + sdmmc { + sdmmc_bus1: sdmmc-bus1 { + rockchip,pins = + <4 RK_PB0 RK_FUNC_1 &pcfg_pull_up>; + }; + + sdmmc_bus4: sdmmc-bus4 { + rockchip,pins = + <4 RK_PB0 RK_FUNC_1 &pcfg_pull_up>, + <4 RK_PB1 RK_FUNC_1 &pcfg_pull_up>, + <4 RK_PB2 RK_FUNC_1 &pcfg_pull_up>, + <4 RK_PB3 RK_FUNC_1 &pcfg_pull_up>; + }; + + sdmmc_clk: sdmmc-clk { + rockchip,pins = + <4 RK_PB4 RK_FUNC_1 &pcfg_pull_none>; + }; + + sdmmc_cmd: sdmmc-cmd { + rockchip,pins = + <4 RK_PB5 RK_FUNC_1 &pcfg_pull_up>; + }; + + sdmmc_cd: sdmcc-cd { + rockchip,pins = + <0 RK_PA7 RK_FUNC_1 &pcfg_pull_up>; + }; + + sdmmc_wp: sdmmc-wp { + rockchip,pins = + <0 RK_PB0 RK_FUNC_1 &pcfg_pull_up>; + }; + }; + sleep { ap_pwroff: ap-pwroff { rockchip,pins = <1 RK_PA5 RK_FUNC_1 &pcfg_pull_none>; @@ -1752,6 +1837,11 @@ rockchip,pins = <4 RK_PC5 RK_FUNC_1 &pcfg_pull_none>; }; + + spdif_bus_1: spdif-bus-1 { + rockchip,pins = + <3 RK_PC0 RK_FUNC_3 &pcfg_pull_none>; + }; }; spi0 { @@ -2011,6 +2101,19 @@ }; }; + hdmi { + hdmi_i2c_xfer: hdmi-i2c-xfer { + rockchip,pins = + <4 RK_PC1 RK_FUNC_3 &pcfg_pull_none>, + <4 RK_PC0 RK_FUNC_3 &pcfg_pull_none>; + }; + + hdmi_cec: hdmi-cec { + rockchip,pins = + <4 RK_PC7 RK_FUNC_1 &pcfg_pull_none>; + }; + }; + pcie { pcie_clkreqn: pci-clkreqn { rockchip,pins = @@ -2021,6 +2124,16 @@ rockchip,pins = <4 RK_PD0 RK_FUNC_1 &pcfg_pull_none>; }; + + pcie_clkreqn_cpm: pci-clkreqn-cpm { + rockchip,pins = + <2 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>; + }; + + pcie_clkreqnb_cpm: pci-clkreqnb-cpm { + rockchip,pins = + <4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>; + }; }; }; -- 1.9.1 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 4/4] arm64: dts: rk3399: add pinctrl for some peripheral 2017-04-12 7:10 ` [PATCH 4/4] arm64: dts: rk3399: add pinctrl " Kever Yang @ 2017-05-09 21:43 ` Heiko Stuebner 0 siblings, 0 replies; 10+ messages in thread From: Heiko Stuebner @ 2017-05-09 21:43 UTC (permalink / raw) To: linux-arm-kernel Am Mittwoch, 12. April 2017, 15:10:44 CEST schrieb Kever Yang: > Add pinctrl for sdio, sdmmc, pcie, spdif, hdmi. > > Signed-off-by: Kever Yang <kever.yang@rock-chips.com> applied for 4.13, after adapting for the not applied patch 3/4. Thanks Heiko ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/4] arm64: dts: rk3399: add missing qos node 2017-04-12 7:10 [PATCH 1/4] arm64: dts: rk3399: add missing qos node Kever Yang 2017-04-12 7:10 ` [PATCH 2/4] arm64: dts: rk3399: add power domain for some peripheral Kever Yang 2017-04-12 7:10 ` [PATCH 4/4] arm64: dts: rk3399: add pinctrl " Kever Yang @ 2017-05-09 21:40 ` Heiko Stuebner [not found] ` <1491981044-24635-3-git-send-email-kever.yang@rock-chips.com> 3 siblings, 0 replies; 10+ messages in thread From: Heiko Stuebner @ 2017-05-09 21:40 UTC (permalink / raw) To: linux-arm-kernel Am Mittwoch, 12. April 2017, 15:10:41 CEST schrieb Kever Yang: > Add qos setting reg for some peripheral like sd, usb, pcie. > > Signed-off-by: Kever Yang <kever.yang@rock-chips.com> applied for 4.13 Thanks Heiko ^ permalink raw reply [flat|nested] 10+ messages in thread
[parent not found: <1491981044-24635-3-git-send-email-kever.yang@rock-chips.com>]
* [PATCH 3/4] ARM: dts: rockchip: use pin constants to describe IO in pinctrl [not found] ` <1491981044-24635-3-git-send-email-kever.yang@rock-chips.com> @ 2017-05-09 21:43 ` Heiko Stuebner 2017-05-10 1:25 ` Kever Yang 0 siblings, 1 reply; 10+ messages in thread From: Heiko Stuebner @ 2017-05-09 21:43 UTC (permalink / raw) To: linux-arm-kernel Am Mittwoch, 12. April 2017, 15:10:43 CEST schrieb Kever Yang: > Use command below to replace the IO naming in pinctrl: > sed -i -e 's/ 31 RK_FUNC_/ RK_PD7 RK_FUNC_/' arch/arm/boot/dts/rk* > sed -i -e 's/ 0 RK_FUNC_/ RK_PA0 RK_FUNC_/' > arch/arm64/boot/dts/rockchip/* > > Signed-off-by: Kever Yang <kever.yang@rock-chips.com> I'm not sure, if we really want to mass-convert each and every pin. All pins in use right now seem to be working and it hides other history/blame for these entries. In any case though, this needs to be split into separate arm32/arm64 patches. Heiko ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 3/4] ARM: dts: rockchip: use pin constants to describe IO in pinctrl 2017-05-09 21:43 ` [PATCH 3/4] ARM: dts: rockchip: use pin constants to describe IO in pinctrl Heiko Stuebner @ 2017-05-10 1:25 ` Kever Yang 2017-05-10 13:55 ` Heiko Stuebner 0 siblings, 1 reply; 10+ messages in thread From: Kever Yang @ 2017-05-10 1:25 UTC (permalink / raw) To: linux-arm-kernel Heiko, On 05/10/2017 05:43 AM, Heiko Stuebner wrote: > Am Mittwoch, 12. April 2017, 15:10:43 CEST schrieb Kever Yang: >> Use command below to replace the IO naming in pinctrl: >> sed -i -e 's/ 31 RK_FUNC_/ RK_PD7 RK_FUNC_/' arch/arm/boot/dts/rk* >> sed -i -e 's/ 0 RK_FUNC_/ RK_PA0 RK_FUNC_/' >> arch/arm64/boot/dts/rockchip/* >> >> Signed-off-by: Kever Yang <kever.yang@rock-chips.com> > I'm not sure, if we really want to mass-convert each and every pin. > All pins in use right now seem to be working and it hides other > history/blame for these entries. Do you mean you want to leave the code already there as is, and new code using MACRO define for IO? This sounds reasonable, I can agree on this. I send this patch because I see there is a patch from Andy using MACRO for many IOs, but not complete enough and my patch suppose to make all Rockchip IO has update. Thanks, - Kever > > In any case though, this needs to be split into separate arm32/arm64 > patches. > > > Heiko > ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 3/4] ARM: dts: rockchip: use pin constants to describe IO in pinctrl 2017-05-10 1:25 ` Kever Yang @ 2017-05-10 13:55 ` Heiko Stuebner 0 siblings, 0 replies; 10+ messages in thread From: Heiko Stuebner @ 2017-05-10 13:55 UTC (permalink / raw) To: linux-arm-kernel Hi Kever, Am Mittwoch, 10. Mai 2017, 09:25:25 CEST schrieb Kever Yang: > On 05/10/2017 05:43 AM, Heiko Stuebner wrote: > > Am Mittwoch, 12. April 2017, 15:10:43 CEST schrieb Kever Yang: > >> Use command below to replace the IO naming in pinctrl: > >> sed -i -e 's/ 31 RK_FUNC_/ RK_PD7 RK_FUNC_/' arch/arm/boot/dts/rk* > >> sed -i -e 's/ 0 RK_FUNC_/ RK_PA0 RK_FUNC_/' > >> arch/arm64/boot/dts/rockchip/* > >> > >> Signed-off-by: Kever Yang <kever.yang@rock-chips.com> > > I'm not sure, if we really want to mass-convert each and every pin. > > All pins in use right now seem to be working and it hides other > > history/blame for these entries. > > Do you mean you want to leave the code already there as is, and new > code using MACRO define for IO? > > This sounds reasonable, I can agree on this. I send this patch because I > see there is > a patch from Andy using MACRO for many IOs, but not complete enough > and my patch suppose to make all Rockchip IO has update. As I said, I'm really not sure. On the one hand it's nicer and it will be easier to check devicetree against schematics, but mass-converting them makes me anxious. Andy did convert the rk3288-popmetal board which is somewhat sparsely used I think. If anything breaks with Firefly, Rock, Veyron etc we might make a lot of people unhappy :-) . But having boards use both paradigms at the same time (pin number and names) could also be confusing. > > In any case though, this needs to be split into separate arm32/arm64 > > patches. Maybe we could split not only on the arm/arm64 border, but also on something like soc-level (rk3188, rk3288, rk3368). That way the amount of changes per patch would go down making review easier :-) . Just to make sure you saw it, I've also had to drop patch2 again (see separate response from yesterday). Heiko ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2017-05-10 13:55 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-04-12 7:10 [PATCH 1/4] arm64: dts: rk3399: add missing qos node Kever Yang
2017-04-12 7:10 ` [PATCH 2/4] arm64: dts: rk3399: add power domain for some peripheral Kever Yang
2017-05-09 21:40 ` Heiko Stuebner
2017-05-09 22:35 ` Heiko Stübner
2017-04-12 7:10 ` [PATCH 4/4] arm64: dts: rk3399: add pinctrl " Kever Yang
2017-05-09 21:43 ` Heiko Stuebner
2017-05-09 21:40 ` [PATCH 1/4] arm64: dts: rk3399: add missing qos node Heiko Stuebner
[not found] ` <1491981044-24635-3-git-send-email-kever.yang@rock-chips.com>
2017-05-09 21:43 ` [PATCH 3/4] ARM: dts: rockchip: use pin constants to describe IO in pinctrl Heiko Stuebner
2017-05-10 1:25 ` Kever Yang
2017-05-10 13:55 ` Heiko Stuebner
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).