[PATCH v1 5/5] realtek: remove hardcoded sys-led configurations
Birger Koblitz
mail at birger-koblitz.de
Tue Jun 7 01:24:15 PDT 2022
Hi,
at least for the RTL931x, removing the rtl931x_setup() is not a good idea as the WDT reset does not work for that architecture.
The only way to get a working reset is via registering a reset handler:
static void __init rtl931x_setup(void)
{
pr_info("Registering _machine_restart\n");
_machine_restart = rtl931x_restart;
_machine_halt = rtl931x_halt;
// Enable system LED, no flashing
sw_w32_mask(0, 3 << 12, RTL931X_LED_GLB_CTRL);
}
Cheers,
Birger
On 07.06.22 09:50, Sander Vanheule wrote:
> Disabling the sys-led peripheral should be done via a pin controller,
> for which pinctrl-single nodes are present in the platform DTSI files.
> Drop the hardcoded per-platform sys-led configurations, and require
> things to be set up in the devicetree.
>
> Co-developed-by: INAGAKI Hiroshi <musashino.open at gmail.com>
> Signed-off-by: INAGAKI Hiroshi <musashino.open at gmail.com>
> Signed-off-by: Sander Vanheule <sander at svanheule.net>
> Tested-by: Bjørn Mork <bjorn at mork.no>
> ---
> .../files-5.10/arch/mips/rtl838x/setup.c | 40 -------------------
> 1 file changed, 40 deletions(-)
>
> diff --git a/target/linux/realtek/files-5.10/arch/mips/rtl838x/setup.c b/target/linux/realtek/files-5.10/arch/mips/rtl838x/setup.c
> index 55419c7b0b7a..df29b76bbf0f 100644
> --- a/target/linux/realtek/files-5.10/arch/mips/rtl838x/setup.c
> +++ b/target/linux/realtek/files-5.10/arch/mips/rtl838x/setup.c
> @@ -28,31 +28,6 @@
>
> extern struct rtl83xx_soc_info soc_info;
>
> -static void __init rtl838x_setup(void)
> -{
> - /* Setup System LED. Bit 15 then allows to toggle it */
> - sw_w32_mask(0, 3 << 16, RTL838X_LED_GLB_CTRL);
> -}
> -
> -static void __init rtl839x_setup(void)
> -{
> - /* Setup System LED. Bit 14 of RTL839X_LED_GLB_CTRL then allows to toggle it */
> - sw_w32_mask(0, 3 << 15, RTL839X_LED_GLB_CTRL);
> -}
> -
> -static void __init rtl930x_setup(void)
> -{
> - if (soc_info.id == 0x9302)
> - sw_w32_mask(0, 3 << 13, RTL9302_LED_GLB_CTRL);
> - else
> - sw_w32_mask(0, 3 << 13, RTL930X_LED_GLB_CTRL);
> -}
> -
> -static void __init rtl931x_setup(void)
> -{
> - sw_w32_mask(0, 3 << 12, RTL931X_LED_GLB_CTRL);
> -}
> -
> void __init plat_mem_setup(void)
> {
> void *dtb;
> @@ -71,21 +46,6 @@ void __init plat_mem_setup(void)
> * parsed resulting in our memory appearing
> */
> __dt_setup_arch(dtb);
> -
> - switch (soc_info.family) {
> - case RTL8380_FAMILY_ID:
> - rtl838x_setup();
> - break;
> - case RTL8390_FAMILY_ID:
> - rtl839x_setup();
> - break;
> - case RTL9300_FAMILY_ID:
> - rtl930x_setup();
> - break;
> - case RTL9310_FAMILY_ID:
> - rtl931x_setup();
> - break;
> - }
> }
>
> void __init plat_time_init(void)
More information about the openwrt-devel
mailing list