Skip to content

Commit

Permalink
Merge tag 'arm-newsoc-6.0' of git://git.kernel.org/pub/scm/linux/kern…
Browse files Browse the repository at this point in the history
…el/git/soc/soc

Pull ARM new SoC support from Arnd Bergmann:
 "This adds initial support for two SoC families that have been under
  review for a while. In both cases, the origonal idea was to have a
  minimally functional version, but we ended up leaving out the clk
  drivers that are still under review and will be merged through the
  corresponding subsystem tree.

  The Nuvoton NPCM8xx is a 64-bit Baseboard Management Controller and
  based on the 32-bit NPCM7xx family but is now getting added to
  arch/arm64 as well.

  Sunplus SP7021, also known as Plus1, is a general-purpose
  System-in-Package design based on the 32-bit Cortex-A7 SoC on the main
  chip, plus an I/O chip and memory in the same"

* tag 'arm-newsoc-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (25 commits)
  MAINTAINERS: rectify entry for ARM/NUVOTON NPCM ARCHITECTURE
  arm64: defconfig: Add Nuvoton NPCM family support
  arm64: dts: nuvoton: Add initial NPCM845 EVB device tree
  arm64: dts: nuvoton: Add initial NPCM8XX device tree
  arm64: npcm: Add support for Nuvoton NPCM8XX BMC SoC
  dt-bindings: arm: npcm: Add nuvoton,npcm845 GCR compatible string
  dt-bindings: arm: npcm: Add nuvoton,npcm845 compatible string
  dt-bindings: arm: npcm: Add maintainer
  reset: npcm: Add NPCM8XX support
  dt-bindings: reset: npcm: Add support for NPCM8XX
  reset: npcm: using syscon instead of device data
  ARM: dts: nuvoton: add reset syscon property
  dt-bindings: reset: npcm: add GCR syscon property
  dt-binding: clk: npcm845: Add binding for Nuvoton NPCM8XX Clock
  dt-bindings: watchdog: npcm: Add npcm845 compatible string
  dt-bindings: timer: npcm: Add npcm845 compatible string
  ARM: dts: Add Sunplus SP7021-Demo-V3 board device tree
  ARM: sp7021_defconfig: Add Sunplus SP7021 defconfig
  ARM: sunplus: Add initial support for Sunplus SP7021 SoC
  irqchip: Add Sunplus SP7021 interrupt controller driver
  ...
  • Loading branch information
torvalds committed Aug 2, 2022
2 parents 3a829d2 + bccd70a commit dd65b96
Show file tree
Hide file tree
Showing 40 changed files with 2,012 additions and 36 deletions.
7 changes: 7 additions & 0 deletions Documentation/devicetree/bindings/arm/npcm/npcm.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ title: NPCM Platforms Device Tree Bindings

maintainers:
- Jonathan Neuschäfer <[email protected]>
- Tomer Maimon <[email protected]>

properties:
$nodename:
Expand All @@ -26,4 +27,10 @@ properties:
- nuvoton,npcm750-evb # NPCM750 evaluation board
- const: nuvoton,npcm750

- description: NPCM845 based boards
items:
- enum:
- nuvoton,npcm845-evb # NPCM845 evaluation board
- const: nuvoton,npcm845

additionalProperties: true
2 changes: 2 additions & 0 deletions Documentation/devicetree/bindings/arm/npcm/nuvoton,gcr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ title: Global Control Registers block in Nuvoton SoCs

maintainers:
- Jonathan Neuschäfer <[email protected]>
- Tomer Maimon <[email protected]>

description:
The Global Control Registers (GCR) are a block of registers in Nuvoton SoCs
Expand All @@ -20,6 +21,7 @@ properties:
- enum:
- nuvoton,wpcm450-gcr
- nuvoton,npcm750-gcr
- nuvoton,npcm845-gcr
- const: syscon
- const: simple-mfd

Expand Down
29 changes: 29 additions & 0 deletions Documentation/devicetree/bindings/arm/sunplus,sp7021.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# Copyright (C) Sunplus Co., Ltd. 2021
%YAML 1.2
---
$id: http://devicetree.org/schemas/arm/sunplus,sp7021.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Sunplus SP7021 Boards

maintainers:
- qinjian <[email protected]>

description: |
ARM platforms using Sunplus SP7021, an ARM Cortex A7 (4-cores) based SoC.
Wiki: https://sunplus-tibbo.atlassian.net/wiki/spaces/doc/overview
properties:
$nodename:
const: '/'
compatible:
items:
- enum:
- sunplus,sp7021-achip
- sunplus,sp7021-demo-v3
- const: sunplus,sp7021

additionalProperties: true

...
49 changes: 49 additions & 0 deletions Documentation/devicetree/bindings/clock/nuvoton,npcm845-clk.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/clock/nuvoton,npcm845-clk.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Nuvoton NPCM8XX Clock Controller Binding

