summaryrefslogtreecommitdiff
path: root/arch/riscv/boot
AgeCommit message (Collapse)Author
12 hoursMerge branch 'riscv-dt-for-next' of ↵Mark Brown
https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux.git
12 hoursMerge branch 'for-next' of ↵Mark Brown
https://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux.git
12 hoursMerge branch 'thead-dt-for-next' of ↵Mark Brown
https://git.kernel.org/pub/scm/linux/kernel/git/fustini/linux.git
12 hoursMerge branch 'for-next' of ↵Mark Brown
https://git.kernel.org/pub/scm/linux/kernel/git/spacemit/linux
12 hoursMerge branch 'for-next' of https://github.com/sophgo/linux.gitMark Brown
12 hoursMerge branch 'kbuild-for-next' of ↵Mark Brown
https://git.kernel.org/pub/scm/linux/kernel/git/kbuild/linux.git # Conflicts: # init/Kconfig # scripts/remove-stale-files
6 dayskbuild: Mark the gzip recipes as recursiveKees Cook
Since commit 48ebe1cbbeb51 ("kbuild: compress the kernel with pigz if available"), cmd_gzip runs pigz through scripts/jobserver-exec, which takes the job slots make has free. GNU Make passes the jobserver pipe only to recipes it treats as recursive, but leaves --jobserver-auth in MAKEFLAGS for all of them. The make 4.3 in CentOS Stream 9 also hides the pipe in sub-makes (a backport of the fix for GNU Make bug 58232), so jobserver-exec cannot open it, runs pigz on one thread, and prints: WARNING: Unable to reopen jobserver read-side pipe: FileNotFoundError(2, 'No such file or directory') Mark every recipe that can run cmd_gzip as recursive with "+", as commit ecab4115c44cc ("kbuild: mark `rustc` (and others) invocations as recursive") did for rustc. Besides the $(call if_changed,gzip) rules, this covers those that choose gzip through a variable: the built-in initramfs in usr/Makefile (which rcutorture's kvm.sh builds), the EFI zboot image, and the arm, csky, and mips compressed images. As with rustc, "make -n" now runs these recipes, including those that choose through a variable when they select another compressor. Also update the gzip entry in Documentation/kbuild/makefiles.rst, as suggested in review. Tested with GNU Make 4.3 plus CentOS Stream 9's make-4.3-cloexec.patch, GCC 16.2.0, and -j64, on ARCH=x86_64, arm64, and arm defconfig, and ARCH=x86_64 defconfig with a built-in initramfs: none of them prints the warning, and pigz gets the free job slots (-p 54, 64, and 50 for the kernel image). Without this change, the x86_64 builds print it for the kernel image and for the initramfs. Reported-by: Paul E. McKenney <paulmck@kernel.org> Closes: https://lore.kernel.org/all/0ddb5e5e-f801-444c-aa98-0cfe814a3026@paulmck-laptop/ Fixes: 48ebe1cbbeb51 ("kbuild: compress the kernel with pigz if available") Assisted-by: LLM Reviewed-by: Nicolas Schier <n.schier@fritz.com> Acked-by: Lorenzo Stoakes (ARM) <ljs@kernel.org> Signed-off-by: Kees Cook <kees@kernel.org> Tested-by: Paul E. McKenney <paulmck@kernel.org> Link: https://patch.msgid.link/20261010081914.540611-1-kees@kernel.org Signed-off-by: Nathan Chancellor <nathan@kernel.org>
8 daysriscv: dts: sophgo: sg2044: Add Zic64b ISA extensionGuodong Xu
The SG2044 cores have 64-byte cache blocks, described by their cbom/cbop/cboz-block-size of 64, so they implement Zic64b. Declare it in each core's riscv,isa-extensions. Acked-by: Inochi Amaoto <inochiama@gmail.com> Signed-off-by: Guodong Xu <guodong.xu@oss.qualcomm.com> Link: https://patch.msgid.link/20260920-rva23u64-hwprobe-v2-v8-7-5f14bc5c23d3@oss.qualcomm.com Signed-off-by: Paul Walmsley <pjw@kernel.org>
8 daysriscv: dts: spacemit: k1: Add Zic64b ISA extensionGuodong Xu
The K1 X60 cores have 64-byte cache blocks, described by their cbom/cbop/cboz-block-size of 64, so they implement Zic64b. Declare it in each core's riscv,isa-extensions and in the deprecated riscv,isa string. Signed-off-by: Guodong Xu <guodong.xu@oss.qualcomm.com> Link: https://patch.msgid.link/20260920-rva23u64-hwprobe-v2-v8-6-5f14bc5c23d3@oss.qualcomm.com Signed-off-by: Paul Walmsley <pjw@kernel.org>
8 daysriscv: dts: spacemit: k3: Add Zic64b ISA extensionGuodong Xu
The K3 X100 cores have 64-byte cache blocks, already described by their cbom/cbop/cboz-block-size of 64, so they implement Zic64b, a mandatory RVA23 extension. Declare it in each core's riscv,isa-extensions. Reviewed-by: Yixun Lan <dlan@kernel.org> Signed-off-by: Guodong Xu <guodong.xu@oss.qualcomm.com> Link: https://patch.msgid.link/20260920-rva23u64-hwprobe-v2-v8-5-5f14bc5c23d3@oss.qualcomm.com Signed-off-by: Paul Walmsley <pjw@kernel.org>
9 daysriscv: dts: sophgo: sg2002-milkv-duo256m: drop reserved memory nodeAndrei Lalaev
The current FSBL can load firmware to any address and can also disable the coprocessor. Therefore, FSBL should modify the device tree at runtime. Remove the node accordingly. Signed-off-by: Andrei Lalaev <andrey.lalaev@gmail.com> Link: https://patch.msgid.link/20260921-sophgo-remove-coprocessor-node-v1-2-ace29446b327@gmail.com Signed-off-by: Inochi Amaoto <inochiama@gmail.com> Signed-off-by: Chen Wang <chen.wang@linux.dev>
9 daysriscv: dts: sophgo: cv1800b-milkv-duo: drop reserved memory nodeAndrei Lalaev
The current FSBL can load firmware to any address and can also disable the coprocessor. Therefore, FSBL should modify the device tree at runtime. Remove the node accordingly. Signed-off-by: Andrei Lalaev <andrey.lalaev@gmail.com> Link: https://patch.msgid.link/20260921-sophgo-remove-coprocessor-node-v1-1-ace29446b327@gmail.com Signed-off-by: Inochi Amaoto <inochiama@gmail.com> Signed-off-by: Chen Wang <chen.wang@linux.dev>
9 daysriscv: dts: sophgo: cv180x: Fix internal ephy node nameChen-Yu Yeh
The internal EPHY node is named "phy@0" while its reg property is <1>. The unit-address should match the first entry of the reg property, but this is not checked by dtc for MDIO buses. The kernel confirms the PHY is indeed at address 1: eth0: PHY [mdio_mux-0.0:01] driver [Generic PHY] Rename the node to ethernet-phy@1, which also follows the common naming convention for ethernet PHY nodes. Fixes: ba1abacc57cb ("riscv: dts: sophgo: Add mdio multiplexer device for cv18xx") Reviewed-by: Inochi Amaoto <inochiama@gmail.com> Reviewed-by: Hiago De Franco <hfranco@baylibre.com> Signed-off-by: Chen-Yu Yeh <chenyou910331@gmail.com> Link: https://patch.msgid.link/20261005093749.645014-3-chenyou910331@gmail.com Signed-off-by: Inochi Amaoto <inochiama@gmail.com> Signed-off-by: Chen Wang <chen.wang@linux.dev>
9 daysriscv: dts: sophgo: add Milk-V Duo 256M ethernet support overlayChen-Yu Yeh
The SG2002 has an internal 10/100 Ethernet PHY, but on the Milk-V Duo 256M the Ethernet signals only reach the RJ45 connector on the optional USB & Ethernet IO board. The MAC (gmac0) and the MDIO multiplexer used to reach the internal PHY are already described in cv180x.dtsi but are disabled, and they cannot be enabled in the board devicetree because without the IO board the same pins may be used as GPIO. Add an overlay that enables them. Tested on Milk-V Duo 256M with the USB & Ethernet IO board: the link comes up at 100Mbps/Full, the interface gets an address via DHCP and passes traffic in both directions. Without the overlay, eth0 does not appear. Reviewed-by: Hiago De Franco <hfranco@baylibre.com> Signed-off-by: Chen-Yu Yeh <chenyou910331@gmail.com> Link: https://patch.msgid.link/20261005093749.645014-2-chenyou910331@gmail.com Signed-off-by: Inochi Amaoto <inochiama@gmail.com> Signed-off-by: Chen Wang <chen.wang@linux.dev>
9 daysriscv: dts: sophgo: Limit SG2042 SPI NOR to 12.5 MHzHan Gao
Use 12.5 MHz on the SG2042 EVBs and Milk-V Pioneer to match the vendor kernel. The existing 50 MHz limit raises SCK once the driver starts honoring spi-max-frequency. Signed-off-by: Han Gao <gaohan@iscas.ac.cn> Link: https://patch.msgid.link/20261001-fix-sg204xspi-v2-4-014dbaf22b5e@iscas.ac.cn Signed-off-by: Inochi Amaoto <inochiama@gmail.com> Signed-off-by: Chen Wang <chen.wang@linux.dev>
9 daysriscv: dts: sophgo: Enable SPI NOR on SRD3-10Hangfan Li
Enable both SPI NOR controllers at 12.5 MHz, matching EDK2. Signed-off-by: Hangfan Li <lihangfan@iscas.ac.cn> Co-developed-by: Han Gao <gaohan@iscas.ac.cn> Signed-off-by: Han Gao <gaohan@iscas.ac.cn> Link: https://patch.msgid.link/20261001-fix-sg204xspi-v2-3-014dbaf22b5e@iscas.ac.cn Signed-off-by: Inochi Amaoto <inochiama@gmail.com> Signed-off-by: Chen Wang <chen.wang@linux.dev>
10 daysriscv: dts: spacemit: set ETH MAC from eeprom for OrangePiChukun Pan
The EEPROM on the OrangePi R2S and RV2 stores the MAC address. Assign it to Ethernet, with ethernet1 having a MAC offset of 1. Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn> Reviewed-by: Yixun Lan <dlan@kernel.org> Link: https://patch.msgid.link/20261006100000.548264-1-amadeus@jmu.edu.cn Signed-off-by: Yixun Lan <dlan@kernel.org>
2026-10-02riscv: dts: starfive: Correct pwm nodesHal Feng
Each of the StarFive JH7100/JH7110 SoCs has 8 OpenCores PTC IP cores. One OpenCores PTC IP core can output one PWM channel. Change the register size to 0x10, since an OpenCores PTC IP has only 4 32-bit registers: CNTR, HRC, LRC and CTRL. Fixes: 8d01f741a046 ("riscv: dts: starfive: jh7110: Add PWM node and pins configuration") Fixes: 5e598b99fedf ("riscv: dts: starfive: jh7100: Add PWM node and pins configuration") Signed-off-by: Hal Feng <hal.feng@starfivetech.com> Tested-by: Maud Spierings <maud_spierings@hotmail.com> Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
2026-10-02riscv: dts: spacemit: k3: Replace incorrect CLINT node with ACLINT nodesJunhui Liu
The K3 implements separate ACLINT MSWI, MTIMER and SSWI devices. The existing CLINT node at 0xe081c000 incorrectly describes the SSWI register space in the non-secure window as a legacy CLINT. The ACLINT register space is mapped at two base addresses: a secure window at 0xf1810000 and a non-secure window at 0xe0810000. The secure window exposes all three components, while the non-secure window only exposes SSWI; the MSWI and MTIMER offsets are reserved there. Moreover, depending on the eFuse configuration, the non-secure window may be entirely inaccessible, whereas the secure window is always available. Replace the CLINT node with the three ACLINT devices, all using secure-window addresses: MSWI and MTIMER for machine-level firmware such as OpenSBI, and SSWI for supervisor software interrupts. Fixes: 56f37e391a62 ("riscv: dts: spacemit: add initial support for K3 SoC") Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech> Reviewed-by: Yixun Lan <dlan@kernel.org> Link: https://patch.msgid.link/20260918-k3-aclint-v3-6-cf4fd4050e14@pigmoral.tech Signed-off-by: Yixun Lan <dlan@kernel.org>
2026-10-02riscv: dts: spacemit: k3-com260-ifx: Add rfkill nodesJennifer Berringer
K3 CoM260 IFX has an M.2 E-key slot for wireless. Add rfkill nodes for the GPIOs that control the slot's W_DISABLE1# and W_DISABLE2# pins for WLAN and Bluetooth. Signed-off-by: Jennifer Berringer <jberring@redhat.com> Link: https://patch.msgid.link/20260928231807.1757995-5-jberring@redhat.com Signed-off-by: Yixun Lan <dlan@kernel.org>
2026-10-02riscv: dts: spacemit: k3-com260-ifx: Add USB nodesJennifer Berringer
K3 CoM260 IFX uses usb3b for a VL817 hub providing 4x USB 3.0 ports and usb2_host for Bluetooth through the M.2 E-Key slot. Signed-off-by: Jennifer Berringer <jberring@redhat.com> Link: https://patch.msgid.link/20260928231807.1757995-3-jberring@redhat.com Signed-off-by: Yixun Lan <dlan@kernel.org>
2026-10-02riscv: dts: spacemit: k3-com260: keep dldo4 enabledJames Morris
dldo4 on the P1 PMIC is marked regulator-boot-on, but has no consumer described in the device tree. The regulator core can therefore disable the firmware-enabled rail during unused-regulator cleanup. Enabling pcie4_rc on a K3 CoM260 Dev Kit without this change while the board's included RTL8852BE module is connected to the M.2 E-key slot results in CPU hard-lock, as seen in kernel log: [ 32.521536] dldo4: disabling [ 48.125823] watchdog: CPU3: Watchdog detected hard LOCKUP on cpu 4 [ 64.125829] watchdog: BUG: soft lockup - CPU#1 stuck for 26s! [ 64.125926] Hardware name: SpacemiT K3 CoM260 IFX (DT) [ 64.125928] epc : smp_call_function_many_cond+0x158/0x740 [ 64.125938] ra : smp_call_function_many_cond+0x11a/0x740 GitHub Copilot assisted with diagnosis and build and test automation, and changelog drafting. Fixes: cfe5c91cb73c ("riscv: dts: spacemit: k3: Initial support for CoM260-IFX board") Assisted-by: GitHub-Copilot:gpt-sol-5.6 Signed-off-by: James Morris <jmorris@namei.org> Signed-off-by: Jennifer Berringer <jberring@redhat.com> Link: https://patch.msgid.link/20260928231807.1757995-2-jberring@redhat.com Signed-off-by: Yixun Lan <dlan@kernel.org>
2026-10-02riscv: dts: spacemit: k3: add rfkill node for WLAN on the K3 Pico-ITX boardAurelien Jarno
On the K3 Pico-ITX board, by default the GPIO pin that connects to the RTL8852BE WLAN enable signal is driven low, resulting in impossibility to connect to any network. Add a DT node to expose it as an RFKILL device, which lets the WLAN driver or userspace toggle it as required. Tested-by: Anirudh Srinivasan <asrinivasan@oss.tenstorrent.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> Reviewed-by: Yixun Lan <dlan@kernel.org> Link: https://patch.msgid.link/20260928205012.3689405-5-aurelien@aurel32.net Signed-off-by: Yixun Lan <dlan@kernel.org>
2026-10-02riscv: dts: spacemit: k3: add rfkill node for Bluetooth on Pico-ITX boardAurelien Jarno
On the K3 Pico-ITX board, by default the GPIO pin that connects to the RTL8852BE Bluetooth enable signal is driven low, resulting in impossibility to use Bluetooth. Add a DT node to expose it as an RFKILL device, which lets the Bluetooth driver or userspace toggle it as required. Tested-by: Anirudh Srinivasan <asrinivasan@oss.tenstorrent.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> Reviewed-by: Yixun Lan <dlan@kernel.org> Link: https://patch.msgid.link/20260928205012.3689405-4-aurelien@aurel32.net Signed-off-by: Yixun Lan <dlan@kernel.org>
2026-10-02riscv: dts: spacemit: k3: add USB3 B and C controllers for Pico-ITX boardAurelien Jarno
The SpacemiT K3 has 4 USB3 controllers labelled A to D. On the K3 Pico-ITX board, the controllers B and C are used in USB2 mode only respectively for the M.2 B-Key slot and for the RTL8852BE Bluetooth controller. Add the two controller nodes. On the K3 Pico-ITX board, enable the controllers nodes and add the two corresponding USB2 PHY nodes. Tested-by: Anirudh Srinivasan <asrinivasan@oss.tenstorrent.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> Reviewed-by: Yixun Lan <dlan@kernel.org> Link: https://patch.msgid.link/20260928205012.3689405-3-aurelien@aurel32.net Signed-off-by: Yixun Lan <dlan@kernel.org>
2026-10-02riscv: dts: spacemit: k3: move USB3 phy to board levelAurelien Jarno
On the SpacemiT K3 SoC, the combo phy provides 8 lines that can either be used for PCIe or USB3, depending on its configuration (spacemit,apmu). This configuration is defined at the board level, and assigning a phy line to a USB3 controller while it is configured as PCIe results in an "Invalid PHY mode" error. Move the USB phy definitions at the board level, as it is done for the submitted PCIe controller [1]. As a consequence, boards that do not enable a USB3 controller node will not match the DT schema due to missing PHY entries. This is not an issue as dtbs_check only validates enabled nodes. [1] https://lore.kernel.org/spacemit/20260923015016.64069-1-inochiama@gmail.com Fixes: 46380e4b1534 ("riscv: dts: spacemit: k3: add USB controller and USB phy support") Cc: Inochi Amaoto <inochiama@gmail.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> Reviewed-by: Yixun Lan <dlan@kernel.org> Link: https://patch.msgid.link/20260928205012.3689405-2-aurelien@aurel32.net Signed-off-by: Yixun Lan <dlan@kernel.org>
2026-10-02riscv: dts: spacemit: set console baud rate on OrangePi RV2Jennifer Berringer
Set the baud rate to 115200, matching what is used by U-Boot on this platform so that the console is usable even when console options are not specified in cmdline. Fixes: bab8dea259100 ("riscv: dts: spacemit: Add OrangePi RV2 board device tree") Tested-by: Vincent Legoll <legoll@online.fr> Reviewed-by: Iker Pedrosa <ikerpedrosam@gmail.com> Reviewed-by: Yixun Lan <dlan@kernel.org> Signed-off-by: Jennifer Berringer <jberring@redhat.com> Link: https://patch.msgid.link/20260929120227.1791356-1-jberring@redhat.com Signed-off-by: Yixun Lan <dlan@kernel.org>
2026-10-01riscv: dts: thead: enable HDMI on Milk-V MelesHan Gao
Enable the DC8200 display controller and DW-HDMI transmitter. Connect the transmitter to the board Type-A HDMI connector with reciprocal graph endpoints. Reviewed-by: Drew Fustini <fustini@kernel.org> Signed-off-by: Han Gao <gaohan@iscas.ac.cn> Link: https://patch.msgid.link/20261001-rv-meles-v2-4-c61052262f84@iscas.ac.cn Signed-off-by: Drew Fustini <fustini@kernel.org>
2026-10-01riscv: dts: thead: enable AP6256 Wi-Fi on Milk-V MelesHan Gao
Connect AP6256 to SDIO1 with its fixed supplies and PMIC LPO clock. Use GPIO0_20 for WL_REG_ON and GPIO0_21 for the host-wake interrupt. Keep GPIO1_24 low to select the external antenna by default. Use the existing BCM43456 binding and the 198 MHz board limit. Keep module power during suspend and assign mmc2 to SDIO1. Reviewed-by: Drew Fustini <fustini@kernel.org> Signed-off-by: Han Gao <gaohan@iscas.ac.cn> Link: https://patch.msgid.link/20261001-rv-meles-v2-3-c61052262f84@iscas.ac.cn Signed-off-by: Drew Fustini <fustini@kernel.org>
2026-10-01riscv: dts: thead: add Milk-V MelesHan Gao
Add the Milk-V Meles board with UART0, eMMC, SD, Ethernet and the PWM2 fan. Describe the board pin assignments and the PHY on the GMAC0 MDIO bus. Give GPIO banks aliases and name the exposed 40-pin header lines. The eMMC I/O supply is fixed at 1.8 V. Enable DDR52 at that voltage and retain the 52 MHz board limit. Describe 8 GiB as the default memory size; firmware updates it to match the detected RAM capacity. Reviewed-by: Drew Fustini <fustini@kernel.org> Signed-off-by: Han Gao <gaohan@iscas.ac.cn> Link: https://patch.msgid.link/20261001-rv-meles-v2-2-c61052262f84@iscas.ac.cn Signed-off-by: Drew Fustini <fustini@kernel.org>
2026-09-18riscv: dts: spacemit: orangepi-r2s: Add cpu scaling for K1 SoCJonatan Hazell
Enable CPU DVFS on OrangePi R2S by including the shared K1 OPP tables and wiring the CPU cores to the P1 PMIC's buck1 rail. This mirrors the existing cpu-scaling support for the Banana Pi BPI-F3 and OrangePi RV2. Tested on the R2S hardware. Signed-off-by: Jonatan Hazell <jonatanh@hotmail.com> Link: https://patch.msgid.link/20260804133236.205668-4-a.heider@gmail.com Signed-off-by: Yixun Lan <dlan@kernel.org>
2026-09-18riscv: dts: spacemit: orangepi-rv2: Add cpu scaling for K1 SoCVincent Legoll
Enable CPU DVFS on OrangePi RV2 Signed-off-by: Vincent Legoll <vincent.legoll@gmail.com> Link: https://patch.msgid.link/20260804133236.205668-3-a.heider@gmail.com Signed-off-by: Yixun Lan <dlan@kernel.org>
2026-09-18riscv: dts: spacemit: k1-musepi-pro: add cpu scalingAndre Heider
Enable CPU DVFS by including the OPP table and wiring the CPU nodes to the CPU regulator supply. Signed-off-by: Andre Heider <a.heider@gmail.com> Link: https://patch.msgid.link/20260804133236.205668-2-a.heider@gmail.com Signed-off-by: Yixun Lan <dlan@kernel.org>
2026-09-15riscv: dts: spacemit: k3: add i2s0-i2s5 nodesTroy Mitchell
Add the six SSPA-based I2S controller nodes for the K3 SoC. i2s0 and i2s2-i2s5 each have a dedicated per-controller sysclk divider, so they use the published 7-clock layout (sysclk, bclk, bus, func, sysclk_div, c_sysclk, c_bclk). i2s1 uses 6 clocks (sysclk, bclk, bus, func, c_sysclk, c_bclk) because its sysclk is driven directly by a DDN (ISCCR0) and has no separate divider stage. Signed-off-by: Troy Mitchell <troy.mitchell@linux.spacemit.com> Reviewed-by: Yixun Lan <dlan@kernel.org> Link: https://patch.msgid.link/20260915-kx-i2s-dts-v3-1-cf0b90882a97@linux.spacemit.com Signed-off-by: Yixun Lan <dlan@kernel.org>
2026-09-15riscv: dts: spacemit: Add CTF2301 on K3 CoM260Troy Mitchell
Enable I2C6 on the K3 CoM260 module and describe the Sensylink CTF2301 temperature sensor and fan controller at address 0x4c. Override the I2C6 pin power source at board level because the IO rail voltage is board-specific. Signed-off-by: Troy Mitchell <troy.mitchell@linux.dev> Reviewed-by: Yixun Lan <dlan@kernel.org> Link: https://patch.msgid.link/20260914-ctl2301-v5-6-522def70acb4@linux.dev Signed-off-by: Yixun Lan <dlan@kernel.org>
2026-09-15riscv: dts: spacemit: Add K3 I2C6 pinctrl stateTroy Mitchell
Add the K3 I2C6 pinctrl state used by boards that route I2C6 to pads 7 and 8. Use a 25 mA drive strength, which is supported for both K3 IO voltage domains, and leave board-specific IO voltage selection to board files. Signed-off-by: Troy Mitchell <troy.mitchell@linux.dev> Reviewed-by: Yixun Lan <dlan@kernel.org> Link: https://patch.msgid.link/20260914-ctl2301-v5-5-522def70acb4@linux.dev Signed-off-by: Yixun Lan <dlan@kernel.org>
2026-09-10riscv: dts: spacemit: enable onboard eeprom for OrangePiChukun Pan
Enable the i2c2 bus and add the connected GT24C02B EEPROM. [ 6.766] TlvInfo Header: [ 6.766] Id String: TlvInfo [ 6.769] Version: 1 [ 6.772] Total Length: 38 [ 6.775] TLV Name Code Len Value [ 6.779] -------------------- ---- --- ----- [ 6.783] Base MAC Address 0x24 6 ..... [ 6.788] MAC Addresses 0x2A 2 2 [ 6.792] Product Name 0x21 15 x1_orangepi-r2s [ 6.797] Unknown 0x41 1 0x01 [ 6.801] CRC-32 0xFE 4 0xE5A74B18 [ 6.806] Checksum is valid. Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn> Tested-by: Gong Shuai <gsh517025@gmail.com> # OrangePi-RV2 Reviewed-by: Yixun Lan <dlan@kernel.org> Link: https://patch.msgid.link/20260901080010.95040-1-amadeus@jmu.edu.cn Signed-off-by: Yixun Lan <dlan@kernel.org>
2026-09-10riscv: dts: spacemit: sort nodes on OrangePi RV2Chukun Pan
Sort the nodes for DT. Also reorder the properties of the sdhci0 node. Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn> Acked-by: Yixun Lan <dlan@kernel.org> Link: https://patch.msgid.link/20260802100101.327815-1-amadeus@jmu.edu.cn Signed-off-by: Yixun Lan <dlan@kernel.org>
2026-09-08riscv: dts: microchip: beaglev-fire: remove double definition of gpio interruptsConor Dooley
When the irq-mux and its interrupt-map were added to the mpfs devicetree, the gpio interrupts became fixed at the SoC level rather than dependant on the design - the interrupt-map is now what varies. The beaglev-fire should have had its dts copy of the interrupts removed but did not. As a result, the mcp3564 driver does not probe, because even though it doesn't use the interrupt at present, the SPI core still looks it up. This lookup fails because the second copy of the interrupts property doesn't resolve to something valid when passed via the interrupt-map. Remove the second/incorrect set of interrupts properties. Fixes: b0258f69f1e0 ("riscv: dts: microchip: update mpfs gpio interrupts to better match the SoC") CC: stable@vger.kernel.org Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
2026-09-07riscv: dts: spacemit: k3: fix IMSIC num-guest-idsGUO Ren (XuanTie)
The initial K3 device tree used generic/placeholder values for the IMSIC guest configuration: riscv,num-guest-ids = <511>; According to the SpacemiT K3 User Manual this values is incorrect for the X100 cores: - Advanced Interrupt Architecture (AIA): - M-mode MSI: 512 - S-mode MSI: 512 - VS-mode MSI: 64 Therefore, S-mode IMSIC (simsic) needs num-guest-ids = 63. Fixes: 56f37e391a62 ("riscv: dts: spacemit: add initial support for K3 SoC") Cc: stable@vger.kernel.org Cc: Guodong Xu <docular.xu@gmail.com> Cc: Yixun Lan <dlan@kernel.org> Signed-off-by: GUO Ren (XuanTie) <guoren@kernel.org> Reviewed-by: Yixun Lan <dlan@kernel.org> Reviewed-by: Junhui Liu <junhui.liu@pigmoral.tech> Link: https://patch.msgid.link/20260817033038.2286436-1-guoren@kernel.org Signed-off-by: Yixun Lan <dlan@kernel.org>
2026-09-07riscv: dts: spacemit: k3: Drop guest properties from M-level IMSICJunhui Liu
The mimsic node describes the machine-level IMSIC, whose MMIO region is 0x10000 (64 KiB) for all 8 harts. However, the node also specifies riscv,guest-index-bits = <6>, and per the AIA specification the per-hart stride is 2^(guest-index-bits + 12) bytes when guest interrupt files exist, i.e. 2^(6 + 12) = 256 KiB per hart and 2 MiB for all 8 harts. The described region cannot hold even a single hart's files, so the node contradicts itself. OpenSBI enforces exactly this constraint in imsic_data_check() and rejects the node with -EINVAL, preventing the M-level IMSIC from initializing: fdt_driver_init_by_offset: interrupt-controller@f1000000 (riscv,imsics) init failed: -3 init_coldboot: irqchip init failed (error -3) Moreover, guest interrupt files exist to act as the supervisor-level interrupt files of virtual harts; there is no machine-level counterpart. riscv,num-guest-ids is equally meaningless for the machine-level IMSIC. Drop both "riscv,guest-index-bits" and "riscv,num-guest-ids" properties from the mimsic node so the node matches the actual hardware layout. Fixes: 56f37e391a62 ("riscv: dts: spacemit: add initial support for K3 SoC") Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech> Reviewed-by: Yixun Lan <dlan@kernel.org> Link: https://patch.msgid.link/20260729-k3-mimsic-fix-v1-1-368c0aec04b9@pigmoral.tech Signed-off-by: Yixun Lan <dlan@kernel.org>
2026-08-20Merge tag 'riscv-for-linus-7.3-mw1' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux Pull RISC-V updates from Paul Walmsley - Add initial definitions and discovery for the Smcsrind, Sscsrind, Smcntrpmf, Ssccfg, Smcdeleg, Zicclsm, Ziccamoa, Ziccif, Ziccrse, Za64rs, and Ssqosid RISC-V ISA extensions - Improve the RISC-V update_mmu_cache_range() implementation by using flush-by-ASID, enabling performance improvements on microarchitectures that support related optimizations; and by taking advantage of the Svinval RISC-V ISA extension on microarchitectures that support it - Shrink CFI shadow stack allocation further (to 512MB) to save virtual address space (and physical memory on systems with strict overcommit policies) - Add initial CPU context switch support for QoS tagging (Ssqosid) - Change our vector misaligned access speed test code to be synchronous, avoiding a bunch of bugs related to unnecessary asynchronicity - Enable ARCH_HAS_ACPI_TABLE_UPGRADE for RISC-V to help with ACPI table debugging (similar to ARM64 and x86) - Extract vDSO section offsets at build time, rather than run time, to avoid the boot time overhead - Use assembler directives to control the use of instructions from the RISC-V ISA extensions Zacas and Zabha, rather than compiler -march flags that could affect the whole kernel (similar to ARM64) - Add a kselftest for kprobes support for the c.jal instruction on RISC-V - When UEFI runtime services are available, use them to restart and power off - Fix ARCH_HAS_ACPI_TABLE_UPGRADE for RISC-V by adding a missing include file to the ACPI code - Move contiguous DMA memory reservation later in the boot, to ensure that the correct global and per-node pools are allocated when CONFIG_CMA_SIZE_PERNUMA is enabled - Disallow probes on breakpoint handlers to avoid recursing indefinitely into do_trap_break() - Patch the compat vDSO during runtime alternatives processing, not only the standard vDSO - Remove some leftover XIP support elements missed by commit 9b3a2be84803 ("riscv: Remove support for XIP kernel") - Fix broadcast timer switching in ACPI LPI power states by implementing a RISC-V version of arch_get_idle_state_flags() - Miscellaneous fixes, including: vDSO makefile simplification; marking our default_power_off() as __noreturn; error path fixes in the PMU SBI perf driver; RISC-V extension capitalization consistency; the use of BIT() macros in one of our include files; and some documentation fixes * tag 'riscv-for-linus-7.3-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux: (39 commits) RISC-V: hwprobe: Use BIT macro to avoid warnings riscv: alternative: Also patch the compat vDSO riscv: alternative: Use the statically extracted vDSO section offsets riscv: vdso: Add symbols for the alternative section boundaries riscv: Add Ziccamoa, Ziccif, Ziccrse, and Za64rs to cpufeature and hwprobe riscv: Add Zicclsm to cpufeature and hwprobe riscv: cpufeature: Clarify ISA spec version for canonical order riscv: Standardize extension capitalization riscv: kprobes: Prevent probes in breakpoint handlers riscv: cmpxchg: Use .option arch for Zacas and Zabha riscv: acpi: Handle LPI architectural context loss flags riscv: further remove XIP riscv: Add support for srmcfg CSR from Ssqosid extension riscv: Detect the Ssqosid extension dt-bindings: riscv: Add Ssqosid extension description dt-bindings: riscv: add Counter delegation ISA extensions description RISC-V: Add Ssccfg/Smcdeleg ISA extension definition and parsing RISC-V: Add Ssccfg extension CSR definition dt-bindings: riscv: add Smcntrpmf ISA extension description RISC-V: Add Smcntrpmf extension parsing ...
2026-08-10Merge tag 'riscv-sophgo-dt-for-v7.3' of https://github.com/sophgo/linux into ↵Arnd Bergmann
soc/dt RISC-V Devicetrees for v7.3 Sophgo: The changes of this PR are all for CV18xx serials. There are three major changes. The first is to allow DMA multiplexer setting channel number for DMA controller; the second is to add initial RISC-V support for "Duo S" board, which uses SG2000, a dual-arch SoC (RISC-V and ARM64); the third is to add support for "Duo 256M" board, another dev-board based on SG2002 SoC. Signed-off-by: Chen Wang <chen.wang@linux.dev> * tag 'riscv-sophgo-dt-for-v7.3' of https://github.com/sophgo/linux: riscv: dts: sophgo: Add Milk-V Duo 256M board support riscv: dts: sophgo: cv180x: Add PWR_GPIO controller dt-bindings: soc: sophgo: add Milk-V Duo 256M board riscv64: dts: sophgo: add initial Milk-V Duo S board support riscv64: dts: sophgo: add SG2000 dtsi riscv: dts: sophgo: cv180x: Allow the DMA multiplexer to set channel number for DMA controller Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-08-10Revert "riscv: dts: spacemit: k3: add i2s0-i2s5 nodes"Arnd Bergmann
This reverts commit cd01c677869affe1b01403ca2fad8fc0fe85e8bd, which caused a build failure: Lexical error: ../arch/riscv/boot/dts/spacemit/k3.dtsi:1181.20-39 Unexpected 'CLK_MPMU_I2S_SYSCLK' Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-08-08Merge tag 'sunxi-dt-for-7.3' of ↵Alexandre Belloni
https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into soc/dt Allwinner device tree changes for 7.3 Some changes for old chips/devices and some for recent ones. - A10 PMU interrupt number fixed - A100/A133 gained LRADC - enabled overlay support for sun8i-h2-plus pi boards - A523 family gained consumer IR receiver - H728-based X96QPRO+ gained SPDIF audio output - PinePhone's mpu6050 mount orientation fixed - style fixes New board added: - Baijie Helper A133 - NetCube Systems OpenNMC (dobermann) * tag 'sunxi-dt-for-7.3' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: arm64: dts: allwinner: Correct white-space style ARM: dts: allwinner: Correct white-space style arm64: dts: allwinner: a523: Enable SPDIF on X96QPRO+ arm64: dts: allwinner: a523: Add SPDIF output PH pin mux option arm64: dts: allwinner: sun50i-a64-pinephone: Fix mpu6050 mount matrix arm64: dts: allwinner: a523: enable IR on the Avaota A1 arm64: dts: allwinner: a523: enable IR receiver on the X96Q Pro+ arm64: dts: allwinner: a523: add IR receiver nodes media: dt-bindings: allwinner,sun4i-a10-ir: add A523 compatible ARM: dts: allwinner: a10: Fix PMU interrupt ARM: dts: allwinner: enable overlay support for sun8i-h2-plus pi boards ARM: dts: allwinner: add support for NetCube Systems OpenNMC (dobermann) riscv: dts: allwinner: d1s-t113: Add uart4 pinctrl required by NetCube Systems OpenNMC dt-bindings: arm: sunxi: Add NetCube Systems OpenNMC (dobermann) ARM: dts: allwinner: sun8i-h3: Correct indentation arm64: dts: allwinner: A133: add support for Baijie Helper A133 board arm64: dts: allwinner: a100: Add LRADC node dt-bindings: input: sun4i-lradc-keys: Add A100/A133 compatible dt-bindings: arm: sunxi: Add Baijie HelperBoard A133 compatible dt-bindings: vendor-prefixes: Add Shenzhen Baijie Technology Co., Ltd. Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2026-08-08Merge tag 'spacemit-dt-for-7.3-1' of ↵Alexandre Belloni
https://git.kernel.org/pub/scm/linux/kernel/git/spacemit/linux into soc/dt RISC-V SpacemiT DT changes for 7.3 For K3 SoC - Enable SD card support - Enable QSPI - Fix reset delay of ETH PHY - Fix PHY ID of ETH - Symbolic PDAM ID - Add SPI controller support - Add USB and PHY support - Add I2S nodes For K1 SoC - Symbolic PDAM ID - Enable cpufreq support - Fix max CPU core voltage For boards of K3 - Pico-ITX - Enable ALDPS on RTL8211F PHY - Disable 125MHz clock on RTL8211F PHY - Enable NOR flash - Add EEPROM support - CoM260 - Add EEPROM support For boards of K1 - Milk-V Jupiter - Enable CPU DVFS - Banana Pi BPI-CM6 - Add initial support - OrangePi R2S - Enable PCIe * tag 'spacemit-dt-for-7.3-1' of https://git.kernel.org/pub/scm/linux/kernel/git/spacemit/linux: (33 commits) riscv: dts: spacemit: Add cpu scaling for Milk-V Jupiter riscv: dts: spacemit: k1-bananapi-cm6: fix maximum CPU core voltage riscv: dts: spacemit: k1-orangepi-r2s: fix maximum CPU core voltage riscv: dts: spacemit: k1-musepi-pro: fix maximum CPU core voltage riscv: dts: spacemit: k1-orangepi-rv2: fix maximum CPU core voltage riscv: dts: spacemit: k1-milkv-jupiter: fix maximum CPU core voltage riscv: dts: spacemit: k1-bananapi-f3: fix maximum CPU core voltage riscv: dts: spacemit: Make dtschema recognize the etherent PHY correctly on K3 com260 board riscv: dts: spacemit: Make dtschema recognize the etherent PHY correctly on K3 pico-itx board riscv: dts: spacemit: k3: add i2s0-i2s5 nodes riscv: dts: spacemit: k3: add USB controller and USB phy support riscv: dts: spacemit: enable PCIe on OrangePi R2S riscv: dts: spacemit: k3-com260-ifx: add eeprom on i2c1 riscv: dts: spacemit: k3-com260: add eeprom on i2c2 riscv: dts: spacemit: add SPI controllers for K3 riscv: dts: spacemit: add K3 PDMA request numbers riscv: dts: spacemit: Fix phy id check for the phy on com260 board riscv: dts: spacemit: Fix phy id check for the phy on pico-itx board riscv: dts: spacemit: Add enough deassert time for the PHY on com260 board riscv: dts: spacemit: Add enough deassert time for the PHY on PICO ITX ... Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2026-08-07riscv: further remove XIPJisheng Zhang
After commit 9b3a2be84803 ("riscv: Remove support for XIP kernel"), something relatd with XIP are still there. Remove them to clean up the code. Signed-off-by: Jisheng Zhang <jszhang@kernel.org> Reviewed-by: Nam Cao <namcao@linutronix.de> Link: https://patch.msgid.link/20260805010049.13918-1-jszhang@kernel.org Signed-off-by: Paul Walmsley <pjw@kernel.org>
2026-08-04riscv: dts: sophgo: Add Milk-V Duo 256M board supportChen-Yu Yeh
The Milk-V Duo 256M is a small form factor development board based on the Sophgo SG2002 SoC. This patch adds basic device tree support for the board, including: - UART console - SD/MMC controller - USB host - Onboard blue status LED (connected to PWR_GPIO[2] / porte 2) Tested on actual Milk-V Duo 256M hardware, verified boot to shell and heartbeat LED functionality. Signed-off-by: Chen-Yu Yeh <chenyou910331@gmail.com> Link: https://patch.msgid.link/20260725175346.139173-4-chenyou910331@gmail.com Signed-off-by: Inochi Amaoto <inochiama@gmail.com> Signed-off-by: Chen Wang <chen.wang@linux.dev>
2026-08-04riscv: dts: sophgo: cv180x: Add PWR_GPIO controllerChen-Yu Yeh
The CV180x/CV181x family has an additional DesignWare APB GPIO controller (PWR_GPIO) located in the always-on power domain at 0x5021000. Add the node so that boards can reference GPIOs in this bank, such as status LEDs. Signed-off-by: Chen-Yu Yeh <chenyou910331@gmail.com> Link: https://patch.msgid.link/20260725175346.139173-3-chenyou910331@gmail.com Signed-off-by: Inochi Amaoto <inochiama@gmail.com> Signed-off-by: Chen Wang <chen.wang@linux.dev>
2026-08-04riscv64: dts: sophgo: add initial Milk-V Duo S board supportJoshua Milas
This adds initial riscv support for the Milk-V Duo S board [1] making it possible to boot Linux to the command line. Link: https://milkv.io/duo-s [1] Signed-off-by: Joshua Milas <josh.milas@gmail.com> Link: https://milkv.io/duo-s [1] Link: https://patch.msgid.link/20260615120324.1527881-4-josh.milas@gmail.com Signed-off-by: Inochi Amaoto <inochiama@gmail.com> # Trim empty line Signed-off-by: Chen Wang <chen.wang@linux.dev>