Message ID | 20230724055440.100947-1-xingyu.wu@starfivetech.com (mailing list archive) |
---|---|
State | Accepted, archived |
Headers | show |
Series | [v1] reset: starfive: jh7110: Add StarFive STG/ISP/VOUT resets support | expand |
On Mon, Jul 24, 2023 at 01:54:40PM +0800, Xingyu Wu wrote: > 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> > --- > > Hi Stephen, > > I found that the PR sent by Conor was missing this STG/ISP/VOUT > resets patch: > https://lore.kernel.org/all/20230719-trough-frisk-40b92acb485a@spud/ > > I resend this patch to make the CRG drivers completed. The context here being that I did not realise that the reset patch also depended on the dt-binding headers & thought it could go separately.
Quoting Xingyu Wu (2023-07-23 22:54:40) > 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> > --- Applied to clk-next
diff --git a/drivers/reset/starfive/reset-starfive-jh7110.c b/drivers/reset/starfive/reset-starfive-jh7110.c index 2d26ae95c8cc..29a43f0f2ad6 100644 --- a/drivers/reset/starfive/reset-starfive-jh7110.c +++ b/drivers/reset/starfive/reset-starfive-jh7110.c @@ -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);