maintainers:
- Tomer Maimon <[email protected]>

description: |
Nuvoton Arbel BMC NPCM8XX contains an integrated clock controller, which
generates and supplies clocks to all modules within the BMC.
properties:
compatible:
enum:
- nuvoton,npcm845-clk

reg:
maxItems: 1

'#clock-cells':
const: 1
description:
See include/dt-bindings/clock/nuvoton,npcm8xx-clock.h for the full
list of NPCM8XX clock IDs.

required:
- compatible
- reg
- '#clock-cells'

additionalProperties: false

examples:
- |
ahb {
#address-cells = <2>;
#size-cells = <2>;
clock-controller@f0801000 {
compatible = "nuvoton,npcm845-clk";
reg = <0x0 0xf0801000 0x0 0x1000>;
#clock-cells = <1>;
};
};
...
52 changes: 52 additions & 0 deletions Documentation/devicetree/bindings/clock/sunplus,sp7021-clkc.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# Copyright (C) Sunplus Co., Ltd. 2021
%YAML 1.2
---
$id: http://devicetree.org/schemas/clock/sunplus,sp7021-clkc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Sunplus SP7021 SoC Clock Controller

maintainers:
- Qin Jian <[email protected]>

properties:
compatible:
const: sunplus,sp7021-clkc

reg:
maxItems: 3

clocks:
maxItems: 1

"#clock-cells":
const: 1

required:
- compatible
- reg
- clocks
- "#clock-cells"

additionalProperties: false

examples:
- |
extclk: osc0 {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <27000000>;
clock-output-names = "extclk";
};
clkc: clock-controller@9c000004 {
compatible = "sunplus,sp7021-clkc";
reg = <0x9c000004 0x28>,
<0x9c000200 0x44>,
<0x9c000268 0x08>;
clocks = <&extclk>;
#clock-cells = <1>;
};
...
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# Copyright (C) Sunplus Co., Ltd. 2021
%YAML 1.2
---
$id: http://devicetree.org/schemas/interrupt-controller/sunplus,sp7021-intc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Sunplus SP7021 SoC Interrupt Controller

maintainers:
- Qin Jian <[email protected]>

properties:
compatible:
items:
- const: sunplus,sp7021-intc

reg:
maxItems: 2
description:
Specifies base physical address(s) and size of the controller regs.
The 1st region include type/polarity/priority/mask regs.
The 2nd region include clear/masked_ext0/masked_ext1/group regs.

interrupt-controller: true

"#interrupt-cells":
const: 2
description:
The first cell is the IRQ number, the second cell is the trigger
type as defined in interrupt.txt in this directory.

interrupts:
maxItems: 2
description:
EXT_INT0 & EXT_INT1, 2 interrupts references to primary interrupt
controller.

required:
- compatible
- reg
- interrupt-controller
- "#interrupt-cells"
- interrupts

additionalProperties: false

examples:
- |
#include <dt-bindings/interrupt-controller/arm-gic.h>
intc: interrupt-controller@9c000780 {
compatible = "sunplus,sp7021-intc";
reg = <0x9c000780 0x80>, <0x9c000a80 0x80>;
interrupt-controller;
#interrupt-cells = <2>;
interrupt-parent = <&gic>;
interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>, /* EXT_INT0 */
<GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; /* EXT_INT1 */
};
...
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,20 @@ maintainers:

properties:
compatible:
const: nuvoton,npcm750-reset
enum:
- nuvoton,npcm750-reset # Poleg NPCM7XX SoC
- nuvoton,npcm845-reset # Arbel NPCM8XX SoC

reg:
maxItems: 1

'#reset-cells':
const: 2

nuvoton,sysgcr:
$ref: /schemas/types.yaml#/definitions/phandle
description: a phandle to access GCR registers.

nuvoton,sw-reset-number:
$ref: /schemas/types.yaml#/definitions/uint32
minimum: 1
Expand All @@ -31,6 +37,7 @@ required:
- compatible
- reg
- '#reset-cells'
- nuvoton,sysgcr

additionalProperties: false

Expand All @@ -41,6 +48,7 @@ examples:
compatible = "nuvoton,npcm750-reset";
reg = <0xf0801000 0x70>;
#reset-cells = <2>;
nuvoton,sysgcr = <&gcr>;
nuvoton,sw-reset-number = <2>;
};
Expand Down
38 changes: 38 additions & 0 deletions Documentation/devicetree/bindings/reset/sunplus,reset.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# Copyright (C) Sunplus Co., Ltd. 2021
%YAML 1.2
---
$id: "http://devicetree.org/schemas/reset/sunplus,reset.yaml#"
$schema: "http://devicetree.org/meta-schemas/core.yaml#"

title: Sunplus SoC Reset Controller

maintainers:
- Qin Jian <[email protected]>

properties:
compatible:
const: sunplus,sp7021-reset

reg:
maxItems: 1

"#reset-cells":
const: 1

