Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
8425936
FROMLIST: riscv: dts: thead: add xtheadvector to the th1520 devicetree
RevySR Sep 18, 2025
71b47e8
FROMLIST: riscv: dts: thead: add ziccrse for th1520
RevySR Sep 18, 2025
3289e0e
FROMLIST: riscv: dts: thead: add zfh for th1520
RevySR Sep 18, 2025
f7ec2a2
FROMLIST: dt-bindings: clock: thead,th1520-clk-ap: Add ID for C910 bu…
ziyao233 Nov 20, 2025
ca3c96d
FROMLIST: clk: thead: th1520-ap: Poll for PLL lock and wait for stabi…
ziyao233 Nov 20, 2025
4ed2d6c
FROMLIST: clk: thead: th1520-ap: Add C910 bus clock
ziyao233 Nov 20, 2025
032b66d
FROMLIST: clk: thead: th1520-ap: Support setting PLL rates
ziyao233 Nov 20, 2025
3e053ee
FROMLIST: clk: thead: th1520-ap: Add macro to define multiplexers wit…
ziyao233 Nov 20, 2025
1bcd905
FROMLIST: clk: thead: th1520-ap: Support CPU frequency scaling
ziyao233 Nov 20, 2025
195d9b6
FROMLIST: NFU: riscv: dts: thead: Add CPU clock and OPP table for TH1520
ziyao233 Nov 20, 2025
1d11321
FROMLIST: dt-bindings: vendor-prefixes: add verisilicon
Icenowy Nov 24, 2025
77517e5
FROMLIST: dt-bindings: display: add verisilicon,dc
Icenowy Nov 24, 2025
f5813c9
FROMLIST: drm: verisilicon: add a driver for Verisilicon display cont…
Icenowy Nov 24, 2025
b163211
FROMLIST: dt-bindings: display/bridge: add binding for TH1520 HDMI co…
Icenowy Nov 24, 2025
b7f537a
FROMLIST: drm/bridge: add a driver for T-Head TH1520 HDMI controller
Icenowy Nov 24, 2025
92d8c27
FROMLIST: riscv: dts: thead: add DPU and HDMI device tree nodes
Icenowy Nov 24, 2025
57951ce
FROMLIST: riscv: dts: thead: lichee-pi-4a: enable HDMI
Icenowy Nov 24, 2025
1018474
FROMLIST: MAINTAINERS: assign myself as maintainer for verisilicon DC…
Icenowy Nov 24, 2025
4e92fc4
FROMLIST: mailmap: map all Icenowy Zheng's mail addresses
Icenowy Nov 24, 2025
802b638
FROMLIST: dt-bindings: usb: Add T-HEAD TH1520 USB controller
xhackerustc Sep 27, 2023
4f67dab
FROMLIST: usb: dwc3: add T-HEAD TH1520 usb driver
xhackerustc Sep 27, 2023
246830e
FROMLIST: dt-bindings: pwm: Add T-HEAD PWM controller
xhackerustc Oct 5, 2023
49846ab
BACKPORT: FROMLIST: pwm: add T-HEAD PWM driver
xhackerustc Oct 5, 2023
40072e6
XUANTIE: drivers: pwm: fix pwm enable status check error
Aug 31, 2024
0d4eef3
XUANTIE: riscv: dts: th1520: add licheepi4a 16g support
RevySR Nov 24, 2025
ae7853e
XUANTIE: riscv: dts: thead: Add TH1520 PWM node
xhackerustc Sep 21, 2023
20b5ae3
XUANTIE: riscv: dts: thead: Enable Lichee Pi 4A PWM fan
xhackerustc Sep 21, 2023
ee50844
XUANTIE: riscv: dts: thead: Add TH1520 USB nodes
xhackerustc Sep 21, 2023
a22f396
XUANTIE: riscv: dts: thead: Add TH1520 I2C nodes
xhackerustc Sep 21, 2023
f35581f
XUANTIE: riscv: dts: thead: Add Lichee Pi 4A IO expansions
esmil Dec 13, 2023
4f7eb25
XUANTIE: riscv: dts: thead: Enable Lichee Pi 4A USB
xhackerustc Sep 21, 2023
2389d52
REVYOS: HACK: riscv: dts: th1520: rename thead to xuantie
RevySR May 14, 2025
e0e2cd2
REVYOS: HACK: riscv: dts: th1520: add xuantie,th1520-mbox-r
RevySR May 14, 2025
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
4 changes: 4 additions & 0 deletions .mailmap
Original file line number Diff line number Diff line change
Expand Up @@ -310,6 +310,10 @@ Henrik Rydberg <rydberg@bitmath.org>
Herbert Xu <herbert@gondor.apana.org.au>
Huacai Chen <chenhuacai@kernel.org> <chenhc@lemote.com>
Huacai Chen <chenhuacai@kernel.org> <chenhuacai@loongson.cn>
Icenowy Zheng <uwu@icenowy.me> <zhengxingda@iscas.ac.cn>
Icenowy Zheng <uwu@icenowy.me> <icenowy@aosc.io>
Icenowy Zheng <uwu@icenowy.me> <icenowy@aosc.xyz>
Icenowy Zheng <uwu@icenowy.me> <icenowy@sipeed.com>
Ike Panhc <ikepanhc@gmail.com> <ike.pan@canonical.com>
J. Bruce Fields <bfields@fieldses.org> <bfields@redhat.com>
J. Bruce Fields <bfields@fieldses.org> <bfields@citi.umich.edu>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/bridge/thead,th1520-dw-hdmi.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: T-Head TH1520 DesignWare HDMI TX Encoder

