Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
29b0eeb
FROMLIST: rust: export BINDGEN_TARGET from a separate Makefile
SpriteOvO Dec 4, 2025
8f7fb73
FROMLIST: rust: generate a fatal error if BINDGEN_TARGET is undefined
SpriteOvO Dec 4, 2025
d76faed
FROMLIST: rust: add a Kconfig function to test for support of bindgen…
SpriteOvO Dec 4, 2025
3fb426e
FROMLIST: RISC-V: handle extension configs for bindgen, re-enable gcc…
SpriteOvO Dec 4, 2025
0bcd40e
FROMLIST: drm/radeon: bypass no_64bit_msi with new msi64 parameter
RevySR Dec 20, 2025
778bb75
FROMLIST: ALSA: hda: intel: Introduce msi64 parameter to override 64-…
RevySR Dec 20, 2025
9f926de
UPSTREAM: lib/crypto: riscv: Add poly1305-core.S to .gitignore
Dec 12, 2025
eea0275
Revert "FROMLIST: drm/ttm: add pgprot handling for RISC-V"
RevySR Dec 23, 2025
1f11404
UPSTREAM: drm/ttm: add pgprot handling for RISC-V
RevySR Dec 5, 2025
181733b
Revert "FROMLIST: riscv: dts: sophgo: Enable SPI NOR node for SG2042_…
RevySR Dec 23, 2025
181f484
Revert "FROMLIST: riscv: dts: sophgo: Enable SPI NOR node for SG2042_…
RevySR Dec 23, 2025
4e77d2b
Revert "FROMLIST: riscv: dts: sophgo: Enable SPI NOR node for Pioneer…
RevySR Dec 23, 2025
cf9c3b8
Revert "FROMLIST: riscv: dts: sophgo: Add SPI NOR node for SG2042"
RevySR Dec 23, 2025
e4aa4d5
Revert "FROMLIST: riscv: sophgo: dts: enable PCIe for SG2042_EVB_V2.0"
RevySR Dec 23, 2025
593ab8b
Revert "FROMLIST: riscv: sophgo: dts: enable PCIe for SG2042_EVB_V1.X"
RevySR Dec 23, 2025
6c1d0cf
Revert "FROMLIST: riscv: sophgo: dts: enable PCIe for PioneerBox"
RevySR Dec 23, 2025
bf25bc2
Revert "FROMLIST: riscv: sophgo: dts: add PCIe controllers for SG2042"
RevySR Dec 23, 2025
9d162ec
UPSTREAM: riscv: sophgo: dts: add PCIe controllers for SG2042
unicornx Oct 20, 2025
273f982
UPSTREAM: riscv: sophgo: dts: enable PCIe for PioneerBox
unicornx Oct 20, 2025
885ba32
UPSTREAM: riscv: sophgo: dts: enable PCIe for SG2042_EVB_V1.X
unicornx Oct 20, 2025
45b3c38
UPSTREAM: riscv: sophgo: dts: enable PCIe for SG2042_EVB_V2.0
unicornx Oct 20, 2025
dec247a
UPSTREAM: riscv: dts: sophgo: Add SPI NOR node for SG2042
sycamoremoon Sep 16, 2025
e3d861c
UPSTREAM: riscv: dts: sophgo: Enable SPI NOR node for PioneerBox
sycamoremoon Sep 16, 2025
21c359e
UPSTREAM: riscv: dts: sophgo: Enable SPI NOR node for SG2042_EVB_V1
sycamoremoon Sep 16, 2025
1c4b31a
UPSTREAM: riscv: dts: sophgo: Enable SPI NOR node for SG2042_EVB_V2
sycamoremoon Sep 16, 2025
b128920
UPSTREAM: dt-bindings: net: sophgo,sg2044-dwmac: add phy mode restric…
inochisa Nov 14, 2025
a8d1f95
UPSTREAM: net: phy: Add helper for fixing RGMII PHY mode based on int…
inochisa Nov 14, 2025
19d2a3e
UPSTREAM: net: stmmac: dwmac-sophgo: Add phy interface filter
inochisa Nov 14, 2025
24c3eb0
Revert "FROMLIST: perf vendor events riscv: add T-HEAD C920V2 JSON su…
RevySR Dec 23, 2025
acd959d
UPSTREAM: perf vendor events riscv: add T-HEAD C920V2 JSON support
inochisa Oct 14, 2025
dd5c40a
Revert "FROMLIST: dt-bindings: pwm: Add T-HEAD PWM controller"
RevySR Dec 23, 2025
f760509
Revert "XUANTIE: drivers: pwm: fix pwm enable status check error"
RevySR Dec 23, 2025
db28cb5
Revert "BACKPORT: FROMLIST: pwm: add T-HEAD PWM driver"
RevySR Dec 23, 2025
d0610f0
UPSTREAM: rust: macros: Add support for 'imports_ns' to module!
Oct 28, 2025
acbf2a0
UPSTREAM: pwm: Export `pwmchip_release` for external use
Oct 16, 2025
1fd3dfd
UPSTREAM: rust: pwm: Add Kconfig and basic data structures
Oct 16, 2025
1cbd790
UPSTREAM: rust: pwm: Add complete abstraction layer
Oct 16, 2025
d8f1602
UPSTREAM: rust: pwm: Add module_pwm_platform_driver! macro
Oct 28, 2025
1a140b3
UPSTREAM: rust: pwm: Drop wrapping of PWM polarity and state
ukleinek Oct 25, 2025
504172b
UPSTREAM: rust: pwm: Fix broken intra-doc link
ojeda Oct 29, 2025
d3fc2cd
UPSTREAM: pwm: Add Rust driver for T-HEAD TH1520 SoC
Oct 16, 2025
6e92255
UPSTREAM: dt-bindings: pwm: thead: Add T-HEAD TH1520 PWM controller
Oct 16, 2025
48b3d30
UPSTREAM: pwm: Fix Rust formatting
ojeda Oct 29, 2025
9ce7daf
UPSTREAM: pwm: th1520: Fix clippy warning for redundant struct field …
Oct 28, 2025
c78b866
UPSTREAM: pwm: th1520: Use module_pwm_platform_driver! macro
Oct 28, 2025
1e7d6ef
UPSTREAM: lib/crypto: riscv/chacha: Avoid s0/fp register
dramforever Dec 2, 2025
a656152
UPSTREAM: pwm: th1520: Fix missing Kconfig dependencies
Dec 9, 2025
54658f9
Revert "XUANTIE: riscv: dts: thead: Add TH1520 USB nodes"
RevySR Dec 23, 2025
8683e23
Revert "XUANTIE: riscv: dts: thead: Add TH1520 I2C nodes"
RevySR Dec 23, 2025
c6a0bcd
Revert "XUANTIE: riscv: dts: thead: Add TH1520 PWM node"
RevySR Dec 23, 2025
af6f055
Revert "FROMLIST: riscv: dts: thead: add zfh for th1520"
RevySR Dec 23, 2025
1572066
Revert "FROMLIST: riscv: dts: thead: add ziccrse for th1520"
RevySR Dec 23, 2025
e2ce2d7
Revert "FROMLIST: riscv: dts: thead: add xtheadvector to the th1520 d…
RevySR Dec 23, 2025
4d64d40
UPSTREAM: riscv: dts: thead: add xtheadvector to the th1520 devicetree
RevySR Sep 18, 2025
e0560e2
UPSTREAM: riscv: dts: thead: add ziccrse for th1520
RevySR Sep 18, 2025
a955ac3
UPSTREAM: riscv: dts: thead: add zfh for th1520
RevySR Sep 18, 2025
e3e3678
UPSTREAM: riscv: dts: thead: Add PWM controller node
Oct 16, 2025
0c8efaf
Revert "XUANTIE: riscv: dts: thead: Enable Lichee Pi 4A USB"
RevySR Dec 23, 2025
7337b30
Revert "XUANTIE: riscv: dts: thead: Add Lichee Pi 4A IO expansions"
RevySR Dec 23, 2025
c9c97f8
Revert "XUANTIE: riscv: dts: thead: Enable Lichee Pi 4A PWM fan"
RevySR Dec 23, 2025
4330283
Revert "FROMLIST: riscv: dts: thead: lichee-pi-4a: enable HDMI"
RevySR Dec 23, 2025
abe8d39
UPSTREAM: riscv: dts: thead: Add PWM fan and thermal control
Oct 16, 2025
971ece5
FROMLIST: riscv: dts: thead: lichee-pi-4a: enable HDMI
Icenowy Nov 24, 2025
8641cd1
XUANTIE: riscv: dts: thead: Add TH1520 USB nodes
xhackerustc Sep 21, 2023
a5aa314
XUANTIE: riscv: dts: thead: Add TH1520 I2C nodes
xhackerustc Sep 21, 2023
89a1d1c
XUANTIE: riscv: dts: thead: Add Lichee Pi 4A IO expansions
esmil Dec 13, 2023
cd9fadb
XUANTIE: riscv: dts: thead: Enable Lichee Pi 4A USB
xhackerustc Sep 21, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions Documentation/devicetree/bindings/net/sophgo,sg2044-dwmac.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,25 @@ required:

