Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Xingyu Wu and committed by
Stephen Boyd
0e2b2a76 8303d4ee

+30
+30
drivers/reset/starfive/reset-starfive-jh7110.c
··· 31 31 .status_offset = 0x3C, 32 32 }; 33 33 34 + static const struct jh7110_reset_info jh7110_stg_info = { 35 + .nr_resets = JH7110_STGRST_END, 36 + .assert_offset = 0x74, 37 + .status_offset = 0x78, 38 + }; 39 + 40 + static const struct jh7110_reset_info jh7110_isp_info = { 41 + .nr_resets = JH7110_ISPRST_END, 42 + .assert_offset = 0x38, 43 + .status_offset = 0x3C, 44 + }; 45 + 46 + static const struct jh7110_reset_info jh7110_vout_info = { 47 + .nr_resets = JH7110_VOUTRST_END, 48 + .assert_offset = 0x48, 49 + .status_offset = 0x4C, 50 + }; 51 + 34 52 static int jh7110_reset_probe(struct auxiliary_device *adev, 35 53 const struct auxiliary_device_id *id) 36 54 { ··· 75 57 { 76 58 .name = "clk_starfive_jh7110_sys.rst-aon", 77 59 .driver_data = (kernel_ulong_t)&jh7110_aon_info, 60 + }, 61 + { 62 + .name = "clk_starfive_jh7110_sys.rst-stg", 63 + .driver_data = (kernel_ulong_t)&jh7110_stg_info, 64 + }, 65 + { 66 + .name = "clk_starfive_jh7110_sys.rst-isp", 67 + .driver_data = (kernel_ulong_t)&jh7110_isp_info, 68 + }, 69 + { 70 + .name = "clk_starfive_jh7110_sys.rst-vo", 71 + .driver_data = (kernel_ulong_t)&jh7110_vout_info, 78 72 }, 79 73 { /* sentinel */ } 80 74 };