From a9ad357fb2104cc07a64d7e642f6c35b72b16405 Mon Sep 17 00:00:00 2001 From: Cristian Cozzolino Date: Sat, 20 Sep 2025 20:23:26 +0200 Subject: [PATCH 1/6] ARM: mediatek: add board_dt_compat entry for the MT6582 SoC Add a compatible string for the MT6582 SoC. Signed-off-by: Cristian Cozzolino Reviewed-by: AngeloGioacchino Del Regno Signed-off-by: AngeloGioacchino Del Regno --- arch/arm/mach-mediatek/mediatek.c | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/mach-mediatek/mediatek.c b/arch/arm/mach-mediatek/mediatek.c index 5c28124bd007..fd3a8834fc4f 100644 --- a/arch/arm/mach-mediatek/mediatek.c +++ b/arch/arm/mach-mediatek/mediatek.c @@ -39,6 +39,7 @@ static void __init mediatek_timer_init(void) static const char * const mediatek_board_dt_compat[] = { "mediatek,mt2701", "mediatek,mt6572", + "mediatek,mt6582", "mediatek,mt6589", "mediatek,mt6592", "mediatek,mt7623", From 7f637d718752f1b821f90170bf841c4d924b382b Mon Sep 17 00:00:00 2001 From: Cristian Cozzolino Date: Sat, 20 Sep 2025 20:23:27 +0200 Subject: [PATCH 2/6] ARM: mediatek: add MT6582 smp bring up code Add support for booting secondary CPUs on MT6582. Signed-off-by: Cristian Cozzolino Reviewed-by: AngeloGioacchino Del Regno Signed-off-by: AngeloGioacchino Del Regno --- arch/arm/mach-mediatek/Kconfig | 4 ++++ arch/arm/mach-mediatek/platsmp.c | 1 + 2 files changed, 5 insertions(+) diff --git a/arch/arm/mach-mediatek/Kconfig b/arch/arm/mach-mediatek/Kconfig index 638eabad2dd3..64ec487c13ab 100644 --- a/arch/arm/mach-mediatek/Kconfig +++ b/arch/arm/mach-mediatek/Kconfig @@ -19,6 +19,10 @@ config MACH_MT6572 bool "MediaTek MT6572 SoCs support" default ARCH_MEDIATEK +config MACH_MT6582 + bool "MediaTek MT6582 SoCs support" + default ARCH_MEDIATEK + config MACH_MT6589 bool "MediaTek MT6589 SoCs support" default ARCH_MEDIATEK diff --git a/arch/arm/mach-mediatek/platsmp.c b/arch/arm/mach-mediatek/platsmp.c index bbd26d423bde..6b0943d95555 100644 --- a/arch/arm/mach-mediatek/platsmp.c +++ b/arch/arm/mach-mediatek/platsmp.c @@ -56,6 +56,7 @@ static const struct of_device_id mtk_tz_smp_boot_infos[] __initconst = { static const struct of_device_id mtk_smp_boot_infos[] __initconst = { { .compatible = "mediatek,mt6572", .data = &mtk_mt6572_boot }, + { .compatible = "mediatek,mt6582", .data = &mtk_mt7623_boot }, { .compatible = "mediatek,mt6589", .data = &mtk_mt6589_boot }, { .compatible = "mediatek,mt7623", .data = &mtk_mt7623_boot }, { .compatible = "mediatek,mt7629", .data = &mtk_mt7623_boot }, From ae18c465b3ae0879a023b4a89c032064afb78234 Mon Sep 17 00:00:00 2001 From: Ali Khan Date: Tue, 7 Oct 2025 12:53:09 +0000 Subject: [PATCH 3/6] ARM: OMAP2+: Fix falg->flag typo in omap_smc2() Fix a spelling error in the omap_smc2() function declaration and in a corresponding comment within the assembly source. This was reported via bugzilla in 2019. Reported-by: Jens Schleusener Link: https://bugzilla.kernel.org/show_bug.cgi?id=205891 Signed-off-by: Ali Khan Link: https://lore.kernel.org/r/20251007-omap-falg-fix-v1-1-545a1de74a0a@gmail.com Signed-off-by: Kevin Hilman --- arch/arm/mach-omap2/omap-secure.h | 2 +- arch/arm/mach-omap2/omap-smc.S | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-omap2/omap-secure.h b/arch/arm/mach-omap2/omap-secure.h index 2517c4a5a0e2..04b4ba0f59ab 100644 --- a/arch/arm/mach-omap2/omap-secure.h +++ b/arch/arm/mach-omap2/omap-secure.h @@ -68,7 +68,7 @@ extern u32 omap_secure_dispatcher(u32 idx, u32 flag, u32 nargs, u32 arg1, u32 arg2, u32 arg3, u32 arg4); extern void omap_smccc_smc(u32 fn, u32 arg); extern void omap_smc1(u32 fn, u32 arg); -extern u32 omap_smc2(u32 id, u32 falg, u32 pargs); +extern u32 omap_smc2(u32 id, u32 flag, u32 pargs); extern u32 omap_smc3(u32 id, u32 process, u32 flag, u32 pargs); extern int omap_secure_ram_reserve_memblock(void); extern u32 save_secure_ram_context(u32 args_pa); diff --git a/arch/arm/mach-omap2/omap-smc.S b/arch/arm/mach-omap2/omap-smc.S index 7376f528034d..fe3b5478200a 100644 --- a/arch/arm/mach-omap2/omap-smc.S +++ b/arch/arm/mach-omap2/omap-smc.S @@ -32,7 +32,7 @@ ENTRY(_omap_smc1) ENDPROC(_omap_smc1) /** - * u32 omap_smc2(u32 id, u32 falg, u32 pargs) + * u32 omap_smc2(u32 id, u32 flag, u32 pargs) * Low level common routine for secure HAL and PPA APIs. * @id: Application ID of HAL APIs * @flag: Flag to indicate the criticality of operation From 00465358f4228974d8e9d892b69e3fc0b475b492 Mon Sep 17 00:00:00 2001 From: Shivam Chaudhary Date: Fri, 24 Oct 2025 00:32:58 +0200 Subject: [PATCH 4/6] ARM: versatile: Fix typo in versatile.c Corrected minor typo in versatile.c - Fixed "documentaton" to "documentation" Signed-off-by: Shivam Chaudhary Acked-by: Liviu Dudau Signed-off-by: Linus Walleij Link: https://lore.kernel.org/r/20251023223258.3181274-1-linus.walleij@linaro.org Signed-off-by: Arnd Bergmann --- arch/arm/mach-versatile/versatile.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/mach-versatile/versatile.c b/arch/arm/mach-versatile/versatile.c index 7ef03d0c224d..f0c80d4663ca 100644 --- a/arch/arm/mach-versatile/versatile.c +++ b/arch/arm/mach-versatile/versatile.c @@ -134,7 +134,7 @@ static void __init versatile_dt_pci_init(void) val = readl(versatile_sys_base + VERSATILE_SYS_PCICTL_OFFSET); if (val & 1) { /* - * Enable PCI accesses. Note that the documentaton is + * Enable PCI accesses. Note that the documentation is * inconsistent whether or not this is needed, but the old * driver had it so we will keep it. */ From d6ecfc55d4d55aef083f6c11e3f4f933f42a94c2 Mon Sep 17 00:00:00 2001 From: Julia Lawall Date: Thu, 23 Oct 2025 22:47:37 +0200 Subject: [PATCH 5/6] ARM: gemini: fix typos in comments Various spelling mistakes in comments. Detected with the help of Coccinelle. Signed-off-by: Julia Lawall Signed-off-by: Linus Walleij Link: https://lore.kernel.org/r/20251023204737.2716443-1-linus.walleij@linaro.org Signed-off-by: Arnd Bergmann --- arch/arm/mach-gemini/board-dt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/mach-gemini/board-dt.c b/arch/arm/mach-gemini/board-dt.c index fbafe7475c02..2bba617e4d54 100644 --- a/arch/arm/mach-gemini/board-dt.c +++ b/arch/arm/mach-gemini/board-dt.c @@ -34,7 +34,7 @@ static void gemini_idle(void) { /* * Because of broken hardware we have to enable interrupts or the CPU - * will never wakeup... Acctualy it is not very good to enable + * will never wakeup... Actually it is not very good to enable * interrupts first since scheduler can miss a tick, but there is * no other way around this. Platforms that needs it for power saving * should enable it in init code, since by default it is From 3ce8f4a501f61edbb5cb3fe13520f09ffb33396e Mon Sep 17 00:00:00 2001 From: Arnd Bergmann Date: Thu, 4 Dec 2025 10:53:47 +0100 Subject: [PATCH 6/6] ARM: omap1: avoid symbol clashes in fiq handler The ams-delta-fiq-handler.S file has a number of symbols with fairly generic names, including one named 'exit' that causes a compiler warning in some configuration options: vmlinux.o: error: exit() function name creates ambiguity with -ffunction-sections Change all these symbols to use a .L prefix to make them local to the fiq handler. Reviewed-by: Janusz Krzysztofik Link: https://lore.kernel.org/r/20251204095355.1032786-1-arnd@kernel.org Signed-off-by: Arnd Bergmann --- arch/arm/mach-omap1/ams-delta-fiq-handler.S | 38 ++++++++++----------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/arch/arm/mach-omap1/ams-delta-fiq-handler.S b/arch/arm/mach-omap1/ams-delta-fiq-handler.S index 35c2f9574dbd..5cf6fcca602c 100644 --- a/arch/arm/mach-omap1/ams-delta-fiq-handler.S +++ b/arch/arm/mach-omap1/ams-delta-fiq-handler.S @@ -97,7 +97,7 @@ ENTRY(qwerty_fiqin_start) ldr r13, [r12, #IRQ_ITR_REG_OFFSET] @ fetch interrupts status bics r13, r13, r11 @ clear masked - any left? - beq exit @ none - spurious FIQ? exit + beq .Lexit @ none - spurious FIQ? exit ldr r10, [r12, #IRQ_SIR_FIQ_REG_OFFSET] @ get requested interrupt number @@ -105,25 +105,25 @@ ENTRY(qwerty_fiqin_start) str r8, [r12, #IRQ_CONTROL_REG_OFFSET] cmp r10, #(INT_GPIO_BANK1 - NR_IRQS_LEGACY) @ is it GPIO interrupt? - beq gpio @ yes - process it + beq .Lgpio @ yes - process it mov r8, #1 orr r8, r11, r8, lsl r10 @ mask spurious interrupt str r8, [r12, #IRQ_MIR_REG_OFFSET] -exit: +.Lexit: subs pc, lr, #4 @ return from FIQ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@ -gpio: @ GPIO bank interrupt handler +.Lgpio: @ GPIO bank interrupt handler ldr r12, omap1510_gpio_base @ set base pointer to GPIO bank ldr r11, [r12, #OMAP1510_GPIO_INT_MASK] @ fetch GPIO interrupts mask -restart: +.Lrestart: ldr r13, [r12, #OMAP1510_GPIO_INT_STATUS] @ fetch status bits bics r13, r13, r11 @ clear masked - any left? - beq exit @ no - spurious interrupt? exit + beq .Lexit @ no - spurious interrupt? exit orr r11, r11, r13 @ mask all requested interrupts str r11, [r12, #OMAP1510_GPIO_INT_MASK] @@ -131,7 +131,7 @@ restart: str r13, [r12, #OMAP1510_GPIO_INT_STATUS] @ ack all requested interrupts ands r10, r13, #KEYBRD_CLK_MASK @ extract keyboard status - set? - beq hksw @ no - try next source + beq .Lhksw @ no - try next source @@@@@@@@@@@@@@@@@@@@@@ @@ -145,10 +145,10 @@ restart: ldr r10, [r9, #BUF_STATE] @ fetch kbd interface state cmp r10, #0 @ are we expecting start bit? - bne data @ no - go to data processing + bne .Ldata @ no - go to data processing ands r8, r8, #KEYBRD_DATA_MASK @ check start bit - detected? - beq hksw @ no - try next source + beq .Lhksw @ no - try next source @ r8 contains KEYBRD_DATA_MASK, use it str r8, [r9, #BUF_STATE] @ enter data processing state @@ -162,9 +162,9 @@ restart: mvn r11, #KEYBRD_CLK_MASK @ prepare all except kbd mask str r11, [r12, #OMAP1510_GPIO_INT_MASK] @ store into the mask register - b restart @ restart + b .Lrestart @ restart -data: ldr r10, [r9, #BUF_MASK] @ fetch current input bit mask +.Ldata: ldr r10, [r9, #BUF_MASK] @ fetch current input bit mask @ r8 still contains GPIO input bits ands r8, r8, #KEYBRD_DATA_MASK @ is keyboard data line low? @@ -175,7 +175,7 @@ data: ldr r10, [r9, #BUF_MASK] @ fetch current input bit mask mov r10, r10, lsl #1 @ shift mask left bics r10, r10, #0x800 @ have we got all the bits? strne r10, [r9, #BUF_MASK] @ not yet - store the mask - bne restart @ and restart + bne .Lrestart @ and restart @ r10 already contains 0, reuse it str r10, [r9, #BUF_STATE] @ reset state to start @@ -189,7 +189,7 @@ data: ldr r10, [r9, #BUF_MASK] @ fetch current input bit mask ldr r10, [r9, #BUF_KEYS_CNT] @ get saved keystrokes count ldr r8, [r9, #BUF_BUF_LEN] @ get buffer size cmp r10, r8 @ is buffer full? - beq hksw @ yes - key lost, next source + beq .Lhksw @ yes - key lost, next source add r10, r10, #1 @ incremet keystrokes counter str r10, [r9, #BUF_KEYS_CNT] @@ -213,9 +213,9 @@ data: ldr r10, [r9, #BUF_MASK] @ fetch current input bit mask @@@@@@@@@@@@@@@@@@@@@@@@ -hksw: @Is hook switch interrupt requested? +.Lhksw: @Is hook switch interrupt requested? tst r13, #HOOK_SWITCH_MASK @ is hook switch status bit set? - beq mdm @ no - try next source + beq .Lmdm @ no - try next source @@@@@@@@@@@@@@@@@@@@@@@@ @@ -230,9 +230,9 @@ hksw: @Is hook switch interrupt requested? @@@@@@@@@@@@@@@@@@@@@@@@ -mdm: @Is it a modem interrupt? +.Lmdm: @Is it a modem interrupt? tst r13, #MODEM_IRQ_MASK @ is modem status bit set? - beq irq @ no - check for next interrupt + beq .Lirq @ no - check for next interrupt @@@@@@@@@@@@@@@@@@@@@@@@ @@ -245,13 +245,13 @@ mdm: @Is it a modem interrupt? @@@@@@@@@@@@@@@@@@@@@@@@ -irq: @ Place deferred_fiq interrupt request +.Lirq: @ Place deferred_fiq interrupt request ldr r12, deferred_fiq_ih_base @ set pointer to IRQ handler mov r10, #DEFERRED_FIQ_MASK @ set deferred_fiq bit str r10, [r12, #IRQ_ISR_REG_OFFSET] @ place it in the ISR register ldr r12, omap1510_gpio_base @ set pointer back to GPIO bank - b restart @ check for next GPIO interrupt + b .Lrestart @ check for next GPIO interrupt @@@@@@@@@@@@@@@@@@@@@@@@@@@