Commit 3633daac authored by Neil Armstrong's avatar Neil Armstrong Committed by Lee Jones
Browse files

mfd: rk808: Permit having multiple PMIC instances



This set each cells id to PLATFORM_DEVID_NONE to allow multiple
instances of each cell in case multiple PMICs handled by the rk808
driver are probed.

This fixes probing a RK818 and a RK817 on the Odroid Go Ultra
devices.

Signed-off-by: default avatarNeil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: default avatarLee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20221025-rk808-multi-v2-0-d292d51ada81@linaro.org
parent b092874a
Loading
Loading
Loading
Loading
+16 −10
Original line number Diff line number Diff line
@@ -137,58 +137,64 @@ static const struct resource rk817_charger_resources[] = {
};

static const struct mfd_cell rk805s[] = {
	{ .name = "rk808-clkout", },
	{ .name = "rk808-regulator", },
	{ .name = "rk805-pinctrl", },
	{ .name = "rk808-clkout", .id = PLATFORM_DEVID_NONE, },
	{ .name = "rk808-regulator", .id = PLATFORM_DEVID_NONE, },
	{ .name = "rk805-pinctrl", .id = PLATFORM_DEVID_NONE, },
	{
		.name = "rk808-rtc",
		.num_resources = ARRAY_SIZE(rtc_resources),
		.resources = &rtc_resources[0],
		.id = PLATFORM_DEVID_NONE,
	},
	{	.name = "rk805-pwrkey",
		.num_resources = ARRAY_SIZE(rk805_key_resources),
		.resources = &rk805_key_resources[0],
		.id = PLATFORM_DEVID_NONE,
	},
};

static const struct mfd_cell rk808s[] = {
	{ .name = "rk808-clkout", },
	{ .name = "rk808-regulator", },
	{ .name = "rk808-clkout", .id = PLATFORM_DEVID_NONE, },
	{ .name = "rk808-regulator", .id = PLATFORM_DEVID_NONE, },
	{
		.name = "rk808-rtc",
		.num_resources = ARRAY_SIZE(rtc_resources),
		.resources = rtc_resources,
		.id = PLATFORM_DEVID_NONE,
	},
};

static const struct mfd_cell rk817s[] = {
	{ .name = "rk808-clkout",},
	{ .name = "rk808-regulator",},
	{ .name = "rk808-clkout", .id = PLATFORM_DEVID_NONE, },
	{ .name = "rk808-regulator", .id = PLATFORM_DEVID_NONE, },
	{
		.name = "rk805-pwrkey",
		.num_resources = ARRAY_SIZE(rk817_pwrkey_resources),
		.resources = &rk817_pwrkey_resources[0],
		.id = PLATFORM_DEVID_NONE,
	},
	{
		.name = "rk808-rtc",
		.num_resources = ARRAY_SIZE(rk817_rtc_resources),
		.resources = &rk817_rtc_resources[0],
		.id = PLATFORM_DEVID_NONE,
	},
	{ .name = "rk817-codec",},
	{ .name = "rk817-codec", .id = PLATFORM_DEVID_NONE, },
	{
		.name = "rk817-charger",
		.num_resources = ARRAY_SIZE(rk817_charger_resources),
		.resources = &rk817_charger_resources[0],
		.id = PLATFORM_DEVID_NONE,
	},
};

static const struct mfd_cell rk818s[] = {
	{ .name = "rk808-clkout", },
	{ .name = "rk808-regulator", },
	{ .name = "rk808-regulator", .id = PLATFORM_DEVID_NONE, },
	{
		.name = "rk808-rtc",
		.num_resources = ARRAY_SIZE(rtc_resources),
		.resources = rtc_resources,
		.id = PLATFORM_DEVID_NONE,
	},
};