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: Palmer Dabbelt <palmer@rivosinc.com>
Reviewed-by: Emil Renner Berthing <emil.renner.berthing@canonical.com>
Reviewed-by: Hal Feng <hal.feng@starfivetech.com>
Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com>
Link: https://lore.kernel.org/r/20230724055440.100947-1-xingyu.wu@starfivetech.com
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
This commit is contained in:
Xingyu Wu 2023-07-24 13:54:40 +08:00 committed by Stephen Boyd
parent 8303d4eed2
commit 0e2b2a7627

View File

@ -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);