Message ID | 20230712092007.31013-8-xingyu.wu@starfivetech.com (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
Series | Add STG/ISP/VOUT clock and reset drivers for StarFive JH7110 | expand |
On Wed, 12 Jul 2023 at 11:22, Xingyu Wu <xingyu.wu@starfivetech.com> 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. > > Reviewed-by: Hal Feng <hal.feng@starfivetech.com> Reviewed-by: Emil Renner Berthing <emil.renner.berthing@canonical.com> > Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com> > --- > .../reset/starfive/reset-starfive-jh7110.c | 30 +++++++++++++++++++ > 1 file changed, 30 insertions(+) > > 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); > -- > 2.25.1 > > > _______________________________________________ > linux-riscv mailing list > linux-riscv@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-riscv
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);