maintainers:
- Icenowy Zheng <uwu@icenowy.me>

description:
The HDMI transmitter is a Synopsys DesignWare HDMI TX controller
paired with a DesignWare HDMI Gen2 TX PHY.

allOf:
- $ref: /schemas/display/bridge/synopsys,dw-hdmi.yaml#

properties:
compatible:
enum:
- thead,th1520-dw-hdmi

reg-io-width:
const: 4

clocks:
maxItems: 4

clock-names:
items:
- const: iahb
- const: isfr
- const: cec
- const: pix

resets:
items:
- description: Main reset
- description: Configuration APB reset

reset-names:
items:
- const: main
- const: apb

ports:
$ref: /schemas/graph.yaml#/properties/ports

properties:
port@0:
$ref: /schemas/graph.yaml#/properties/port
description: Input port connected to DC8200 DPU "DP" output

port@1:
$ref: /schemas/graph.yaml#/properties/port
description: HDMI output port

required:
- port@0
- port@1

required:
- compatible
- reg
- reg-io-width
- clocks
- clock-names
- resets
- reset-names
- interrupts
- ports

unevaluatedProperties: false

examples:
- |
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/clock/thead,th1520-clk-ap.h>
#include <dt-bindings/reset/thead,th1520-reset.h>

soc {
#address-cells = <2>;
#size-cells = <2>;

hdmi@ffef540000 {
compatible = "thead,th1520-dw-hdmi";
reg = <0xff 0xef540000 0x0 0x40000>;
reg-io-width = <4>;
interrupts = <111 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clk_vo CLK_HDMI_PCLK>,
<&clk_vo CLK_HDMI_SFR>,
<&clk_vo CLK_HDMI_CEC>,
<&clk_vo CLK_HDMI_PIXCLK>;
clock-names = "iahb", "isfr", "cec", "pix";
resets = <&rst_vo TH1520_RESET_ID_HDMI>,
<&rst_vo TH1520_RESET_ID_HDMI_APB>;
reset-names = "main", "apb";

ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;

hdmi_in: endpoint {
remote-endpoint = <&dpu_out_dp1>;
};
};

port@1 {
reg = <1>;

hdmi_out_conn: endpoint {
remote-endpoint = <&hdmi_conn_in>;
};
};
};
};
};
146 changes: 146 additions & 0 deletions Documentation/devicetree/bindings/display/verisilicon,dc.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/verisilicon,dc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Verisilicon DC-series display controllers

maintainers:
- Icenowy Zheng <uwu@icenowy.me>

properties:
$nodename:
pattern: "^display@[0-9a-f]+$"

compatible:
items:
- enum:
- thead,th1520-dc8200
- const: verisilicon,dc

reg:
maxItems: 1

interrupts:
maxItems: 1

clocks:
minItems: 4
items:
- description: DC Core clock
- description: DMA AXI bus clock
- description: Configuration AHB bus clock
- description: Pixel clock of output 0
- description: Pixel clock of output 1