allOf:
- $ref: snps,dwmac.yaml#
- if:
properties:
compatible:
contains:
const: sophgo,sg2042-dwmac
then:
properties:
phy-mode:
enum:
- rgmii-rxid
- rgmii-id
else:
properties:
phy-mode:
enum:
- rgmii
- rgmii-rxid
- rgmii-txid
- rgmii-id

unevaluatedProperties: false

Expand Down
28 changes: 16 additions & 12 deletions Documentation/devicetree/bindings/pwm/thead,th1520-pwm.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,24 @@
$id: http://devicetree.org/schemas/pwm/thead,th1520-pwm.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: T-HEAD TH1520 PWM
title: T-HEAD TH1520 PWM controller

maintainers:
- Jisheng Zhang <jszhang@kernel.org>
- Michal Wilczynski <m.wilczynski@samsung.com>

allOf:
- $ref: pwm.yaml#

properties:
compatible:
enum:
- thead,th1520-pwm
const: thead,th1520-pwm

reg:
maxItems: 1

clocks:
maxItems: 1
items:
- description: SoC PWM clock

"#pwm-cells":
const: 3
Expand All @@ -31,14 +31,18 @@ required:
- reg
- clocks

additionalProperties: false
unevaluatedProperties: false

examples:
- |

pwm@ec01c000 {
compatible = "thead,th1520-pwm";
reg = <0xec01c000 0x1000>;
clocks = <&clk 1>;
#pwm-cells = <3>;
#include <dt-bindings/clock/thead,th1520-clk-ap.h>
soc {
#address-cells = <2>;
#size-cells = <2>;
pwm@ffec01c000 {
compatible = "thead,th1520-pwm";
reg = <0xff 0xec01c000 0x0 0x4000>;
clocks = <&clk CLK_PWM>;
#pwm-cells = <3>;
};
};
2 changes: 1 addition & 1 deletion Documentation/rust/arch-support.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Architecture Level of support Constraints
``arm`` Maintained ARMv7 Little Endian only.
``arm64`` Maintained Little Endian only.
``loongarch`` Maintained \-
``riscv`` Maintained ``riscv64`` and LLVM/Clang only.
``riscv`` Maintained ``riscv64`` only.
``um`` Maintained \-
``x86`` Maintained ``x86_64`` only.
============= ================ ==============================================
Expand Down
10 changes: 10 additions & 0 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -20832,6 +20832,14 @@ F: include/linux/pwm.h
F: include/linux/pwm_backlight.h
K: pwm_(config|apply_might_sleep|apply_atomic|ops)

PWM SUBSYSTEM BINDINGS [RUST]
M: Michal Wilczynski <m.wilczynski@samsung.com>
L: linux-pwm@vger.kernel.org
L: rust-for-linux@vger.kernel.org
S: Maintained
F: rust/helpers/pwm.c
F: rust/kernel/pwm.rs

PXA GPIO DRIVER
M: Robert Jarzmik <robert.jarzmik@free.fr>
L: linux-gpio@vger.kernel.org
Expand Down Expand Up @@ -22250,6 +22258,7 @@ F: Documentation/devicetree/bindings/firmware/thead,th1520-aon.yaml
F: Documentation/devicetree/bindings/mailbox/thead,th1520-mbox.yaml
F: Documentation/devicetree/bindings/net/thead,th1520-gmac.yaml
F: Documentation/devicetree/bindings/pinctrl/thead,th1520-pinctrl.yaml
F: Documentation/devicetree/bindings/pwm/thead,th1520-pwm.yaml
F: Documentation/devicetree/bindings/reset/thead,th1520-reset.yaml
F: arch/riscv/boot/dts/thead/
F: drivers/clk/thead/clk-th1520-ap.c
Expand All @@ -22261,6 +22270,7 @@ F: drivers/pinctrl/pinctrl-th1520.c
F: drivers/pmdomain/thead/
F: drivers/power/reset/th1520-aon-reboot.c
F: drivers/power/sequencing/pwrseq-thead-gpu.c
F: drivers/pwm/pwm_th1520.rs
F: drivers/reset/reset-th1520.c
F: drivers/usb/dwc3/dwc3-thead.c
F: include/dt-bindings/clock/thead,th1520-clk-ap.h
Expand Down
3 changes: 2 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -718,9 +718,10 @@ ifneq ($(findstring clang,$(CC_VERSION_TEXT)),)
include $(srctree)/scripts/Makefile.clang
endif

ifdef need-compiler
include $(srctree)/scripts/Makefile.rust
# Include this also for config targets because some architectures need
# cc-cross-prefix to determine CROSS_COMPILE.
ifdef need-compiler
include $(srctree)/scripts/Makefile.compiler
endif

Expand Down
35 changes: 34 additions & 1 deletion arch/riscv/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ config RISCV
select HAVE_REGS_AND_STACK_ACCESS_API
select HAVE_RETHOOK if !XIP_KERNEL
select HAVE_RSEQ
select HAVE_RUST if RUSTC_SUPPORTS_RISCV && CC_IS_CLANG
select HAVE_RUST if RUSTC_SUPPORTS_RISCV && TOOLCHAIN_MATCHES_ZICSR_ZIFENCEI
select HAVE_SAMPLE_FTRACE_DIRECT
select HAVE_SAMPLE_FTRACE_DIRECT_MULTI
select HAVE_STACKPROTECTOR
Expand Down Expand Up @@ -617,6 +617,8 @@ config TOOLCHAIN_HAS_V
depends on !32BIT || $(cc-option,-mabi=ilp32 -march=rv32imv)
depends on LD_IS_LLD || LD_VERSION >= 23800
depends on AS_HAS_OPTION_ARCH
depends on !RUST || !64BIT || $(bindgen-backend-option,-mabi=lp64 -march=rv64imv)
depends on !RUST || !32BIT || $(bindgen-backend-option,-mabi=ilp32 -march=rv32imv)

config RISCV_ISA_V
bool "Vector extension support"
Expand Down Expand Up @@ -681,6 +683,8 @@ config TOOLCHAIN_HAS_ZABHA
depends on !64BIT || $(cc-option,-mabi=lp64 -march=rv64ima_zabha)
depends on !32BIT || $(cc-option,-mabi=ilp32 -march=rv32ima_zabha)
depends on AS_HAS_OPTION_ARCH
depends on !RUST || !64BIT || $(bindgen-backend-option,-mabi=lp64 -march=rv64ima_zabha)
depends on !RUST || !32BIT || $(bindgen-backend-option,-mabi=ilp32 -march=rv32ima_zabha)

config RISCV_ISA_ZABHA
bool "Zabha extension support for atomic byte/halfword operations"
Expand All @@ -699,6 +703,8 @@ config TOOLCHAIN_HAS_ZACAS
depends on !64BIT || $(cc-option,-mabi=lp64 -march=rv64ima_zacas)
depends on !32BIT || $(cc-option,-mabi=ilp32 -march=rv32ima_zacas)
depends on AS_HAS_OPTION_ARCH
depends on !RUST || !64BIT || $(bindgen-backend-option,-mabi=lp64 -march=rv64ima_zacas)
depends on !RUST || !32BIT || $(bindgen-backend-option,-mabi=ilp32 -march=rv32ima_zacas)

config RISCV_ISA_ZACAS
bool "Zacas extension support for atomic CAS"
Expand All @@ -717,6 +723,8 @@ config TOOLCHAIN_HAS_ZBB
depends on !32BIT || $(cc-option,-mabi=ilp32 -march=rv32ima_zbb)
depends on LD_IS_LLD || LD_VERSION >= 23900
depends on AS_HAS_OPTION_ARCH
depends on !RUST || !64BIT || $(bindgen-backend-option,-mabi=lp64 -march=rv64ima_zbb)
depends on !RUST || !32BIT || $(bindgen-backend-option,-mabi=ilp32 -march=rv32ima_zbb)

# This symbol indicates that the toolchain supports all v1.0 vector crypto
# extensions, including Zvk*, Zvbb, and Zvbc. LLVM added all of these at once.
Expand All @@ -732,6 +740,8 @@ config TOOLCHAIN_HAS_ZBA
depends on !32BIT || $(cc-option,-mabi=ilp32 -march=rv32ima_zba)
depends on LD_IS_LLD || LD_VERSION >= 23900
depends on AS_HAS_OPTION_ARCH
depends on !RUST || !64BIT || $(bindgen-backend-option,-mabi=lp64 -march=rv64ima_zba)
depends on !RUST || !32BIT || $(bindgen-backend-option,-mabi=ilp32 -march=rv32ima_zba)

config RISCV_ISA_ZBA
bool "Zba extension support for bit manipulation instructions"
Expand Down Expand Up @@ -767,6 +777,8 @@ config TOOLCHAIN_HAS_ZBC
depends on !32BIT || $(cc-option,-mabi=ilp32 -march=rv32ima_zbc)
depends on LD_IS_LLD || LD_VERSION >= 23900
depends on AS_HAS_OPTION_ARCH
depends on !RUST || !64BIT || $(bindgen-backend-option,-mabi=lp64 -march=rv64ima_zbc)
depends on !RUST || !32BIT || $(bindgen-backend-option,-mabi=ilp32 -march=rv32ima_zbc)

config RISCV_ISA_ZBC
bool "Zbc extension support for carry-less multiplication instructions"
Expand All @@ -790,6 +802,8 @@ config TOOLCHAIN_HAS_ZBKB
depends on !32BIT || $(cc-option,-mabi=ilp32 -march=rv32ima_zbkb)
depends on LD_IS_LLD || LD_VERSION >= 23900
depends on AS_HAS_OPTION_ARCH
depends on !RUST || !64BIT || $(bindgen-backend-option,-mabi=lp64 -march=rv64ima_zbkb)
depends on !RUST || !32BIT || $(bindgen-backend-option,-mabi=ilp32 -march=rv32ima_zbkb)

config RISCV_ISA_ZBKB
bool "Zbkb extension support for bit manipulation instructions"
Expand Down Expand Up @@ -877,6 +891,25 @@ config TOOLCHAIN_NEEDS_OLD_ISA_SPEC
versions of clang and GCC to be passed to GAS, which has the same result
as passing zicsr and zifencei to -march.

config RUST_BINDGEN_HAS_ZICSR_ZIFENCEI
def_bool y
depends on !64BIT || $(bindgen-backend-option,-mabi=lp64 -march=rv64ima_zicsr_zifencei)
depends on !32BIT || $(bindgen-backend-option,-mabi=ilp32 -march=rv32ima_zicsr_zifencei)

config TOOLCHAIN_MATCHES_ZICSR_ZIFENCEI
def_bool y
# https://github.com/llvm/llvm-project/commit/22e199e6afb1263c943c0c0d4498694e15bf8a16
depends on TOOLCHAIN_NEEDS_OLD_ISA_SPEC || !TOOLCHAIN_NEEDS_EXPLICIT_ZICSR_ZIFENCEI || RUST_BINDGEN_HAS_ZICSR_ZIFENCEI
help
LLVM/Clang >= 17.0.0 starts recognizing Zicsr/Zifencei in -march, passing
them to -march doesn't generate an error anymore, and passing them or not
doesn't have any real difference, it still follows ISA before version
20190608 - Zicsr/Zifencei are included in base ISA.

The current latest version of LLVM/Clang still does not require explicit
Zicsr/Zifencei to enable these two extensions, Clang just accepts them in
-march and then silently ignores them.

config FPU
bool "FPU support"
default y
Expand Down
8 changes: 4 additions & 4 deletions arch/riscv/boot/dts/sophgo/sg2042.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -273,7 +273,7 @@
linux,pci-domain = <0>;
#address-cells = <3>;
#size-cells = <2>;
ranges = <0x01000000 0x0 0xc0000000 0x40 0xc0000000 0x0 0x00400000>,
ranges = <0x01000000 0x0 0x00000000 0x40 0xc0000000 0x0 0x00400000>,
<0x42000000 0x0 0xd0000000 0x40 0xd0000000 0x0 0x10000000>,
<0x02000000 0x0 0xe0000000 0x40 0xe0000000 0x0 0x20000000>,
<0x43000000 0x42 0x00000000 0x42 0x00000000 0x2 0x00000000>,
Expand All @@ -295,7 +295,7 @@
linux,pci-domain = <1>;
#address-cells = <3>;
#size-cells = <2>;
ranges = <0x01000000 0x0 0xc0400000 0x44 0xc0400000 0x0 0x00400000>,
ranges = <0x01000000 0x0 0x00000000 0x44 0xc0400000 0x0 0x00400000>,
<0x42000000 0x0 0xd0000000 0x44 0xd0000000 0x0 0x10000000>,
<0x02000000 0x0 0xe0000000 0x44 0xe0000000 0x0 0x20000000>,
<0x43000000 0x46 0x00000000 0x46 0x00000000 0x2 0x00000000>,
Expand All @@ -317,7 +317,7 @@
linux,pci-domain = <2>;
#address-cells = <3>;
#size-cells = <2>;
ranges = <0x01000000 0x0 0xc0800000 0x48 0xc0800000 0x0 0x00400000>,
ranges = <0x01000000 0x0 0x00000000 0x48 0xc0800000 0x0 0x00400000>,
<0x42000000 0x0 0xd0000000 0x48 0xd0000000 0x0 0x10000000>,
<0x02000000 0x0 0xe0000000 0x48 0xe0000000 0x0 0x20000000>,
<0x03000000 0x49 0x00000000 0x49 0x00000000 0x1 0x00000000>,
Expand All @@ -339,7 +339,7 @@
linux,pci-domain = <3>;
#address-cells = <3>;
#size-cells = <2>;
ranges = <0x01000000 0x0 0xc0c00000 0x4c 0xc0c00000 0x0 0x00400000>,
ranges = <0x01000000 0x0 0x00000000 0x4c 0xc0c00000 0x0 0x00400000>,
<0x42000000 0x0 0xf8000000 0x4c 0xf8000000 0x0 0x04000000>,
<0x02000000 0x0 0xfc000000 0x4c 0xfc000000 0x0 0x04000000>,
<0x43000000 0x4e 0x00000000 0x4e 0x00000000 0x2 0x00000000>,
Expand Down
Loading