reset: starfive: jh7110: Add StarFive STG/ISP/VOUT resets support
authorXingyu Wu <xingyu.wu@starfivetech.com>
Mon, 24 Jul 2023 05:54:40 +0000 (13:54 +0800)
committerStephen Boyd <sboyd@kernel.org>
Wed, 26 Jul 2023 18:45:31 +0000 (11:45 -0700)
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>
drivers/reset/starfive/reset-starfive-jh7110.c

index 2d26ae9..29a43f0 100644 (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);