ARM: Conexant Digicolor CX92755 SoC support
Subsystems (5)
Baruch Siach
maintainerv3 cover ARM: Conexant Digicolor CX92755 SoC support
This series adds initial support for the Conexant CX92755 SoC. The CX92755 is one of the Digicolor series of SoCs, all sharing many of the same peripherals. The code was tested on the CX92755 evaluation kit, AKA Equinox.
Uses attempting to try this code will most likely also want the UART/console driver available from https://patchwork.kernel.org/patch/5515861/.
v3:
* Remove earlyprintk from dts bootargs (Arnd Bergmann)
* Move aliases from chip .dtsi to board .dts (Arnd Bergmann)
* Add 'cpus' node (Mark Rutland)
* Add commit log messages to all patches (Arnd Bergmann)
* Add Arnd's ack
* Split arch/arm stuff from the irq and timer drivers
v2:
http://marc.info/?t=142074613900007&r=1&w=2
* Remove .map_io assignment, debug_ll is enabled by default (Arnd Bergmann)
* Migrate the irq driver to generic irq chip, simplifying the code somewhat (Arnd Bergmann)
* Change the timer dt binding, so that the 'reg' property points to the first "Agent Communication" register. This should improve the chance of reusing this binding for other SoCs in this series.
* Add the CONTROL() and COUNT() macros to the timer driver to make the code clearer.
* Move arch/arm Kconfig changes from the clocksource driver patch to the base arch support patch to reduce dependency between them
v1:
http://thread.gmane.org/gmane.linux.kernel/1855027
Baruch Siach (4):
ARM: initial support for Conexant Digicolor CX92755 SoC
ARM: digicolor: add low level debug support
ARM: digicolor: add minimal device tree description
ARM: devicetree: document supported Conexant Digicolor SoC
.../devicetree/bindings/arm/digicolor.txt | 6 ++ arch/arm/Kconfig | 2 + arch/arm/Kconfig.debug | 12 ++- arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/conexant_equinox.dts | 74 ++++++++++++++ arch/arm/boot/dts/cx92755.dtsi | 107 +++++++++++++++++++++ arch/arm/include/debug/digicolor.S | 35 +++++++ arch/arm/mach-digicolor/Kconfig | 5 + arch/arm/mach-digicolor/Makefile | 1 + arch/arm/mach-digicolor/digicolor.c | 18 ++++ 10 files changed, 259 insertions(+), 2 deletions(-) create mode 100644 Documentation/devicetree/bindings/arm/digicolor.txt create mode 100644 arch/arm/boot/dts/conexant_equinox.dts create mode 100644 arch/arm/boot/dts/cx92755.dtsi create mode 100644 arch/arm/include/debug/digicolor.S create mode 100644 arch/arm/mach-digicolor/Kconfig create mode 100644 arch/arm/mach-digicolor/Makefile create mode 100644 arch/arm/mach-digicolor/digicolor.c
Signature · 1 line
2.1.4
Baruch Siach
maintainerPATCH v3 1/4 ARM: initial support for Conexant Digicolor CX92755 SoC
Add initial support for the Conexant CX92755 SoC. The CX92755 is one of the Digicolor series of SoCs, all sharing many of the same peripherals. The code was tested on the CX92755 evaluation kit, AKA Equinox.
--- arch/arm/Kconfig | 2 ++ arch/arm/mach-digicolor/Kconfig | 5 +++++ arch/arm/mach-digicolor/Makefile | 1 + arch/arm/mach-digicolor/digicolor.c | 18 ++++++++++++++++++ 4 files changed, 26 insertions(+) create mode 100644 arch/arm/mach-digicolor/Kconfig create mode 100644 arch/arm/mach-digicolor/Makefile create mode 100644 arch/arm/mach-digicolor/digicolor.c
arch/arm/Kconfig +2 -0
@@ -858,6 +858,8 @@ source "arch/arm/mach-cns3xxx/Kconfig" source "arch/arm/mach-davinci/Kconfig" +source "arch/arm/mach-digicolor/Kconfig" + source "arch/arm/mach-dove/Kconfig" source "arch/arm/mach-ep93xx/Kconfig"
arch/arm/mach-digicolor/Kconfig new file +5 -0
@@ -0,0 +1,5 @@ +config ARCH_DIGICOLOR + bool "Conexant Digicolor SoC Support" + depends on ARCH_MULTI_V7 + select CLKSRC_MMIO + select GENERIC_IRQ_CHIP
arch/arm/mach-digicolor/Makefile new file +1 -0
@@ -0,0 +1 @@ +obj-$(CONFIG_ARCH_DIGICOLOR) += digicolor.o
arch/arm/mach-digicolor/digicolor.c new file +18 -0
@@ -0,0 +1,18 @@ +/* +* Support for Conexant Digicolor SoCs +* +* This program is free software; you can redistribute it and/or modify +* it under the terms of the GNU General Public License version 2 as +* published by the Free Software Foundation. +*/ + +#include <asm/mach/arch.h> + +static const char *digicolor_dt_compat[]__initconst = { +"cnxt,cx92755" , +NULL , +}; + +DT_MACHINE_START (DIGICOLOR ,"Conexant Digicolor (Flattened Device Tree)" ) + .dt_compat = digicolor_dt_compat, +MACHINE_END
Signature · 1 line
2.1.4
Olof Johansson
AppliedRe: [PATCH v3 1/4] ARM: initial support for Conexant Digicolor CX92755 SoC
Quoted 6 lines · Baruch Siach
Add initial support for the Conexant CX92755 SoC. The CX92755 is one of the Digicolor series of SoCs, all sharing many of the same peripherals. The code was tested on the CX92755 evaluation kit, AKA Equinox.
Acked-by Arnd Bergmann <[email protected]>Signed-off-by Baruch Siach <[email protected]>
Quoted 9 lines
--- arch/arm/Kconfig | 2 ++ arch/arm/mach-digicolor/Kconfig | 5 +++++ arch/arm/mach-digicolor/Makefile | 1 + arch/arm/mach-digicolor/digicolor.c | 18 ++++++++++++++++++ 4 files changed, 26 insertions(+) create mode 100644 arch/arm/mach-digicolor/Kconfig create mode 100644 arch/arm/mach-digicolor/Makefile create mode 100644 arch/arm/mach-digicolor/digicolor.c
Applied, thanks.
-Olof
Baruch Siach
maintainerPATCH v3 2/4 ARM: digicolor: add low level debug support
In reply to Baruch SiachUse the USART peripheral as UART for low level debug. Only the UA0 port is currently supported.
--- arch/arm/Kconfig.debug | 12 ++++++++++-- arch/arm/include/debug/digicolor.S | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 arch/arm/include/debug/digicolor.S
arch/arm/Kconfig.debug +10 -2
@@ -241,6 +241,13 @@ choice Say Y here if you want the debug print routines to direct their output to the serial port in the DC21285 (Footbridge). + config DEBUG_DIGICOLOR_UA0 + bool "Kernel low-level debugging messages via Digicolor UA0" + depends on ARCH_DIGICOLOR + help + Say Y here if you want the debug print routines to direct + their output to the UA0 serial port in the CX92755. + config DEBUG_FOOTBRIDGE_COM1 bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1" depends on FOOTBRIDGE
@@ -1204,6 +1211,7 @@ config DEBUG_LL_INCLUDE default "debug/vt8500.S" if DEBUG_VT8500_UART0 default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1 default "debug/bcm63xx.S" if DEBUG_UART_BCM63XX + default "debug/digicolor.S" if DEBUG_DIGICOLOR_UA0 default "mach/debug-macro.S" # Compatibility options for PL01x
@@ -1320,7 +1328,7 @@ config DEBUG_UART_PHYS DEBUG_RCAR_GEN2_SCIF0 || DEBUG_RCAR_GEN2_SCIF2 || \ DEBUG_RMOBILE_SCIFA0 || DEBUG_RMOBILE_SCIFA1 || \ DEBUG_RMOBILE_SCIFA4 || DEBUG_S3C24XX_UART || \ - DEBUG_UART_BCM63XX || DEBUG_ASM9260_UART + DEBUG_UART_BCM63XX || DEBUG_ASM9260_UART || DEBUG_DIGICOLOR_UA0 config DEBUG_UART_VIRT hex "Virtual base address of debug UART"
@@ -1398,7 +1406,7 @@ config DEBUG_UART_VIRT depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \ DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \ DEBUG_MSM_UART || DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \ - DEBUG_UART_BCM63XX || DEBUG_ASM9260_UART + DEBUG_UART_BCM63XX || DEBUG_ASM9260_UART || DEBUG_DIGICOLOR_UA0 config DEBUG_UART_8250_SHIFT int "Register offset shift for the 8250 debug UART"
arch/arm/include/debug/digicolor.S new file +35 -0
@@ -0,0 +1,35 @@ +/* + * Debugging macro include header for Conexant Digicolor USART + * + * Copyright (C) 2014 Paradox Innovation Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * +*/ + +#define UA0_STATUS 0x0742 +#define UA0_EMI_REC 0x0744 + +#define UA0_STATUS_TX_READY 0x40 + +#ifdef CONFIG_DEBUG_UART_PHYS + .macro addruart, rp, rv, tmp + ldr \rp, =CONFIG_DEBUG_UART_PHYS + ldr \rv, =CONFIG_DEBUG_UART_VIRT + .endm +#endif + + .macro senduart,rd,rx + strb \rd, [\rx, #UA0_EMI_REC] + .endm + + .macro waituart,rd,rx + .endm + + .macro busyuart,rd,rx +1001: ldrb \rd, [\rx, #UA0_STATUS] + tst \rd, #UA0_STATUS_TX_READY + beq 1001b + .endm
Signature · 1 line
2.1.4
Olof Johansson
AppliedRe: [PATCH v3 2/4] ARM: digicolor: add low level debug support
Quoted 10 lines · Baruch Siach
Use the USART peripheral as UART for low level debug. Only the UA0 port is currently supported.
Acked-by Arnd Bergmann <[email protected]>Signed-off-by Baruch Siach <[email protected]>--- arch/arm/Kconfig.debug | 12 ++++++++++-- arch/arm/include/debug/digicolor.S | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 arch/arm/include/debug/digicolor.S
Applied, thanks.
-Olof
Baruch Siach
maintainerPATCH v3 3/4 ARM: digicolor: add minimal device tree description
In reply to Baruch Siachcx92755.dtsi describes CX92755 on chip peripherals. conexant_equinox.dts describes the Equinox evaluation board for the CX92755 SoC.
--- arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/conexant_equinox.dts | 74 +++++++++++++++++++++++ arch/arm/boot/dts/cx92755.dtsi | 107 +++++++++++++++++++++++++++++++++ 3 files changed, 182 insertions(+) create mode 100644 arch/arm/boot/dts/conexant_equinox.dts create mode 100644 arch/arm/boot/dts/cx92755.dtsi
arch/arm/boot/dts/Makefile +1 -0
@@ -75,6 +75,7 @@ dtb-$(CONFIG_ARCH_BRCMSTB) += \ bcm7445-bcm97445svmb.dtb dtb-$(CONFIG_ARCH_DAVINCI) += da850-enbw-cmc.dtb \ da850-evm.dtb +dtb-$(CONFIG_ARCH_DIGICOLOR) += conexant_equinox.dtb dtb-$(CONFIG_ARCH_EFM32) += efm32gg-dk3750.dtb dtb-$(CONFIG_ARCH_EXYNOS) += exynos3250-monk.dtb \ exynos3250-rinato.dtb \
arch/arm/boot/dts/conexant_equinox.dts new file +74 -0
74 lines not on this page · raw message
arch/arm/boot/dts/cx92755.dtsi new file +107 -0
107 lines not on this page · raw message
Signature · 1 line
2.1.4
Re: [PATCH v3 3/4] ARM: digicolor: add minimal device tree description
Hi,
arch/arm/boot/dts/conexant_equinox.dts
Quoted 30 lines · Baruch Siach
cx92755.dtsidescribes CX92755 on chip peripherals.conexant_equinox.dtsdescribes the Equinox evaluation board for the CX92755 SoC.Acked-by Arnd Bergmann <[email protected]>Signed-off-by Baruch Siach <[email protected]>--- arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/conexant_equinox.dts | 74 +++++++++++++++++++++++ arch/arm/boot/dts/cx92755.dtsi | 107 +++++++++++++++++++++++++++++++++ 3 files changed, 182 insertions(+) create mode 100644 arch/arm/boot/dts/conexant_equinox.dts create mode 100644 arch/arm/boot/dts/cx92755.dtsiarch/arm/boot/dts/Makefile +1
-0@@ -75,6 +75,7 @@ dtb-$(CONFIG_ARCH_BRCMSTB) += \ bcm7445-bcm97445svmb.dtb dtb-$(CONFIG_ARCH_DAVINCI) += da850-enbw-cmc.dtb \ da850-evm.dtb +dtb-$(CONFIG_ARCH_DIGICOLOR) += conexant_equinox.dtb dtb-$(CONFIG_ARCH_EFM32) += efm32gg-dk3750.dtb dtb-$(CONFIG_ARCH_EXYNOS) += exynos3250-monk.dtb \ exynos3250-rinato.dtb \arch/arm/boot/dts/conexant_equinox.dts new file +0
-0
To segment the namespace a bit, we ask that you prefix your dts files with the platform. What would be a suitable prefix here? conexant? digicolor?
-Olof
Baruch Siach
maintainerRe: [PATCH v3 3/4] ARM: digicolor: add minimal device tree description
Hi Olof,
Quoted 26 lines · Olof Johansson
Quoted 25 lines · Baruch Siach
cx92755.dtsidescribes CX92755 on chip peripherals.conexant_equinox.dtsdescribes the Equinox evaluation board for the CX92755 SoC.Acked-by Arnd Bergmann <[email protected]>Signed-off-by Baruch Siach <[email protected]>--- arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/conexant_equinox.dts | 74 +++++++++++++++++++++++ arch/arm/boot/dts/cx92755.dtsi | 107 +++++++++++++++++++++++++++++++++ 3 files changed, 182 insertions(+) create mode 100644 arch/arm/boot/dts/conexant_equinox.dts create mode 100644 arch/arm/boot/dts/cx92755.dtsiarch/arm/boot/dts/Makefile +1
-0@@ -75,6 +75,7 @@ dtb-$(CONFIG_ARCH_BRCMSTB) += \ bcm7445-bcm97445svmb.dtb dtb-$(CONFIG_ARCH_DAVINCI) += da850-enbw-cmc.dtb \ da850-evm.dtb +dtb-$(CONFIG_ARCH_DIGICOLOR) += conexant_equinox.dtb dtb-$(CONFIG_ARCH_EFM32) += efm32gg-dk3750.dtb dtb-$(CONFIG_ARCH_EXYNOS) += exynos3250-monk.dtb \ exynos3250-rinato.dtb \
Quoted 8 lines
arch/arm/boot/dts/conexant_equinox.dts
Quoted 5 lines
arch/arm/boot/dts/conexant_equinox.dts new file +0
-0To segment the namespace a bit, we ask that you prefix your dts files with the platform. What would be a suitable prefix here? conexant? digicolor?
I think we should use the actual SoC name, that is cx92755, just like the .dtsi file is named. I'll resend this patch with the name change and a few more incremental changes needed by the interrupt controller and timer drivers.
Thanks,
baruch
Signature · 3 lines
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -Baruch Siach
maintainerPATCH v3 4/4 ARM: devicetree: document supported Conexant Digicolor SoC
In reply to Baruch SiachOf the Digicolor SoCs series only CX92755 is currently supported.
--- Documentation/devicetree/bindings/arm/digicolor.txt | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 Documentation/devicetree/bindings/arm/digicolor.txt
Documentation/devicetree/bindings/arm/digicolor.txt new file +6 -0
@@ -0,0 +1,6 @@ +Conexant Digicolor Platforms Device Tree Bindings + +Each device tree must specify which Conexant Digicolor SoC it uses. +Must be the following compatible string: + + cnxt,cx92755
Signature · 1 line
2.1.4
Olof Johansson
AppliedRe: [PATCH v3 4/4] ARM: devicetree: document supported Conexant Digicolor SoC
Quoted 15 lines · Baruch Siach
Of the Digicolor SoCs series only CX92755 is currently supported.
Acked-by Arnd Bergmann <[email protected]>Signed-off-by Baruch Siach <[email protected]>--- Documentation/devicetree/bindings/arm/digicolor.txt | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 Documentation/devicetree/bindings/arm/digicolor.txtDocumentation/devicetree/bindings/arm/digicolor.txt new file +0
-0
Documentation/devicetree/bindings/arm/digicolor.txt line 6
Quoted 6 lines
Documentation/devicetree/bindings/arm/digicolor.txt new file +6
-0@@ -0,0 +1,6 @@ +Conexant Digicolor Platforms Device Tree Bindings + +Each device tree must specify which Conexant Digicolor SoC it uses. +Must be the following compatible string: + + cnxt,cx92755
Applied, thanks.
-Olof
Baruch Siach
maintainerHi ARM SoC maintainers,
Quoted 6 lines · Baruch Siach
This series adds initial support for the Conexant CX92755 SoC. The CX92755 is one of the Digicolor series of SoCs, all sharing many of the same peripherals. The code was tested on the CX92755 evaluation kit, AKA Equinox.
Uses attempting to try this code will most likely also want the UART/console driver available from https://patchwork.kernel.org/patch/5515861/.
Any chance of having this series merged for 3.20? Arnd has acked this already.
Thanks,
baruch
Quoted 58 lines
v3:
* Remove earlyprintk from dts bootargs (Arnd Bergmann)* Move aliases from chip .dtsi to board .dts (Arnd Bergmann)
* Add 'cpus' node (Mark Rutland)
* Add commit log messages to all patches (Arnd Bergmann)
* Add Arnd's ack
* Split
arch/armstuff from the irq and timer driversv2:
http://marc.info/?t=142074613900007&r=1&w=2* Remove .map_io assignment,
debug_llis enabled by default (Arnd Bergmann)* Migrate the irq driver to generic irq chip, simplifying the code somewhat (Arnd Bergmann)
* Change the timer dt binding, so that the 'reg' property points to the first "Agent Communication" register. This should improve the chance of reusing this binding for other SoCs in this series.
* Add the
CONTROL()andCOUNT()macros to the timer driver to make the code clearer.* Move
arch/armKconfigchanges from the clocksource driver patch to the base arch support patch to reduce dependency between themv1:
http://thread.gmane.org/gmane.linux.kernel/1855027Baruch Siach (4):
ARM: initial support for Conexant Digicolor CX92755 SoC
ARM: digicolor: add low level debug support
ARM: digicolor: add minimal device tree description
ARM: devicetree: document supported Conexant Digicolor SoC.../devicetree/bindings/arm/digicolor.txt | 6 ++ arch/arm/Kconfig | 2 + arch/arm/Kconfig.debug | 12 ++- arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/conexant_equinox.dts | 74 ++++++++++++++ arch/arm/boot/dts/cx92755.dtsi | 107 +++++++++++++++++++++ arch/arm/include/debug/digicolor.S | 35 +++++++ arch/arm/mach-digicolor/Kconfig | 5 + arch/arm/mach-digicolor/Makefile | 1 + arch/arm/mach-digicolor/digicolor.c | 18 ++++ 10 files changed, 259 insertions(+), 2 deletions(-) create mode 100644 Documentation/devicetree/bindings/arm/digicolor.txt create mode 100644 arch/arm/boot/dts/conexant_equinox.dts create mode 100644 arch/arm/boot/dts/cx92755.dtsi create mode 100644 arch/arm/include/debug/digicolor.S create mode 100644 arch/arm/mach-digicolor/Kconfig create mode 100644 arch/arm/mach-digicolor/Makefile create mode 100644 arch/arm/mach-digicolor/digicolor.c
Signature · 3 lines
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -Quoted 11 lines · Baruch Siach
Hi ARM SoC maintainers,
Quoted 6 lines · Baruch Siach
This series adds initial support for the Conexant CX92755 SoC. The CX92755 is one of the Digicolor series of SoCs, all sharing many of the same peripherals. The code was tested on the CX92755 evaluation kit, AKA Equinox.
Uses attempting to try this code will most likely also want the UART/console driver available from https://patchwork.kernel.org/patch/5515861/.
Any chance of having this series merged for 3.20? Arnd has acked this already.
Yep, just had a small comment on naming for the third patch, the rest have been applied now.
-Olof