Commit 0e2b2a76 authored by Xingyu Wu's avatar Xingyu Wu Committed by Stephen Boyd
Browse files

reset: starfive: jh7110: Add StarFive STG/ISP/VOUT resets support



Add new struct members and auxiliary_device_id of resets to support
System-Top-Group, Image-Signal-Process and Video-Output on the StarFive
JH7110 SoC.

Acked-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
Reviewed-by: default avatarEmil Renner Berthing <emil.renner.berthing@canonical.com>
Reviewed-by: default avatarHal Feng <hal.feng@starfivetech.com>
Signed-off-by: default avatarXingyu Wu <xingyu.wu@starfivetech.com>
Link: https://lore.kernel.org/r/20230724055440.100947-1-xingyu.wu@starfivetech.com


Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
parent 8303d4ee
Loading
Loading
Loading
Loading
+30 −0
Original line number Diff line number Diff line
@@ -31,6 +31,24 @@ static const struct jh7110_reset_info jh7110_aon_info = {
	.status_offset = 0x3C,
};

static const struct jh7110_reset_info jh7110_stg_info = {
	.nr_resets = JH7110_STGRST_END,
	.assert_offset = 0x74,
	.status_offset = 0x78,
};

static const struct jh7110_reset_info jh7110_isp_info = {
	.nr_resets = JH7110_ISPRST_END,
	.assert_offset = 0x38,
	.status_offset = 0x3C,
};

static const struct jh7110_reset_info jh7110_vout_info = {
	.nr_resets = JH7110_VOUTRST_END,
	.assert_offset = 0x48,
	.status_offset = 0x4C,
};

static int jh7110_reset_probe(struct auxiliary_device *adev,
			      const struct auxiliary_device_id *id)
{
@@ -58,6 +76,18 @@ static const struct auxiliary_device_id jh7110_reset_ids[] = {
		.name = "clk_starfive_jh7110_sys.rst-aon",
		.driver_data = (kernel_ulong_t)&jh7110_aon_info,
	},
	{
		.name = "clk_starfive_jh7110_sys.rst-stg",
		.driver_data = (kernel_ulong_t)&jh7110_stg_info,
	},
	{
		.name = "clk_starfive_jh7110_sys.rst-isp",
		.driver_data = (kernel_ulong_t)&jh7110_isp_info,
	},
	{
		.name = "clk_starfive_jh7110_sys.rst-vo",
		.driver_data = (kernel_ulong_t)&jh7110_vout_info,
	},
	{ /* sentinel */ }
};
MODULE_DEVICE_TABLE(auxiliary, jh7110_reset_ids);