required:
- compatible
- reg
- "#reset-cells"

additionalProperties: false

examples:
- |
rstc: reset@9c000054 {
compatible = "sunplus,sp7021-reset";
reg = <0x9c000054 0x28>;
#reset-cells = <1>;
};
...
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,14 @@ title: Nuvoton NPCM7xx timer

maintainers:
- Jonathan Neuschäfer <[email protected]>
- Tomer Maimon <[email protected]>

properties:
compatible:
enum:
- nuvoton,wpcm450-timer # for Hermon WPCM450
- nuvoton,npcm750-timer # for Poleg NPCM750
- nuvoton,npcm845-timer # for Arbel NPCM845

reg:
maxItems: 1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ expiry.

Required properties:
- compatible : "nuvoton,npcm750-wdt" for NPCM750 (Poleg), or
"nuvoton,wpcm450-wdt" for WPCM450 (Hermon).
"nuvoton,wpcm450-wdt" for WPCM450 (Hermon), or
"nuvoton,npcm845-wdt" for NPCM845 (Arbel).
- reg : Offset and length of the register set for the device.
- interrupts : Contain the timer interrupt with flags for
falling edge.
Expand Down
19 changes: 19 additions & 0 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -2455,9 +2455,11 @@ F: Documentation/devicetree/bindings/*/*npcm*
F: Documentation/devicetree/bindings/arm/npcm/*
F: arch/arm/boot/dts/nuvoton-npcm*
F: arch/arm/mach-npcm/
F: arch/arm64/boot/dts/nuvoton/
F: drivers/*/*npcm*
F: drivers/*/*/*npcm*
F: include/dt-bindings/clock/nuvoton,npcm7xx-clock.h
F: include/dt-bindings/clock/nuvoton,npcm845-clk.h

ARM/NUVOTON WPCM450 ARCHITECTURE
M: Jonathan Neuschäfer <[email protected]>
Expand Down Expand Up @@ -2832,6 +2834,23 @@ F: drivers/clocksource/armv7m_systick.c
N: stm32
N: stm

ARM/SUNPLUS SP7021 SOC SUPPORT
M: Qin Jian <[email protected]>
L: [email protected] (moderated for mon-subscribers)
S: Maintained
W: https://sunplus-tibbo.atlassian.net/wiki/spaces/doc/overview
F: Documentation/devicetree/bindings/arm/sunplus,sp7021.yaml
F: Documentation/devicetree/bindings/clock/sunplus,sp7021-clkc.yaml
F: Documentation/devicetree/bindings/interrupt-controller/sunplus,sp7021-intc.yaml
F: Documentation/devicetree/bindings/reset/sunplus,reset.yaml
F: arch/arm/boot/dts/sunplus-sp7021*.dts*
F: arch/arm/configs/sp7021_*defconfig
F: arch/arm/mach-sunplus/
F: drivers/irqchip/irq-sp7021-intc.c
F: drivers/reset/reset-sunplus.c
F: include/dt-bindings/clock/sunplus,sp7021-clkc.h
F: include/dt-bindings/reset/sunplus,sp7021-reset.h

ARM/Synaptics SoC support
M: Jisheng Zhang <[email protected]>
M: Sebastian Hesselbarth <[email protected]>
Expand Down
2 changes: 2 additions & 0 deletions arch/arm/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -588,6 +588,8 @@ source "arch/arm/mach-sti/Kconfig"

source "arch/arm/mach-stm32/Kconfig"

source "arch/arm/mach-sunplus/Kconfig"

source "arch/arm/mach-sunxi/Kconfig"

source "arch/arm/mach-tegra/Kconfig"
Expand Down
1 change: 1 addition & 0 deletions arch/arm/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,7 @@ machine-$(CONFIG_ARCH_RENESAS) += shmobile
machine-$(CONFIG_ARCH_INTEL_SOCFPGA) += socfpga
machine-$(CONFIG_ARCH_STI) += sti
machine-$(CONFIG_ARCH_STM32) += stm32
machine-$(CONFIG_ARCH_SUNPLUS) += sunplus
machine-$(CONFIG_ARCH_SUNXI) += sunxi
machine-$(CONFIG_ARCH_TEGRA) += tegra
machine-$(CONFIG_ARCH_U8500) += ux500
Expand Down
2 changes: 2 additions & 0 deletions arch/arm/boot/dts/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,8 @@ dtb-$(CONFIG_SOC_SAM_V7) += \
at91-vinco.dtb
dtb-$(CONFIG_SOC_SAMA7G5) += \
at91-sama7g5ek.dtb
dtb-$(CONFIG_SOC_SP7021) += \
sunplus-sp7021-demo-v3.dtb
dtb-$(CONFIG_ARCH_AXXIA) += \
axm5516-amarillo.dtb
dtb-$(CONFIG_ARCH_BCM2835) += \
Expand Down
Loading

0 comments on commit dd65b96

Please sign in to comment.