Skip to content

Add Sunplus SP7021 SoC Support

Qin Jian linux-arm-kernel linux-clk linux-devicetree lkml soc 19 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v20 Latest11 patches 2 repliesIn review
  2. v1911 patches 0 repliesSuperseded
  3. v1810 patches 12 repliesSuperseded
Earlier versions · 16
VersionPostedPatchesRepliesStatus
v1710 patches4 repliesSuperseded
v1610 patches1 replySuperseded
v1510 patches16 repliesSuperseded
v149 patches8 repliesSuperseded
v139 patches6 repliesSuperseded
v129 patches19 repliesSuperseded
v119 patches12 repliesSuperseded
v1010 patches3 repliesSuperseded
v910 patches12 repliesSuperseded
v810 patches2 repliesSuperseded
v710 patches6 repliesSuperseded
v610 patches4 repliesSuperseded
v510 patches15 repliesSuperseded
v410 patches11 repliesSuperseded
v38 patches8 repliesSuperseded
v28 patches1 replySuperseded

Changes in v20 from the cover letter

- Based on 5.19-rc4 & resend

Patches in v20 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/11dt-bindings: arm: sunplus: Add bindings for Sunplus SP7021 SoC boardsDocumentation/devicetree/bindings/arm/sunplus,sp7021.yaml MAINTAINERS+36 -00 replies
2/11dt-bindings: reset: Add bindings for SP7021 reset driverDocumentation/devicetree/bindings/reset/sunplus,reset.yaml MAINTAINERS include/dt-bindings/reset/sunplus,sp7021-reset.h+127 -00 replies
3/11reset: Add Sunplus SP7021 reset driverMAINTAINERS drivers/reset/Kconfig drivers/reset/Makefile +1 more+223 -00 replies
4/11dt-bindings: clock: Add bindings for SP7021 clock driverDocumentation/devicetree/bindings/clock/sunplus,sp7021-clkc.yaml MAINTAINERS include/dt-bindings/clock/sunplus,sp7021-clkc.h+142 -00 replies
5/11clk: gate: Add devm_clk_hw_register_gate_parent_data()include/linux/clk-provider.h+17 -00 replies
6/11clk: Add Sunplus SP7021 clock driverMAINTAINERS drivers/clk/Kconfig drivers/clk/Makefile +1 more+725 -00 replies
7/11dt-bindings: interrupt-controller: Add bindings for SP7021 interrupt controllerDocumentation/devicetree/bindings/interrupt-controller/sunplus,sp7021-intc.yaml MAINTAINERS+67 -00 replies
8/11irqchip: Add Sunplus SP7021 interrupt controller driverMAINTAINERS drivers/irqchip/Kconfig drivers/irqchip/Makefile +1 more+288 -30 replies
9/11ARM: sunplus: Add initial support for Sunplus SP7021 SoCMAINTAINERS arch/arm/Kconfig arch/arm/Makefile +3 more+55 -00 replies
10/11ARM: sp7021_defconfig: Add Sunplus SP7021 defconfigMAINTAINERS arch/arm/configs/multi_v7_defconfig arch/arm/configs/sp7021_defconfig+61 -00 replies
11/11ARM: dts: Add Sunplus SP7021-Demo-V3 board device treeMAINTAINERS arch/arm/boot/dts/Makefile arch/arm/boot/dts/sunplus-sp7021-achip.dtsi +2 more+427 -00 replies

Reviews trailers per patch

9 of 11 patches have a Reviewed-by or Acked-by.

PatchRob HerringStephen BoydKrzysztof KozlowskiArnd BergmannMarc ZyngierPhilipp Zabel
1/11A-b R-b
2/11R-b R-b
3/11R-b
4/11R-b R-b
5/11
6/11
7/11R-b
8/11A-b
9/11R-b
10/11R-b
11/11A-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 6 reviewers.

Read the v20 thread

Cover letter [PATCH v20 00/11] Add Sunplus SP7021 SoC Support

This patch series add Sunplus SP7021 SoC support.

Sunplus SP7021 is an ARM Cortex A7 (4 cores) based SoC. It integrates many peripherals (ex: UART, I2C, SPI, SDIO, eMMC, USB, SD card and etc.) into a single chip. It is designed for industrial control.

