[PATCH v3 00/25] ARM: Initial Actions Semi S500 and S900 enablement
Andreas Färber
afaerber at suse.de
Mon Feb 27 22:35:10 PST 2017
Hello,
This series adds initial support for Actions Semiconductor S500 (ARMv7) and
S900 (ARMv8) SoCs.
v3 has the serial driver working almost equally for both, still glitch on S900.
SMP support and power-gating for S500 are implemented, so both get 4 CPUs up.
https://github.com/afaerber/linux/commits/bg96-next
Booting from U-Boot is straightforward on both boards:
https://en.opensuse.org/HCL:Guitar
https://en.opensuse.org/HCL:Bubblegum-96
Have a lot of fun!
Cheers,
Andreas
v2 -> v3:
* Clocksource fix
* Clocksource cleanups (Daniel)
* Serial cleanups
* Add S500 CPU enable-method
* Add power domain driver
* Rework clocksource for S900 compatibility
v1 -> v2:
* S900 DT fixes (Mark)
* Kconfig name changes (Arnd)
* Bubblegum-96 .dts rename
* Vendor prefix rename
* Minor cleanups
* Add serial driver
* Add MAINTAINERS section
* Use SPDX-License-Identifier in DT (Rob)
* Add clocksource driver
Cc: Mark Rutland <mark.rutland at arm.com>
Cc: Arnd Bergmann <arnd at arndb.de>
Cc: Rob Herring <robh at kernel.org>
Cc: Daniel Lezcano <daniel.lezcano at linaro.org>
Cc: mp-cs at actions-semi.com
Cc: 96boards at ucrobotics.com
Cc: support at lemaker.org
Cc: linux-serial at vger.kernel.org
Cc: linux-doc at vger.kernel.org
Cc: devicetree at vger.kernel.org
Andreas Färber (25):
dt-bindings: Add vendor prefix for Actions Semi
dt-bindings: arm: Document Actions Semi S500
dt-bindings: timer: Document Owl timer
clocksource: Add Owl timer
clocksource: owl: Add S900 support
ARM: Prepare Actions Semi S500
ARM64: Prepare Actions Semi S900
dt-bindings: serial: Document Actions Semi Owl UARTs
tty: serial: Add Actions Semi Owl UART earlycon
Documentation: kernel-parameters: Document owl earlycon
ARM: dts: Add Actions Semi S500 and LeMaker Guitar
dt-bindings: Add vendor prefix for uCRobotics
dt-bindings: arm: Document Actions Semi S900
ARM64: dts: Add Actions Semi S900 and Bubblegum-96
MAINTAINERS: Add Actions Semi Owl section
tty: serial: owl: Implement console driver
ARM64: dts: actions: s900-bubblegum-96: Add fake uart5 clock
ARM: dts: s500-guitar-bb-rev-b: Add fake uart3 clock
dt-bindings: arm: cpus: Add S500 enable-method
ARM: owl: Implement CPU enable-method for S500
ARM: dts: s500: Set CPU enable-method
dt-bindings: power: Add Owl SPS power domains
soc: actions: Add Owl SPS
ARM: dts: s500: Add SPS node
ARM: owl: smp: Reimplement SPS power-gating for CPU2 and CPU3
Documentation/admin-guide/kernel-parameters.txt | 6 +
Documentation/devicetree/bindings/arm/actions.txt | 39 ++
Documentation/devicetree/bindings/arm/cpus.txt | 1 +
.../devicetree/bindings/power/actions,owl-sps.txt | 17 +
.../bindings/serial/actions,owl-uart.txt | 16 +
.../bindings/timer/actions,owl-timer.txt | 20 +
.../devicetree/bindings/vendor-prefixes.txt | 2 +
MAINTAINERS | 10 +
arch/arm/Kconfig | 2 +
arch/arm/Makefile | 1 +
arch/arm/boot/dts/Makefile | 2 +
arch/arm/boot/dts/s500-guitar-bb-rev-b.dts | 33 +
arch/arm/boot/dts/s500-guitar.dtsi | 24 +
arch/arm/boot/dts/s500.dtsi | 183 ++++++
arch/arm/mach-actions/Kconfig | 15 +
arch/arm/mach-actions/Makefile | 2 +
arch/arm/mach-actions/headsmp.S | 68 ++
arch/arm/mach-actions/owl.c | 28 +
arch/arm/mach-actions/platsmp.c | 229 +++++++
arch/arm64/Kconfig.platforms | 6 +
arch/arm64/boot/dts/Makefile | 1 +
arch/arm64/boot/dts/actions/Makefile | 5 +
arch/arm64/boot/dts/actions/s900-bubblegum-96.dts | 42 ++
arch/arm64/boot/dts/actions/s900.dtsi | 164 +++++
drivers/clocksource/Kconfig | 7 +
drivers/clocksource/Makefile | 1 +
drivers/clocksource/owl-timer.c | 205 ++++++
drivers/soc/Kconfig | 1 +
drivers/soc/Makefile | 1 +
drivers/soc/actions/Kconfig | 12 +
drivers/soc/actions/Makefile | 1 +
drivers/soc/actions/owl-sps.c | 245 +++++++
drivers/tty/serial/Kconfig | 19 +
drivers/tty/serial/Makefile | 1 +
drivers/tty/serial/owl-uart.c | 724 +++++++++++++++++++++
include/dt-bindings/power/s500-powergate.h | 19 +
include/uapi/linux/serial_core.h | 3 +
37 files changed, 2155 insertions(+)
create mode 100644 Documentation/devicetree/bindings/arm/actions.txt
create mode 100644 Documentation/devicetree/bindings/power/actions,owl-sps.txt
create mode 100644 Documentation/devicetree/bindings/serial/actions,owl-uart.txt
create mode 100644 Documentation/devicetree/bindings/timer/actions,owl-timer.txt
create mode 100644 arch/arm/boot/dts/s500-guitar-bb-rev-b.dts
create mode 100644 arch/arm/boot/dts/s500-guitar.dtsi
create mode 100644 arch/arm/boot/dts/s500.dtsi
create mode 100644 arch/arm/mach-actions/Kconfig
create mode 100644 arch/arm/mach-actions/Makefile
create mode 100644 arch/arm/mach-actions/headsmp.S
create mode 100644 arch/arm/mach-actions/owl.c
create mode 100644 arch/arm/mach-actions/platsmp.c
create mode 100644 arch/arm64/boot/dts/actions/Makefile
create mode 100644 arch/arm64/boot/dts/actions/s900-bubblegum-96.dts
create mode 100644 arch/arm64/boot/dts/actions/s900.dtsi
create mode 100644 drivers/clocksource/owl-timer.c
create mode 100644 drivers/soc/actions/Kconfig
create mode 100644 drivers/soc/actions/Makefile
create mode 100644 drivers/soc/actions/owl-sps.c
create mode 100644 drivers/tty/serial/owl-uart.c
create mode 100644 include/dt-bindings/power/s500-powergate.h
--
2.10.2
More information about the linux-arm-kernel
mailing list