Unverified Commit 1b65492f authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge tag 'v6.20-rockchip-drivers1' of...

Merge tag 'v6.20-rockchip-drivers1' of https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into soc/drivers

Two fixes for the default-settings code for the General-Register-Files,
which sets system defaults for some settings like disabling the automatic
jtag/sdmmc switching.

One is a corrected register-offset and the other makes the code actually
look for all matched GRF instances, which it didn't do before.

* tag 'v6.20-rockchip-drivers1' of https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip

:
  soc: rockchip: grf: Support multiple grf to be handled
  soc: rockchip: grf: Fix wrong RK3576_IOCGRF_MISC_CON definition

Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents 1918a0d5 75fb63ae
Loading
Loading
Loading
Loading
+28 −29
Original line number Diff line number Diff line
@@ -146,7 +146,7 @@ static const struct rockchip_grf_info rk3576_sysgrf __initconst = {
	.num_values = ARRAY_SIZE(rk3576_defaults_sys_grf),
};

#define RK3576_IOCGRF_MISC_CON		0x04F0
#define RK3576_IOCGRF_MISC_CON		0x40F0

static const struct rockchip_grf_value rk3576_defaults_ioc_grf[] __initconst = {
	{ "jtag switching", RK3576_IOCGRF_MISC_CON, FIELD_PREP_WM16_CONST(BIT(1), 0) },
@@ -217,10 +217,9 @@ static int __init rockchip_grf_init(void)
	struct regmap *grf;
	int ret, i;

	np = of_find_matching_node_and_match(NULL, rockchip_grf_dt_match,
					     &match);
	if (!np)
		return -ENODEV;
	for_each_matching_node_and_match(np, rockchip_grf_dt_match, &match) {
		if (!of_device_is_available(np))
			continue;
		if (!match || !match->data) {
			pr_err("%s: missing grf data\n", __func__);
			of_node_put(np);
@@ -230,7 +229,6 @@ static int __init rockchip_grf_init(void)
		grf_info = match->data;

		grf = syscon_node_to_regmap(np);
	of_node_put(np);
		if (IS_ERR(grf)) {
			pr_err("%s: could not get grf syscon\n", __func__);
			return PTR_ERR(grf);
@@ -246,6 +244,7 @@ static int __init rockchip_grf_init(void)
				pr_err("%s: write to %#6x failed with %d\n",
					__func__, val->reg, ret);
		}
	}

	return 0;
}