SP7021 consists of two chips (dies) in a package. One is called C-chip (computing chip). It is a 4-core ARM Cortex A7 CPU. It adopts high-level process (22 nm) for high performance computing. The other is called P- chip (peripheral chip). It has many peripherals and an ARM A926 added especially for real-time control. P-chip is made for customers. It adopts low-level process (ex: 0.11 um) to reduce cost.

Refer to (for documentations):
https://sunplus-tibbo.atlassian.net/wiki/spaces/doc/overview

Refer to (applications):
https://tibbo.com/store/plus1.html

Refer to (applications):
http://www.sinovoip.com.cn/ecp_view.asp?id=586

Changes in v20:
- Based on 5.19-rc4 & resend

Changes in v19:
- clk-provider.h: Add devm_clk_hw_register_gate_parent_data()
- clk-sp7021.c: Addressed Stephen's comments
- board dts: Addressed Arnd's comments

Changes in v18:
- Fixed the tags
- board dts: Fix the comments from Krzysztof

Changes in v17:
- Based on 5.18.1 & resend

Changes in v16:
- clk-sp7021.c: Fix the comments from Stephen Boyd
- board dts: Fix the comments from Krzysztof

Changes in v15:
- Add Sunplus SP7021-demo-v3 board dts
- Refine yaml title
- Rename dt-binding header filename to match compatible string

Changes in v14:
- clock/sp-sp7021.h: Fix the comments from Krzysztof
- sunplus,sp7021-clkc.yaml: Fix the comments from Rob

Changes in v13:
- reset/sp-sp7021.h: Move HW mapping from dt-binding header to driver
- reset-sunplus.c: Move HW mapping from dt-binding header to driver
- clock/sp-sp7021.h: Move HW mapping from dt-binding header to driver
- clk-sp7021.c: Fix the comments from Arnd
- irq-sp7021-intc.c: Remove empty set_affinity callback function
- sp7021_defconfig: Fix the comments from Arnd

Changes in v12:
- sunplus,sp7021-clkc.yaml: Move 'reg' after 'compatible'
- sunplus,sp7021-intc.yaml: Move 'reg' after 'compatible'
- sunplus,reset.yaml: Move 'reg' after 'compatible'
- Remove wrong reviewed-tags

Changes in v11:
- clk-sp7021.c: Remove the dead code

Changes in v10:
- arm/sunplus,sp7021.yaml: Add SoC compatible: "sunplus,sp7021"
- clock/sunplus,sp7021-clkc.yaml: Remove the internal clock parent from DTS
- clk-sp7021.c: Refine the macro DBG_CLK
- clk-sp7021.c: Refine the clock_parent_data

Changes in v9:
- clk/Kconfig: fix the comments form Stephen Boyd
- clk-sp7021.c: fix the comments form Stephen Boyd

Changes in v8:
- clk-sp7021.c: fix the comments form Stephen Boyd

Changes in v7:
- sunplus,sp7021-clkc.yaml: Add clocks & clock-names
- clk-sp7021.c: fix the comments form Stephen Boyd
- irq-sp7021-intc.c: fix the comments from Marc

Changes in v6:
- reset-sunplus.c: fix the comments from Philipp
- irq-sp7021-intc.c: fix the comments from Marc
- mach-sunplus: fix the comments from Arnd

Changes in v5:
- reset-sunplus.c: fix strict checks
- clk/Kconfig: fix spell
- clk-sp7021.c: using bitfield ops, fix strict checks
- irqchip/Kconfig: fix spell
- irq-sp7021-intc.c: cleanup error path in probe, fix strict checks
- arm/Kconfig: fix spell & typo, remove CONFIG_SERIAL_SUNPLUS
- mach-sunplus/Kconfig: fix typo
- sp7021_defconfig: add CONFIG_SERIAL_SUNPLUS

Changes in v4:
- mach-sunplus: add initial support for SP7021
- sp7021_defconfig: add generic SP7021 defconfig
- reset-sunplus: remove Q645 support
- reset-sunplus.c: refine code based on Philipp's review
- clk-sp7021: clock defines add prefix, more clean up

Changes in v3:
- sp7021-intc: remove primary controller mode due to P-chip running Linux not supported any more.
- sp7021-intc.h: removed, not set ext through the DT but sp_intc_set_ext()
- sunplus,sp7021-intc.yaml: update descriptions for above changes
- irq-sp7021-intc.c: more cleanup based on Marc's review
- all driver's Kconfig removed default, it's selected by platform config

