aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Wu <david.wu@rock-chips.com>2017-08-21 06:58:33 -0400
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2017-08-24 19:45:23 -0400
commit9d913e43436c840020478463bd72098d8bf1556d (patch)
tree88c95776bcc9bf8dbef3e8a6fa419a1676297e9e
parent14ccee78fc82f5512908f4424f541549a5705b89 (diff)
PM / AVS: rockchip-io: add io selectors and supplies for RV1108
This adds the necessary data for handling io voltage domains on the RV1108. Signed-off-by: David Wu <david.wu@rock-chips.com> Reviewed-by: Heiko Stuebner <heiko@sntech.de> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-rw-r--r--Documentation/devicetree/bindings/power/rockchip-io-domain.txt2
-rw-r--r--drivers/power/avs/rockchip-io-domain.c38
2 files changed, 40 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/power/rockchip-io-domain.txt b/Documentation/devicetree/bindings/power/rockchip-io-domain.txt
index 43c21fb04564..4a4766e9c254 100644
--- a/Documentation/devicetree/bindings/power/rockchip-io-domain.txt
+++ b/Documentation/devicetree/bindings/power/rockchip-io-domain.txt
@@ -39,6 +39,8 @@ Required properties:
39 - "rockchip,rk3368-pmu-io-voltage-domain" for rk3368 pmu-domains 39 - "rockchip,rk3368-pmu-io-voltage-domain" for rk3368 pmu-domains
40 - "rockchip,rk3399-io-voltage-domain" for rk3399 40 - "rockchip,rk3399-io-voltage-domain" for rk3399
41 - "rockchip,rk3399-pmu-io-voltage-domain" for rk3399 pmu-domains 41 - "rockchip,rk3399-pmu-io-voltage-domain" for rk3399 pmu-domains
42 - "rockchip,rv1108-io-voltage-domain" for rv1108
43 - "rockchip,rv1108-pmu-io-voltage-domain" for rv1108 pmu-domains
42 44
43Deprecated properties: 45Deprecated properties:
44- rockchip,grf: phandle to the syscon managing the "general register files" 46- rockchip,grf: phandle to the syscon managing the "general register files"
diff --git a/drivers/power/avs/rockchip-io-domain.c b/drivers/power/avs/rockchip-io-domain.c
index 031a34372191..75f63e38a8d1 100644
--- a/drivers/power/avs/rockchip-io-domain.c
+++ b/drivers/power/avs/rockchip-io-domain.c
@@ -349,6 +349,36 @@ static const struct rockchip_iodomain_soc_data soc_data_rk3399_pmu = {
349 .init = rk3399_pmu_iodomain_init, 349 .init = rk3399_pmu_iodomain_init,
350}; 350};
351 351
352static const struct rockchip_iodomain_soc_data soc_data_rv1108 = {
353 .grf_offset = 0x404,
354 .supply_names = {
355 NULL,
356 NULL,
357 NULL,
358 NULL,
359 NULL,
360 NULL,
361 NULL,
362 NULL,
363 NULL,
364 NULL,
365 NULL,
366 "vccio1",
367 "vccio2",
368 "vccio3",
369 "vccio5",
370 "vccio6",
371 },
372
373};
374
375static const struct rockchip_iodomain_soc_data soc_data_rv1108_pmu = {
376 .grf_offset = 0x104,
377 .supply_names = {
378 "pmu",
379 },
380};
381
352static const struct of_device_id rockchip_iodomain_match[] = { 382static const struct of_device_id rockchip_iodomain_match[] = {
353 { 383 {
354 .compatible = "rockchip,rk3188-io-voltage-domain", 384 .compatible = "rockchip,rk3188-io-voltage-domain",
@@ -382,6 +412,14 @@ static const struct of_device_id rockchip_iodomain_match[] = {
382 .compatible = "rockchip,rk3399-pmu-io-voltage-domain", 412 .compatible = "rockchip,rk3399-pmu-io-voltage-domain",
383 .data = (void *)&soc_data_rk3399_pmu 413 .data = (void *)&soc_data_rk3399_pmu
384 }, 414 },
415 {
416 .compatible = "rockchip,rv1108-io-voltage-domain",
417 .data = (void *)&soc_data_rv1108
418 },
419 {
420 .compatible = "rockchip,rv1108-pmu-io-voltage-domain",
421 .data = (void *)&soc_data_rv1108_pmu
422 },
385 { /* sentinel */ }, 423 { /* sentinel */ },
386}; 424};
387MODULE_DEVICE_TABLE(of, rockchip_iodomain_match); 425MODULE_DEVICE_TABLE(of, rockchip_iodomain_match);