* [PATCH v2 1/5] PM / AVS: rockchip-io: make io-domains a child of the GRF
2016-03-31 13:48 [PATCH v2 0/5] ARM: rockchip: move io-domains under GRF Heiko Stuebner
@ 2016-03-31 13:48 ` Heiko Stuebner
2016-04-12 2:23 ` Heiko Stuebner
2016-03-31 13:48 ` [PATCH v2 2/5] ARM: dts: rockchip: make rk3288-grf a simple-mfd Heiko Stuebner
` (3 subsequent siblings)
4 siblings, 1 reply; 15+ messages in thread
From: Heiko Stuebner @ 2016-03-31 13:48 UTC (permalink / raw)
To: linux-arm-kernel
IO-domain handling is part of the general register files, so should live
under the grf directly. This change allows the grf to be a simple-mfd and
the io-domains fetching the syscon regmap from that parent-node.
The old binding is of course preserved, though deprecated.
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Acked-by: Kevin Hilman <khilman@baylibre.com>
Tested-by: David Wu <david.wu@rock-chips.com>
---
Documentation/devicetree/bindings/power/rockchip-io-domain.txt | 4 +++-
drivers/power/avs/rockchip-io-domain.c | 10 +++++++++-
2 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/Documentation/devicetree/bindings/power/rockchip-io-domain.txt b/Documentation/devicetree/bindings/power/rockchip-io-domain.txt
index c84fb47..d23dc00 100644
--- a/Documentation/devicetree/bindings/power/rockchip-io-domain.txt
+++ b/Documentation/devicetree/bindings/power/rockchip-io-domain.txt
@@ -37,8 +37,10 @@ Required properties:
- "rockchip,rk3368-pmu-io-voltage-domain" for rk3368 pmu-domains
- "rockchip,rk3399-io-voltage-domain" for rk3399
- "rockchip,rk3399-pmu-io-voltage-domain" for rk3399 pmu-domains
-- rockchip,grf: phandle to the syscon managing the "general register files"
+Deprecated properties:
+- rockchip,grf: phandle to the syscon managing the "general register files"
+ Systems should move the io-domains to a sub-node of the grf simple-mfd.
You specify supplies using the standard regulator bindings by including
a phandle the relevant regulator. All specified supplies must be able
diff --git a/drivers/power/avs/rockchip-io-domain.c b/drivers/power/avs/rockchip-io-domain.c
index 8986382..01b6d3f 100644
--- a/drivers/power/avs/rockchip-io-domain.c
+++ b/drivers/power/avs/rockchip-io-domain.c
@@ -336,6 +336,7 @@ static int rockchip_iodomain_probe(struct platform_device *pdev)
struct device_node *np = pdev->dev.of_node;
const struct of_device_id *match;
struct rockchip_iodomain *iod;
+ struct device *parent;
int i, ret = 0;
if (!np)
@@ -351,7 +352,14 @@ static int rockchip_iodomain_probe(struct platform_device *pdev)
match = of_match_node(rockchip_iodomain_match, np);
iod->soc_data = (struct rockchip_iodomain_soc_data *)match->data;
- iod->grf = syscon_regmap_lookup_by_phandle(np, "rockchip,grf");
+ parent = pdev->dev.parent;
+ if (parent && parent->of_node) {
+ iod->grf = syscon_node_to_regmap(parent->of_node);
+ } else {
+ dev_dbg(&pdev->dev, "falling back to old binding\n");
+ iod->grf = syscon_regmap_lookup_by_phandle(np, "rockchip,grf");
+ }
+
if (IS_ERR(iod->grf)) {
dev_err(&pdev->dev, "couldn't find grf regmap\n");
return PTR_ERR(iod->grf);
--
2.6.4
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v2 1/5] PM / AVS: rockchip-io: make io-domains a child of the GRF
2016-03-31 13:48 ` [PATCH v2 1/5] PM / AVS: rockchip-io: make io-domains a child of the GRF Heiko Stuebner
@ 2016-04-12 2:23 ` Heiko Stuebner
2016-04-13 4:55 ` Rafael J. Wysocki
0 siblings, 1 reply; 15+ messages in thread
From: Heiko Stuebner @ 2016-04-12 2:23 UTC (permalink / raw)
To: linux-arm-kernel
Hi Rafael,
Am Donnerstag, 31. M?rz 2016, 15:48:42 schrieb Heiko Stuebner:
> IO-domain handling is part of the general register files, so should live
> under the grf directly. This change allows the grf to be a simple-mfd and
> the io-domains fetching the syscon regmap from that parent-node.
>
> The old binding is of course preserved, though deprecated.
>
> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
> Acked-by: Kevin Hilman <khilman@baylibre.com>
> Tested-by: David Wu <david.wu@rock-chips.com>
could you look into picking up this patch 1/5 please?
The others are to much interwined into other devicetree changes, so I'll
apply them for 4.8, but it would be nice if you could pick up this one for
4.7 so the code change becomes available at 4.8-rc1
Thanks
Heiko
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v2 1/5] PM / AVS: rockchip-io: make io-domains a child of the GRF
2016-04-12 2:23 ` Heiko Stuebner
@ 2016-04-13 4:55 ` Rafael J. Wysocki
2016-04-26 16:25 ` Heiko Stübner
0 siblings, 1 reply; 15+ messages in thread
From: Rafael J. Wysocki @ 2016-04-13 4:55 UTC (permalink / raw)
To: linux-arm-kernel
On Tue, Apr 12, 2016 at 4:23 AM, Heiko Stuebner <heiko@sntech.de> wrote:
> Hi Rafael,
>
> Am Donnerstag, 31. M?rz 2016, 15:48:42 schrieb Heiko Stuebner:
>> IO-domain handling is part of the general register files, so should live
>> under the grf directly. This change allows the grf to be a simple-mfd and
>> the io-domains fetching the syscon regmap from that parent-node.
>>
>> The old binding is of course preserved, though deprecated.
>>
>> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
>> Acked-by: Kevin Hilman <khilman@baylibre.com>
>> Tested-by: David Wu <david.wu@rock-chips.com>
>
> could you look into picking up this patch 1/5 please?
>
> The others are to much interwined into other devicetree changes, so I'll
> apply them for 4.8, but it would be nice if you could pick up this one for
> 4.7 so the code change becomes available at 4.8-rc1
OK, I'll pick it up, but I'm traveling this week, so that'll take a
few days more.
Thanks,
Rafael
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v2 1/5] PM / AVS: rockchip-io: make io-domains a child of the GRF
2016-04-13 4:55 ` Rafael J. Wysocki
@ 2016-04-26 16:25 ` Heiko Stübner
2016-04-26 17:13 ` Rafael J. Wysocki
0 siblings, 1 reply; 15+ messages in thread
From: Heiko Stübner @ 2016-04-26 16:25 UTC (permalink / raw)
To: linux-arm-kernel
Hi Rafael,
Am Mittwoch, 13. April 2016, 06:55:03 schrieb Rafael J. Wysocki:
> On Tue, Apr 12, 2016 at 4:23 AM, Heiko Stuebner <heiko@sntech.de> wrote:
> > Am Donnerstag, 31. M?rz 2016, 15:48:42 schrieb Heiko Stuebner:
> >> IO-domain handling is part of the general register files, so should live
> >> under the grf directly. This change allows the grf to be a simple-mfd and
> >> the io-domains fetching the syscon regmap from that parent-node.
> >>
> >> The old binding is of course preserved, though deprecated.
> >>
> >> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
> >> Acked-by: Kevin Hilman <khilman@baylibre.com>
> >> Tested-by: David Wu <david.wu@rock-chips.com>
> >
> > could you look into picking up this patch 1/5 please?
> >
> > The others are to much interwined into other devicetree changes, so I'll
> > apply them for 4.8, but it would be nice if you could pick up this one for
> > 4.7 so the code change becomes available at 4.8-rc1
>
> OK, I'll pick it up, but I'm traveling this week, so that'll take a
> few days more.
I just checked kernel/git/rafael/linux-pm.git and didn't find this patch there,
so I guess it might be time for a ping ;-) .
Thanks
Heiko
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v2 1/5] PM / AVS: rockchip-io: make io-domains a child of the GRF
2016-04-26 16:25 ` Heiko Stübner
@ 2016-04-26 17:13 ` Rafael J. Wysocki
0 siblings, 0 replies; 15+ messages in thread
From: Rafael J. Wysocki @ 2016-04-26 17:13 UTC (permalink / raw)
To: linux-arm-kernel
On Tue, Apr 26, 2016 at 6:25 PM, Heiko St?bner <heiko@sntech.de> wrote:
> Hi Rafael,
>
> Am Mittwoch, 13. April 2016, 06:55:03 schrieb Rafael J. Wysocki:
>> On Tue, Apr 12, 2016 at 4:23 AM, Heiko Stuebner <heiko@sntech.de> wrote:
>> > Am Donnerstag, 31. M?rz 2016, 15:48:42 schrieb Heiko Stuebner:
>> >> IO-domain handling is part of the general register files, so should live
>> >> under the grf directly. This change allows the grf to be a simple-mfd and
>> >> the io-domains fetching the syscon regmap from that parent-node.
>> >>
>> >> The old binding is of course preserved, though deprecated.
>> >>
>> >> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
>> >> Acked-by: Kevin Hilman <khilman@baylibre.com>
>> >> Tested-by: David Wu <david.wu@rock-chips.com>
>> >
>> > could you look into picking up this patch 1/5 please?
>> >
>> > The others are to much interwined into other devicetree changes, so I'll
>> > apply them for 4.8, but it would be nice if you could pick up this one for
>> > 4.7 so the code change becomes available at 4.8-rc1
>>
>> OK, I'll pick it up, but I'm traveling this week, so that'll take a
>> few days more.
>
> I just checked kernel/git/rafael/linux-pm.git and didn't find this patch there,
> so I guess it might be time for a ping ;-) .
My bad, sorry.
Queued up for 4.7 now, will show up in linux-next in the next few days.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v2 2/5] ARM: dts: rockchip: make rk3288-grf a simple-mfd
2016-03-31 13:48 [PATCH v2 0/5] ARM: rockchip: move io-domains under GRF Heiko Stuebner
2016-03-31 13:48 ` [PATCH v2 1/5] PM / AVS: rockchip-io: make io-domains a child of the GRF Heiko Stuebner
@ 2016-03-31 13:48 ` Heiko Stuebner
2016-04-15 21:21 ` Heiko Stübner
2016-03-31 13:48 ` [PATCH v2 3/5] ARM: dts: rockchip: move rk3288 io-domain nodes to the grf Heiko Stuebner
` (2 subsequent siblings)
4 siblings, 1 reply; 15+ messages in thread
From: Heiko Stuebner @ 2016-03-31 13:48 UTC (permalink / raw)
To: linux-arm-kernel
Similar to the pmu, the general register files contain a lot of different
setting bits grouped into general registers, but also some somewhat special
entities like the controls for some phy-blocks or the io-voltage control.
To be able to move these blocks under the grf node where they actually
belong, make it a simple-mfd.
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
---
arch/arm/boot/dts/rk3288.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi
index 31f7e20..bc57232 100644
--- a/arch/arm/boot/dts/rk3288.dtsi
+++ b/arch/arm/boot/dts/rk3288.dtsi
@@ -745,7 +745,7 @@
};
grf: syscon at ff770000 {
- compatible = "rockchip,rk3288-grf", "syscon";
+ compatible = "rockchip,rk3288-grf", "syscon", "simple-mfd";
reg = <0xff770000 0x1000>;
};
--
2.6.4
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v2 2/5] ARM: dts: rockchip: make rk3288-grf a simple-mfd
2016-03-31 13:48 ` [PATCH v2 2/5] ARM: dts: rockchip: make rk3288-grf a simple-mfd Heiko Stuebner
@ 2016-04-15 21:21 ` Heiko Stübner
0 siblings, 0 replies; 15+ messages in thread
From: Heiko Stübner @ 2016-04-15 21:21 UTC (permalink / raw)
To: linux-arm-kernel
Am Donnerstag, 31. M?rz 2016, 15:48:43 schrieb Heiko Stuebner:
> Similar to the pmu, the general register files contain a lot of different
> setting bits grouped into general registers, but also some somewhat special
> entities like the controls for some phy-blocks or the io-voltage control.
> To be able to move these blocks under the grf node where they actually
> belong, make it a simple-mfd.
>
> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
I've picked this patch into my dts32 branch for v4.7, as I need it as base for
some other change as well.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v2 3/5] ARM: dts: rockchip: move rk3288 io-domain nodes to the grf
2016-03-31 13:48 [PATCH v2 0/5] ARM: rockchip: move io-domains under GRF Heiko Stuebner
2016-03-31 13:48 ` [PATCH v2 1/5] PM / AVS: rockchip-io: make io-domains a child of the GRF Heiko Stuebner
2016-03-31 13:48 ` [PATCH v2 2/5] ARM: dts: rockchip: make rk3288-grf a simple-mfd Heiko Stuebner
@ 2016-03-31 13:48 ` Heiko Stuebner
2016-05-21 13:40 ` Heiko Stuebner
2016-03-31 13:48 ` [PATCH v2 4/5] arm64: dts: rockchip: make rk3368 grf syscons simple-mfds as well Heiko Stuebner
2016-03-31 13:48 ` [PATCH v2 5/5] arm64: dts: rockchip: add rk3368-r88 iodomains Heiko Stuebner
4 siblings, 1 reply; 15+ messages in thread
From: Heiko Stuebner @ 2016-03-31 13:48 UTC (permalink / raw)
To: linux-arm-kernel
io-voltage control is actually part of the grf, so move the node under the
newly available grf simple-mfd.
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
---
arch/arm/boot/dts/rk3288-firefly.dtsi | 33 ++++++++++++++++----------------
arch/arm/boot/dts/rk3288-popmetal.dts | 34 +++++++++++++++++----------------
arch/arm/boot/dts/rk3288-rock2-som.dtsi | 34 +++++++++++++++++----------------
arch/arm/boot/dts/rk3288-veyron.dtsi | 28 ++++++++++++++-------------
4 files changed, 68 insertions(+), 61 deletions(-)
diff --git a/arch/arm/boot/dts/rk3288-firefly.dtsi b/arch/arm/boot/dts/rk3288-firefly.dtsi
index 98c586a4..6c5f510d 100644
--- a/arch/arm/boot/dts/rk3288-firefly.dtsi
+++ b/arch/arm/boot/dts/rk3288-firefly.dtsi
@@ -63,22 +63,6 @@
clock-output-names = "ext_gmac";
};
- io_domains: io-domains {
- compatible = "rockchip,rk3288-io-voltage-domain";
- rockchip,grf = <&grf>;
-
- audio-supply = <&vcca_33>;
- bb-supply = <&vcc_io>;
- dvp-supply = <&dovdd_1v8>;
- flash0-supply = <&vcc_flash>;
- flash1-supply = <&vcc_lan>;
- gpio30-supply = <&vcc_io>;
- gpio1830-supply = <&vcc_io>;
- lcdc-supply = <&vcc_io>;
- sdcard-supply = <&vccio_sd>;
- wifi-supply = <&vccio_wl>;
- };
-
ir: ir-receiver {
compatible = "gpio-ir-receiver";
pinctrl-names = "default";
@@ -237,6 +221,23 @@
status = "ok";
};
+&grf {
+ io_domains: io-domains {
+ compatible = "rockchip,rk3288-io-voltage-domain";
+
+ audio-supply = <&vcca_33>;
+ bb-supply = <&vcc_io>;
+ dvp-supply = <&dovdd_1v8>;
+ flash0-supply = <&vcc_flash>;
+ flash1-supply = <&vcc_lan>;
+ gpio30-supply = <&vcc_io>;
+ gpio1830-supply = <&vcc_io>;
+ lcdc-supply = <&vcc_io>;
+ sdcard-supply = <&vccio_sd>;
+ wifi-supply = <&vccio_wl>;
+ };
+};
+
&hdmi {
ddc-i2c-bus = <&i2c5>;
status = "okay";
diff --git a/arch/arm/boot/dts/rk3288-popmetal.dts b/arch/arm/boot/dts/rk3288-popmetal.dts
index 2ff9689..4322eaf 100644
--- a/arch/arm/boot/dts/rk3288-popmetal.dts
+++ b/arch/arm/boot/dts/rk3288-popmetal.dts
@@ -79,22 +79,6 @@
};
};
- io_domains: io-domains {
- compatible = "rockchip,rk3288-io-voltage-domain";
- rockchip,grf = <&grf>;
-
- audio-supply = <&vcca_33>;
- bb-supply = <&vcc_io>;
- dvp-supply = <&vcc18_dvp>;
- flash0-supply = <&vcc_flash>;
- flash1-supply = <&vcc_lan>;
- gpio30-supply = <&vcc_io>;
- gpio1830-supply = <&vcc_io>;
- lcdc-supply = <&vcc_io>;
- sdcard-supply = <&vccio_sd>;
- wifi-supply = <&vccio_wl>;
- };
-
ir: ir-receiver {
compatible = "gpio-ir-receiver";
gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
@@ -205,6 +189,24 @@
status = "ok";
};
+&grf {
+ io_domains: io-domains {
+ compatible = "rockchip,rk3288-io-voltage-domain";
+ rockchip,grf = <&grf>;
+
+ audio-supply = <&vcca_33>;
+ bb-supply = <&vcc_io>;
+ dvp-supply = <&vcc18_dvp>;
+ flash0-supply = <&vcc_flash>;
+ flash1-supply = <&vcc_lan>;
+ gpio30-supply = <&vcc_io>;
+ gpio1830-supply = <&vcc_io>;
+ lcdc-supply = <&vcc_io>;
+ sdcard-supply = <&vccio_sd>;
+ wifi-supply = <&vccio_wl>;
+ };
+};
+
&hdmi {
ddc-i2c-bus = <&i2c5>;
status = "okay";
diff --git a/arch/arm/boot/dts/rk3288-rock2-som.dtsi b/arch/arm/boot/dts/rk3288-rock2-som.dtsi
index e1ee9f9..8660b8a 100644
--- a/arch/arm/boot/dts/rk3288-rock2-som.dtsi
+++ b/arch/arm/boot/dts/rk3288-rock2-som.dtsi
@@ -61,22 +61,6 @@
clock-output-names = "ext_gmac";
};
- io_domains: io-domains {
- compatible = "rockchip,rk3288-io-voltage-domain";
- rockchip,grf = <&grf>;
-
- audio-supply = <&vcc_io>;
- bb-supply = <&vcc_io>;
- dvp-supply = <&vcc_18>;
- flash0-supply = <&vcc_flash>;
- flash1-supply = <&vccio_pmu>;
- gpio30-supply = <&vccio_pmu>;
- gpio1830 = <&vcc_io>;
- lcdc-supply = <&vcc_io>;
- sdcard-supply = <&vccio_sd>;
- wifi-supply = <&vcc_18>;
- };
-
vcc_flash: flash-regulator {
compatible = "regulator-fixed";
regulator-name = "vcc_sys";
@@ -129,6 +113,24 @@
tx_delay = <0x30>;
};
+&grf {
+ io_domains: io-domains {
+ compatible = "rockchip,rk3288-io-voltage-domain";
+ rockchip,grf = <&grf>;
+
+ audio-supply = <&vcc_io>;
+ bb-supply = <&vcc_io>;
+ dvp-supply = <&vcc_18>;
+ flash0-supply = <&vcc_flash>;
+ flash1-supply = <&vccio_pmu>;
+ gpio30-supply = <&vccio_pmu>;
+ gpio1830 = <&vcc_io>;
+ lcdc-supply = <&vcc_io>;
+ sdcard-supply = <&vccio_sd>;
+ wifi-supply = <&vcc_18>;
+ };
+};
+
&i2c0 {
status = "okay";
diff --git a/arch/arm/boot/dts/rk3288-veyron.dtsi b/arch/arm/boot/dts/rk3288-veyron.dtsi
index 412809c..df44735 100644
--- a/arch/arm/boot/dts/rk3288-veyron.dtsi
+++ b/arch/arm/boot/dts/rk3288-veyron.dtsi
@@ -83,19 +83,6 @@
reset-gpios = <&gpio2 9 GPIO_ACTIVE_HIGH>;
};
- io_domains: io-domains {
- compatible = "rockchip,rk3288-io-voltage-domain";
- rockchip,grf = <&grf>;
-
- bb-supply = <&vcc33_io>;
- dvp-supply = <&vcc_18>;
- flash0-supply = <&vcc18_flashio>;
- gpio1830-supply = <&vcc33_io>;
- gpio30-supply = <&vcc33_io>;
- lcdc-supply = <&vcc33_lcd>;
- wifi-supply = <&vcc18_wl>;
- };
-
sdio_pwrseq: sdio-pwrseq {
compatible = "mmc-pwrseq-simple";
clocks = <&rk808 RK808_CLKOUT1>;
@@ -159,6 +146,21 @@
pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
};
+&grf {
+ io_domains: io-domains {
+ compatible = "rockchip,rk3288-io-voltage-domain";
+ rockchip,grf = <&grf>;
+
+ bb-supply = <&vcc33_io>;
+ dvp-supply = <&vcc_18>;
+ flash0-supply = <&vcc18_flashio>;
+ gpio1830-supply = <&vcc33_io>;
+ gpio30-supply = <&vcc33_io>;
+ lcdc-supply = <&vcc33_lcd>;
+ wifi-supply = <&vcc18_wl>;
+ };
+};
+
&hdmi {
ddc-i2c-bus = <&i2c5>;
status = "okay";
--
2.6.4
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v2 3/5] ARM: dts: rockchip: move rk3288 io-domain nodes to the grf
2016-03-31 13:48 ` [PATCH v2 3/5] ARM: dts: rockchip: move rk3288 io-domain nodes to the grf Heiko Stuebner
@ 2016-05-21 13:40 ` Heiko Stuebner
0 siblings, 0 replies; 15+ messages in thread
From: Heiko Stuebner @ 2016-05-21 13:40 UTC (permalink / raw)
To: linux-arm-kernel
Am Donnerstag, 31. M?rz 2016, 15:48:44 schrieb Heiko Stuebner:
> io-voltage control is actually part of the grf, so move the node under the
> newly available grf simple-mfd.
>
> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
applied for 4.8, but adapted slightly to have the core io-domain nodes centrally in the rk3288.dtsi:
----- 8< -----
From: Heiko Stuebner <heiko@sntech.de>
Date: Sat, 21 May 2016 01:36:17 +0200
Subject: [PATCH v2.1 3/5] ARM: dts: rockchip: move rk3288 io-domain nodes to the grf
io-voltage control is actually part of the grf, so move the node under the
newly available grf simple-mfd.
To minimize duplicate code, the core node and compatible property
gets placed in the core rk3288.dtsi while the individual boards
now only need to enable it and add the necessary supply properties.
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
---
arch/arm/boot/dts/rk3288-firefly.dtsi | 31 +++++++++++++++----------------
arch/arm/boot/dts/rk3288-miqi.dts | 26 +++++++++++++-------------
arch/arm/boot/dts/rk3288-popmetal.dts | 31 +++++++++++++++----------------
arch/arm/boot/dts/rk3288-rock2-som.dtsi | 31 +++++++++++++++----------------
arch/arm/boot/dts/rk3288-veyron.dtsi | 25 ++++++++++++-------------
arch/arm/boot/dts/rk3288.dtsi | 5 +++++
6 files changed, 75 insertions(+), 74 deletions(-)
diff --git a/arch/arm/boot/dts/rk3288-firefly.dtsi b/arch/arm/boot/dts/rk3288-firefly.dtsi
index d6cf9ad..114c90fb 100644
--- a/arch/arm/boot/dts/rk3288-firefly.dtsi
+++ b/arch/arm/boot/dts/rk3288-firefly.dtsi
@@ -64,22 +64,6 @@
clock-output-names = "ext_gmac";
};
- io_domains: io-domains {
- compatible = "rockchip,rk3288-io-voltage-domain";
- rockchip,grf = <&grf>;
-
- audio-supply = <&vcca_33>;
- bb-supply = <&vcc_io>;
- dvp-supply = <&dovdd_1v8>;
- flash0-supply = <&vcc_flash>;
- flash1-supply = <&vcc_lan>;
- gpio30-supply = <&vcc_io>;
- gpio1830-supply = <&vcc_io>;
- lcdc-supply = <&vcc_io>;
- sdcard-supply = <&vccio_sd>;
- wifi-supply = <&vccio_wl>;
- };
-
ir: ir-receiver {
compatible = "gpio-ir-receiver";
pinctrl-names = "default";
@@ -397,6 +381,21 @@
status = "okay";
};
+&io_domains {
+ status = "okay";
+
+ audio-supply = <&vcca_33>;
+ bb-supply = <&vcc_io>;
+ dvp-supply = <&dovdd_1v8>;
+ flash0-supply = <&vcc_flash>;
+ flash1-supply = <&vcc_lan>;
+ gpio30-supply = <&vcc_io>;
+ gpio1830-supply = <&vcc_io>;
+ lcdc-supply = <&vcc_io>;
+ sdcard-supply = <&vccio_sd>;
+ wifi-supply = <&vccio_wl>;
+};
+
&pinctrl {
pcfg_output_high: pcfg-output-high {
output-high;
diff --git a/arch/arm/boot/dts/rk3288-miqi.dts b/arch/arm/boot/dts/rk3288-miqi.dts
index 8643103..2448842 100644
--- a/arch/arm/boot/dts/rk3288-miqi.dts
+++ b/arch/arm/boot/dts/rk3288-miqi.dts
@@ -64,19 +64,6 @@
clock-output-names = "ext_gmac";
};
- io_domains: io-domains {
- compatible = "rockchip,rk3288-io-voltage-domain";
-
- audio-supply = <&vcca_33>;
- flash0-supply = <&vcc_flash>;
- flash1-supply = <&vcc_lan>;
- gpio30-supply = <&vcc_io>;
- gpio1830-supply = <&vcc_io>;
- lcdc-supply = <&vcc_io>;
- sdcard-supply = <&vccio_sd>;
- wifi-supply = <&vcc_18>;
- };
-
leds {
compatible = "gpio-leds";
@@ -321,6 +308,19 @@
status = "okay";
};
+&io_domains {
+ status = "okay";
+
+ audio-supply = <&vcca_33>;
+ flash0-supply = <&vcc_flash>;
+ flash1-supply = <&vcc_lan>;
+ gpio30-supply = <&vcc_io>;
+ gpio1830-supply = <&vcc_io>;
+ lcdc-supply = <&vcc_io>;
+ sdcard-supply = <&vccio_sd>;
+ wifi-supply = <&vcc_18>;
+};
+
&pinctrl {
pcfg_output_high: pcfg-output-high {
output-high;
diff --git a/arch/arm/boot/dts/rk3288-popmetal.dts b/arch/arm/boot/dts/rk3288-popmetal.dts
index 720717b..dda8d25 100644
--- a/arch/arm/boot/dts/rk3288-popmetal.dts
+++ b/arch/arm/boot/dts/rk3288-popmetal.dts
@@ -77,22 +77,6 @@
};
};
- io_domains: io-domains {
- compatible = "rockchip,rk3288-io-voltage-domain";
- rockchip,grf = <&grf>;
-
- audio-supply = <&vcca_33>;
- bb-supply = <&vcc_io>;
- dvp-supply = <&vcc18_dvp>;
- flash0-supply = <&vcc_flash>;
- flash1-supply = <&vcc_lan>;
- gpio30-supply = <&vcc_io>;
- gpio1830-supply = <&vcc_io>;
- lcdc-supply = <&vcc_io>;
- sdcard-supply = <&vccio_sd>;
- wifi-supply = <&vccio_wl>;
- };
-
ir: ir-receiver {
compatible = "gpio-ir-receiver";
gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
@@ -437,6 +421,21 @@
status = "okay";
};
+&io_domains {
+ status = "okay";
+
+ audio-supply = <&vcca_33>;
+ bb-supply = <&vcc_io>;
+ dvp-supply = <&vcc18_dvp>;
+ flash0-supply = <&vcc_flash>;
+ flash1-supply = <&vcc_lan>;
+ gpio30-supply = <&vcc_io>;
+ gpio1830-supply = <&vcc_io>;
+ lcdc-supply = <&vcc_io>;
+ sdcard-supply = <&vccio_sd>;
+ wifi-supply = <&vccio_wl>;
+};
+
&pinctrl {
ak8963 {
comp_int: comp-int {
diff --git a/arch/arm/boot/dts/rk3288-rock2-som.dtsi b/arch/arm/boot/dts/rk3288-rock2-som.dtsi
index e1ee9f9..bb1f01e 100644
--- a/arch/arm/boot/dts/rk3288-rock2-som.dtsi
+++ b/arch/arm/boot/dts/rk3288-rock2-som.dtsi
@@ -61,22 +61,6 @@
clock-output-names = "ext_gmac";
};
- io_domains: io-domains {
- compatible = "rockchip,rk3288-io-voltage-domain";
- rockchip,grf = <&grf>;
-
- audio-supply = <&vcc_io>;
- bb-supply = <&vcc_io>;
- dvp-supply = <&vcc_18>;
- flash0-supply = <&vcc_flash>;
- flash1-supply = <&vccio_pmu>;
- gpio30-supply = <&vccio_pmu>;
- gpio1830 = <&vcc_io>;
- lcdc-supply = <&vcc_io>;
- sdcard-supply = <&vccio_sd>;
- wifi-supply = <&vcc_18>;
- };
-
vcc_flash: flash-regulator {
compatible = "regulator-fixed";
regulator-name = "vcc_sys";
@@ -259,6 +243,21 @@
};
};
+&io_domains {
+ status = "okay";
+
+ audio-supply = <&vcc_io>;
+ bb-supply = <&vcc_io>;
+ dvp-supply = <&vcc_18>;
+ flash0-supply = <&vcc_flash>;
+ flash1-supply = <&vccio_pmu>;
+ gpio30-supply = <&vccio_pmu>;
+ gpio1830 = <&vcc_io>;
+ lcdc-supply = <&vcc_io>;
+ sdcard-supply = <&vccio_sd>;
+ wifi-supply = <&vcc_18>;
+};
+
&pinctrl {
pcfg_output_high: pcfg-output-high {
output-high;
diff --git a/arch/arm/boot/dts/rk3288-veyron.dtsi b/arch/arm/boot/dts/rk3288-veyron.dtsi
index 5e4c690..3dd2cca 100644
--- a/arch/arm/boot/dts/rk3288-veyron.dtsi
+++ b/arch/arm/boot/dts/rk3288-veyron.dtsi
@@ -83,19 +83,6 @@
reset-gpios = <&gpio2 9 GPIO_ACTIVE_HIGH>;
};
- io_domains: io-domains {
- compatible = "rockchip,rk3288-io-voltage-domain";
- rockchip,grf = <&grf>;
-
- bb-supply = <&vcc33_io>;
- dvp-supply = <&vcc_18>;
- flash0-supply = <&vcc18_flashio>;
- gpio1830-supply = <&vcc33_io>;
- gpio30-supply = <&vcc33_io>;
- lcdc-supply = <&vcc33_lcd>;
- wifi-supply = <&vcc18_wl>;
- };
-
sdio_pwrseq: sdio-pwrseq {
compatible = "mmc-pwrseq-simple";
clocks = <&rk808 RK808_CLKOUT1>;
@@ -355,6 +342,18 @@
i2c-scl-rising-time-ns = <1000>;
};
+&io_domains {
+ status = "okay";
+
+ bb-supply = <&vcc33_io>;
+ dvp-supply = <&vcc_18>;
+ flash0-supply = <&vcc18_flashio>;
+ gpio1830-supply = <&vcc33_io>;
+ gpio30-supply = <&vcc33_io>;
+ lcdc-supply = <&vcc33_lcd>;
+ wifi-supply = <&vcc18_wl>;
+};
+
&pwm1 {
status = "okay";
};
diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi
index 3b44ef3..7fa932f 100644
--- a/arch/arm/boot/dts/rk3288.dtsi
+++ b/arch/arm/boot/dts/rk3288.dtsi
@@ -826,6 +826,11 @@
#phy-cells = <0>;
status = "disabled";
};
+
+ io_domains: io-domains {
+ compatible = "rockchip,rk3288-io-voltage-domain";
+ status = "disabled";
+ };
};
wdt: watchdog at ff800000 {
--
2.6.4
----- 8< -----
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v2 4/5] arm64: dts: rockchip: make rk3368 grf syscons simple-mfds as well
2016-03-31 13:48 [PATCH v2 0/5] ARM: rockchip: move io-domains under GRF Heiko Stuebner
` (2 preceding siblings ...)
2016-03-31 13:48 ` [PATCH v2 3/5] ARM: dts: rockchip: move rk3288 io-domain nodes to the grf Heiko Stuebner
@ 2016-03-31 13:48 ` Heiko Stuebner
2016-05-21 13:55 ` Heiko Stuebner
2016-03-31 13:48 ` [PATCH v2 5/5] arm64: dts: rockchip: add rk3368-r88 iodomains Heiko Stuebner
4 siblings, 1 reply; 15+ messages in thread
From: Heiko Stuebner @ 2016-03-31 13:48 UTC (permalink / raw)
To: linux-arm-kernel
The general register files do contain a lot of separate functions and
while some really are only registers with a lot of different 1-bit
settings, there are also a lot of them containing some bigger function
blocks. To be able to define these as sub-devices, make them simple-mfds.
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Tested-by: David Wu <david.wu@rock-chips.com>
---
arch/arm64/boot/dts/rockchip/rk3368.dtsi | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3368.dtsi b/arch/arm64/boot/dts/rockchip/rk3368.dtsi
index 49d1191..6029310 100644
--- a/arch/arm64/boot/dts/rockchip/rk3368.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3368.dtsi
@@ -556,7 +556,7 @@
};
pmugrf: syscon at ff738000 {
- compatible = "rockchip,rk3368-pmugrf", "syscon";
+ compatible = "rockchip,rk3368-pmugrf", "syscon", "simple-mfd";
reg = <0x0 0xff738000 0x0 0x1000>;
};
@@ -569,7 +569,7 @@
};
grf: syscon at ff770000 {
- compatible = "rockchip,rk3368-grf", "syscon";
+ compatible = "rockchip,rk3368-grf", "syscon", "simple-mfd";
reg = <0x0 0xff770000 0x0 0x1000>;
};
--
2.6.4
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v2 5/5] arm64: dts: rockchip: add rk3368-r88 iodomains
2016-03-31 13:48 [PATCH v2 0/5] ARM: rockchip: move io-domains under GRF Heiko Stuebner
` (3 preceding siblings ...)
2016-03-31 13:48 ` [PATCH v2 4/5] arm64: dts: rockchip: make rk3368 grf syscons simple-mfds as well Heiko Stuebner
@ 2016-03-31 13:48 ` Heiko Stuebner
2016-04-03 3:45 ` kbuild test robot
2016-05-21 16:52 ` Heiko Stuebner
4 siblings, 2 replies; 15+ messages in thread
From: Heiko Stuebner @ 2016-03-31 13:48 UTC (permalink / raw)
To: linux-arm-kernel
Add the supply-links according to the R88 schematics.
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
---
arch/arm64/boot/dts/rockchip/rk3368-r88.dts | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3368-r88.dts b/arch/arm64/boot/dts/rockchip/rk3368-r88.dts
index 1f2b642..d4dd289 100644
--- a/arch/arm64/boot/dts/rockchip/rk3368-r88.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3368-r88.dts
@@ -211,6 +211,18 @@
status = "ok";
};
+&grf {
+ io-domains {
+ compatible = "rockchip,rk3368-io-voltage-domain";
+
+ audio-supply = <&vcc_io>;
+ gpio30-supply = <&vcc_io>;
+ gpio1830-supply = <&vcc_io>;
+ sdcard-supply = <&vccio_sd>;
+ wifi-supply = <&vccio_wl>;
+ };
+};
+
&i2c0 {
status = "okay";
@@ -331,6 +343,16 @@
};
};
+&pmugrf {
+ io-domains {
+ compatible = "rockchip,rk3368-pmu-io-voltage-domain";
+ rockchip,grf = <&pmugrf>;
+
+ pmu-supply = <&vcc_io>;
+ vop-supply = <&vcc_io>;
+ };
+};
+
&saradc {
vref-supply = <&vcc_18>;
status = "okay";
--
2.6.4
^ permalink raw reply related [flat|nested] 15+ messages in thread