Changes in v2:
- sunplus,sp7021-intc.yaml: add descrption for "#interrupt-cells", interrupts
- sunplus,sp7021-intc.yaml: drop "ext0-mask"/"ext1-mask" from DT
- sunplus,sp7021-intc.yaml: fix example.dt too long error
- irq-sp7021-intc.c: major rewrite
- all files with dual license

Qin Jian (11):
dt-bindings: arm: sunplus: Add bindings for Sunplus SP7021 SoC boards
dt-bindings: reset: Add bindings for SP7021 reset driver
reset: Add Sunplus SP7021 reset driver
dt-bindings: clock: Add bindings for SP7021 clock driver
clk: gate: Add devm_clk_hw_register_gate_parent_data()
clk: Add Sunplus SP7021 clock driver
dt-bindings: interrupt-controller: Add bindings for SP7021 interrupt
controller
irqchip: Add Sunplus SP7021 interrupt controller driver
ARM: sunplus: Add initial support for Sunplus SP7021 SoC
ARM: sp7021_defconfig: Add Sunplus SP7021 defconfig
ARM: dts: Add Sunplus SP7021-Demo-V3 board device tree

 .../bindings/arm/sunplus,sp7021.yaml          |  29 +
 .../bindings/clock/sunplus,sp7021-clkc.yaml   |  52 ++
 .../sunplus,sp7021-intc.yaml                  |  62 ++
 .../bindings/reset/sunplus,reset.yaml         |  38 +
 MAINTAINERS                                   |  18 +
 arch/arm/Kconfig                              |   2 +
 arch/arm/Makefile                             |   1 +
 arch/arm/boot/dts/Makefile                    |   2 +
 arch/arm/boot/dts/sunplus-sp7021-achip.dtsi   |  84 +++
 arch/arm/boot/dts/sunplus-sp7021-demo-v3.dts  |  30 +
 arch/arm/boot/dts/sunplus-sp7021.dtsi         | 310 ++++++++
 arch/arm/configs/multi_v7_defconfig           |   1 +
 arch/arm/configs/sp7021_defconfig             |  59 ++
 arch/arm/mach-sunplus/Kconfig                 |  27 +
 arch/arm/mach-sunplus/Makefile                |   8 +
 arch/arm/mach-sunplus/sp7021.c                |  16 +
 drivers/clk/Kconfig                           |  10 +
 drivers/clk/Makefile                          |   1 +
 drivers/clk/clk-sp7021.c                      | 713 ++++++++++++++++++
 drivers/irqchip/Kconfig                       |   9 +
 drivers/irqchip/Makefile                      |   1 +
 drivers/irqchip/irq-sp7021-intc.c             | 278 +++++++
 drivers/reset/Kconfig                         |   9 +
 drivers/reset/Makefile                        |   1 +
 drivers/reset/reset-sunplus.c                 | 212 ++++++
 .../dt-bindings/clock/sunplus,sp7021-clkc.h   |  88 +++
 .../dt-bindings/reset/sunplus,sp7021-reset.h  |  87 +++
 include/linux/clk-provider.h                  |  17 +
 28 files changed, 2165 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/sunplus,sp7021.yaml
 create mode 100644 Documentation/devicetree/bindings/clock/sunplus,sp7021-clkc.yaml
 create mode 100644 Documentation/devicetree/bindings/interrupt-controller/sunplus,sp7021-intc.yaml
 create mode 100644 Documentation/devicetree/bindings/reset/sunplus,reset.yaml
 create mode 100644 arch/arm/boot/dts/sunplus-sp7021-achip.dtsi
 create mode 100644 arch/arm/boot/dts/sunplus-sp7021-demo-v3.dts
 create mode 100644 arch/arm/boot/dts/sunplus-sp7021.dtsi
 create mode 100644 arch/arm/configs/sp7021_defconfig
 create mode 100644 arch/arm/mach-sunplus/Kconfig
 create mode 100644 arch/arm/mach-sunplus/Makefile
 create mode 100644 arch/arm/mach-sunplus/sp7021.c
 create mode 100644 drivers/clk/clk-sp7021.c
 create mode 100644 drivers/irqchip/irq-sp7021-intc.c
 create mode 100644 drivers/reset/reset-sunplus.c
 create mode 100644 include/dt-bindings/clock/sunplus,sp7021-clkc.h
 create mode 100644 include/dt-bindings/reset/sunplus,sp7021-reset.h
Signature · 1 line
2.33.1