aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/soc/rockchip/grf.c
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2018-03-28 11:08:34 -0400
committerArnd Bergmann <arnd@arndb.de>2018-03-28 11:08:34 -0400
commit7df3f0bb5f90e3470de2798452000e221420059c (patch)
treedfd2220e8c23a86bd1b446bb30f7fca01d97f2fa /drivers/soc/rockchip/grf.c
parent7f95de5e4a27d3cda21f7223c22f22ab6c5b3def (diff)
parentb1271993aa3855bda5073c6061a095fd6e6febc6 (diff)
Merge tag 'v4.17-rockchip-drivers-1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/drivers
Pull "Rockchip driver changes for 4.17" from Heiko Stübner: Rockchip soc drivers containing conversion of the power-domain driver to use the clk-bulk APIs and two more socs to disable jtag-switching. On the plus-side the issue we see with that are _supposed_ to be fixed in hardware in upcoming socs, so maybe this can be the last of those. * tag 'v4.17-rockchip-drivers-1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: soc: rockchip: power-domain: Add a sanity check on pd->num_clks soc: rockchip: power-domain: use clk_bulk APIs soc: rockchip: disable jtag switching for RK3128 SoCs soc: rockchip: disable jtag switching for RK3228/RK3229 SoCs
Diffstat (limited to 'drivers/soc/rockchip/grf.c')
-rw-r--r--drivers/soc/rockchip/grf.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/drivers/soc/rockchip/grf.c b/drivers/soc/rockchip/grf.c
index 15e71fd6c513..96882ffde67e 100644
--- a/drivers/soc/rockchip/grf.c
+++ b/drivers/soc/rockchip/grf.c
@@ -43,6 +43,28 @@ static const struct rockchip_grf_info rk3036_grf __initconst = {
43 .num_values = ARRAY_SIZE(rk3036_defaults), 43 .num_values = ARRAY_SIZE(rk3036_defaults),
44}; 44};
45 45
46#define RK3128_GRF_SOC_CON0 0x140
47
48static const struct rockchip_grf_value rk3128_defaults[] __initconst = {
49 { "jtag switching", RK3128_GRF_SOC_CON0, HIWORD_UPDATE(0, 1, 8) },
50};
51
52static const struct rockchip_grf_info rk3128_grf __initconst = {
53 .values = rk3128_defaults,
54 .num_values = ARRAY_SIZE(rk3128_defaults),
55};
56
57#define RK3228_GRF_SOC_CON6 0x418
58
59static const struct rockchip_grf_value rk3228_defaults[] __initconst = {
60 { "jtag switching", RK3228_GRF_SOC_CON6, HIWORD_UPDATE(0, 1, 8) },
61};
62
63static const struct rockchip_grf_info rk3228_grf __initconst = {
64 .values = rk3228_defaults,
65 .num_values = ARRAY_SIZE(rk3228_defaults),
66};
67
46#define RK3288_GRF_SOC_CON0 0x244 68#define RK3288_GRF_SOC_CON0 0x244
47 69
48static const struct rockchip_grf_value rk3288_defaults[] __initconst = { 70static const struct rockchip_grf_value rk3288_defaults[] __initconst = {
@@ -92,6 +114,12 @@ static const struct of_device_id rockchip_grf_dt_match[] __initconst = {
92 .compatible = "rockchip,rk3036-grf", 114 .compatible = "rockchip,rk3036-grf",
93 .data = (void *)&rk3036_grf, 115 .data = (void *)&rk3036_grf,
94 }, { 116 }, {
117 .compatible = "rockchip,rk3128-grf",
118 .data = (void *)&rk3128_grf,
119 }, {
120 .compatible = "rockchip,rk3228-grf",
121 .data = (void *)&rk3228_grf,
122 }, {
95 .compatible = "rockchip,rk3288-grf", 123 .compatible = "rockchip,rk3288-grf",
96 .data = (void *)&rk3288_grf, 124 .data = (void *)&rk3288_grf,
97 }, { 125 }, {