clock-names:
minItems: 4
items:
- const: core
- const: axi
- const: ahb
- const: pix0
- const: pix1

resets:
items:
- description: DC Core reset
- description: DMA AXI bus reset
- description: Configuration AHB bus reset

reset-names:
items:
- const: core
- const: axi
- const: ahb

ports:
$ref: /schemas/graph.yaml#/properties/ports

properties:
port@0:
$ref: /schemas/graph.yaml#/properties/port
description: The first output channel , endpoint 0 should be
used for DPI format output and endpoint 1 should be used
for DP format output.

port@1:
$ref: /schemas/graph.yaml#/properties/port
description: The second output channel if the DC variant
supports. Follow the same endpoint addressing rule with
the first port.

required:
- port@0

required:
- compatible
- reg
- interrupts
- clocks
- clock-names
- ports

allOf:
- if:
properties:
compatible:
contains:
const: thead,th1520-dc8200
then:
properties:
clocks:
minItems: 5
ports:
required:
- port@0
- port@1

additionalProperties: false

examples:
- |
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/clock/thead,th1520-clk-ap.h>
#include <dt-bindings/reset/thead,th1520-reset.h>
soc {
#address-cells = <2>;
#size-cells = <2>;

display@ffef600000 {
compatible = "thead,th1520-dc8200", "verisilicon,dc";
reg = <0xff 0xef600000 0x0 0x100000>;
interrupts = <93 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clk_vo CLK_DPU_CCLK>,
<&clk_vo CLK_DPU_ACLK>,
<&clk_vo CLK_DPU_HCLK>,
<&clk_vo CLK_DPU_PIXELCLK0>,
<&clk_vo CLK_DPU_PIXELCLK1>;
clock-names = "core", "axi", "ahb", "pix0", "pix1";
resets = <&rst TH1520_RESET_ID_DPU_CORE>,
<&rst TH1520_RESET_ID_DPU_AXI>,
<&rst TH1520_RESET_ID_DPU_AHB>;
reset-names = "core", "axi", "ahb";

ports {
#address-cells = <1>;
#size-cells = <0>;

port@0 {
reg = <0>;
};

port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;

dpu_out_dp1: endpoint@1 {
reg = <1>;
remote-endpoint = <&hdmi_in>;
};
};
};
};
};
44 changes: 44 additions & 0 deletions Documentation/devicetree/bindings/pwm/thead,th1520-pwm.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/pwm/thead,th1520-pwm.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: T-HEAD TH1520 PWM

maintainers:
- Jisheng Zhang <jszhang@kernel.org>

allOf:
- $ref: pwm.yaml#

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

reg:
maxItems: 1

clocks:
maxItems: 1

"#pwm-cells":
const: 3

required:
- compatible
- reg
- clocks

additionalProperties: false

examples:
- |

pwm@ec01c000 {
compatible = "thead,th1520-pwm";
reg = <0xec01c000 0x1000>;
clocks = <&clk 1>;
#pwm-cells = <3>;
};
73 changes: 73 additions & 0 deletions Documentation/devicetree/bindings/usb/thead,th1520-usb.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/usb/thead,th1520-usb.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: T-HEAD TH1520 DWC3 USB Controller Glue

maintainers:
- Jisheng Zhang <jszhang@kernel.org>

properties:
compatible:
const: thead,th1520-usb

reg:
maxItems: 1

clocks:
maxItems: 4

clock-names:
items:
- const: ref
- const: bus_early
- const: phy
- const: suspend

ranges: true

'#address-cells':
enum: [ 1, 2 ]

'#size-cells':
enum: [ 1, 2 ]

# Required child node:

patternProperties:
"^usb@[0-9a-f]+$":
$ref: snps,dwc3.yaml#

required:
- compatible
- reg
- clocks
- clock-names
- ranges

additionalProperties: false

examples:
- |

usb {
compatible = "thead,th1520-usb";
reg = <0xec03f000 0x1000>;
clocks = <&clk 1>,
<&clk 2>,
<&clk 3>,
<&clk 4>;
clock-names = "ref", "bus_early", "phy", "suspend";
ranges;
#address-cells = <1>;
#size-cells = <1>;

usb@e7040000 {
compatible = "snps,dwc3";
reg = <0xe7040000 0x10000>;
interrupts = <68>;
dr_mode = "host";
};
};
Loading