ARM: Conexant Digicolor CX92755 SoC support
Subsystems (7)
Baruch Siach
maintainerv2 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/.
v2:
* 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 (8):
ARM: initial support for Conexant Digicolor CX92755 SoC
ARM: digicolor: add low level debug support
ARM: digicolor: add minimal device tree description
irqchip: devicetree: document Conexant Digicolor irq binding
irqchip: Conexant CX92755 interrupts controller driver
clocksource: devicetree: document Conexant Digicolor timer binding
clocksource: driver for Conexant Digicolor SoC timer
ARM: devicetree: document supported Conexant Digicolor SoC
.../devicetree/bindings/arm/digicolor.txt | 6 + .../bindings/interrupt-controller/digicolor-ic.txt | 20 +++ .../devicetree/bindings/timer/digicolor-timer.txt | 18 +++ arch/arm/Kconfig | 2 + arch/arm/Kconfig.debug | 12 +- arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/conexant_equinox.dts | 67 +++++++++ arch/arm/boot/dts/cx92755.dtsi | 103 +++++++++++++ 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 +++ drivers/clocksource/Makefile | 1 + drivers/clocksource/timer-digicolor.c | 164 +++++++++++++++++++++ drivers/irqchip/Makefile | 1 + drivers/irqchip/irq-digicolor.c | 112 ++++++++++++++ 16 files changed, 564 insertions(+), 2 deletions(-) create mode 100644 Documentation/devicetree/bindings/arm/digicolor.txt create mode 100644 Documentation/devicetree/bindings/interrupt-controller/digicolor-ic.txt create mode 100644 Documentation/devicetree/bindings/timer/digicolor-timer.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 create mode 100644 drivers/clocksource/timer-digicolor.c create mode 100644 drivers/irqchip/irq-digicolor.c
Signature · 1 line
2.1.4
Baruch Siach
maintainerPATCH v2 1/8 ARM: initial support for Conexant Digicolor CX92755 SoC
--- 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
Baruch Siach
maintainerPATCH v2 2/8 ARM: digicolor: add low level debug support
In reply to Baruch Siach--- 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
Baruch Siach
maintainerPATCH v2 3/8 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 | 67 +++++++++++++++++++++ arch/arm/boot/dts/cx92755.dtsi | 103 +++++++++++++++++++++++++++++++++ 3 files changed, 171 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 +67 -0
67 lines not on this page · raw message
arch/arm/boot/dts/cx92755.dtsi new file +103 -0
103 lines not on this page · raw message
Signature · 1 line
2.1.4
Arnd Bergmann
maintainerRe: [PATCH v2 3/8] ARM: digicolor: add minimal device tree description
arch/arm/boot/dts/conexant_equinox.dts line 63
Quoted 5 lines · On Thursday 08 January 2015 21:39:59 Baruch Siach wrote:
arch/arm/boot/dts/conexant_equinox.dts new file +5
-0+ + chosen { + bootargs = "console=ttyS0,115200 earlyprintk"; + }; +};
Please don't put earlyprintk into the dtb. Hopefully by the next merge window we will have working earlycon support as a replacement. You can already put an stdout-path property into the chosen node for this.
arch/arm/boot/dts/cx92755.dtsi line 58
Quoted 7 lines
arch/arm/boot/dts/cx92755.dtsi new file +7
-0+ interrupt-parent = <&intc>; + + aliases { + serial0 = &uart0; + serial1 = &uart1; + serial2 = &uart2; + };
Better move the aliases into the board specific file.
Arnd
Re: [PATCH v2 3/8] ARM: digicolor: add minimal device tree description
In reply to Baruch SiachQuoted 2 lines · Baruch Siach
cx92755.dtsidescribes CX92755 on chip peripherals.conexant_equinox.dtsdescribes the Equinox evaluation board for the CX92755 SoC.
I didn't spot any cpu nodes below. While that might happen to work at the moment for UP, there really should be a node for the boot CPU.
Thanks,
Mark.
Quoted 208 lines
Signed-off-by Baruch Siach <[email protected]>--- arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/conexant_equinox.dts | 67 +++++++++++++++++++++ arch/arm/boot/dts/cx92755.dtsi | 103 +++++++++++++++++++++++++++++++++ 3 files changed, 171 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 +67
-0@@ -0,0 +1,67 @@ +/* + * Device Tree file for the Conexant Equinox CX92755 EVK + * + * Author: Baruch Siach <[email protected]> + * + * Copyright (C) 2014 Paradox Innovation Ltd. + * + * This file is dual-licensed: you can use it either under the terms + * of the GPL or the X11 license, at your option. Note that this dual + * licensing only applies to this file, and not this project as a + * whole. + * + * a) This file is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This file is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * Or, alternatively, + * + * b) Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +/dts-v1/; + +#include "cx92755.dtsi" + +/ { + model = "Conexant Equinox CX92755 EVK"; + compatible = "cnxt,equinox", "cnxt,cx92755"; + + memory at 0 { + reg = <0 0x8000000>; + device_type = "memory"; + }; + + chosen { + bootargs = "console=ttyS0,115200 earlyprintk"; + }; +}; + +&uart0 { + status = "okay"; +};arch/arm/boot/dts/cx92755.dtsi new file +103
-0@@ -0,0 +1,103 @@ +/* + * Device Tree Include file for the Conexant Digicolor CX92755 SoC + * + * Author: Baruch Siach <[email protected]> + * + * Copyright (C) 2014 Paradox Innovation Ltd. + * + * This file is dual-licensed: you can use it either under the terms + * of the GPL or the X11 license, at your option. Note that this dual + * licensing only applies to this file, and not this project as a + * whole. + * + * a) This file is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This file is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * Or, alternatively, + * + * b) Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +#include "skeleton.dtsi" + +/ { + compatible = "cnxt,cx92755"; + + interrupt-parent = <&intc>; + + aliases { + serial0 = &uart0; + serial1 = &uart1; + serial2 = &uart2; + }; + + main_clk: main_clk { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <200000000>; + }; + + intc: intc at f0000000 { + compatible = "cnxt,cx92755-ic"; + interrupt-controller; + #interrupt-cells = <1>; + reg = <0xf0000000 0x1000>; + }; + + timer at f0000fc0 { + compatible = "cnxt,cx92755-timer"; + reg = <0xf0000fc0 0x40>; + interrupts = <19>, <31>, <34>, <35>, <52>, <53>, <54>, <55>; + clocks = <&main_clk>; + }; + + uart0: uart at f0000740 { + compatible = "cnxt,cx92755-usart"; + reg = <0xf0000740 0x20>; + clocks = <&main_clk>; + interrupts = <44>; + status = "disabled"; + }; + + uart1: uart at f0000760 { + compatible = "cnxt,cx92755-usart"; + reg = <0xf0000760 0x20>; + clocks = <&main_clk>; + interrupts = <45>; + status = "disabled"; + }; + + uart2: uart at f0000780 { + compatible = "cnxt,cx92755-usart"; + reg = <0xf0000780 0x20>; + clocks = <&main_clk>; + interrupts = <46>; + status = "disabled"; + }; +};Signature · 1 line
2.1.4
Baruch Siach
maintainerRe: [PATCH v2 3/8] ARM: digicolor: add minimal device tree description
Hi Mark,
Quoted 6 lines · Mark Rutland
Quoted 2 lines · Baruch Siach
cx92755.dtsidescribes CX92755 on chip peripherals.conexant_equinox.dtsdescribes the Equinox evaluation board for the CX92755 SoC.I didn't spot any cpu nodes below. While that might happen to work at the moment for UP, there really should be a node for the boot CPU.
OK. I'll add one in the next revision.
Thanks for reviewing.
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 v2 4/8 irqchip: devicetree: document Conexant Digicolor irq binding
In reply to Baruch Siach--- .../bindings/interrupt-controller/digicolor-ic.txt | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 Documentation/devicetree/bindings/interrupt-controller/digicolor-ic.txt
Documentation/devicetree/bindings/interrupt-controller/digicolor-ic.txt new file +20 -0
@@ -0,0 +1,20 @@ +Conexant Digicolor Interrupt Controller + +Required properties: + +- compatible : should be "cnxt,cx92755-ic" +- reg : Specifies base physical address and size of the MISC area, that is + where the interrupt controller registers are located +- interrupt-controller : Identifies the node as an interrupt controller +- #interrupt-cells : Specifies the number of cells needed to encode an + interrupt source. The value shall be 1. + +Example: + + intc: intc at f0000000 { + compatible = "cnxt,cx92755-ic"; + interrupt-controller; + #interrupt-cells = <1>; + reg = <0xf0000000 0x1000>; + }; +
Signature · 1 line
2.1.4
Re: [PATCH v2 4/8] irqchip: devicetree: document Conexant Digicolor irq binding
Quoted 12 lines · Baruch Siach
Signed-off-by Baruch Siach <[email protected]>--- .../bindings/interrupt-controller/digicolor-ic.txt | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 Documentation/devicetree/bindings/interrupt-controller/digicolor-ic.txtDocumentation/devicetree/bindings/interrupt-controller/digicolor-ic.txt new file +0
-0
Documentation/devicetree/bindings/interrupt-controller/digicolor-ic.txt line 5
Quoted 5 lines
Documentation/devicetree/bindings/interrupt-controller/digicolor-ic.txt new file +5
-0@@ -0,0 +1,20 @@ +Conexant Digicolor Interrupt Controller + +Required properties: + +- compatible : should be "cnxt,cx92755-ic"
I didn't spot "cnxt" in Documentation/devicetree/bindings/vendor-prefixes.txt in mainline, nor did I spot it added as part of this series. Please add it, assuming a patch doing so is not already queued elsewhere.
Documentation/devicetree/bindings/interrupt-controller/digicolor-ic.txt line 7
Quoted 2 lines
Documentation/devicetree/bindings/interrupt-controller/digicolor-ic.txt new file +2
-0+- reg : Specifies base physical address and size of the MISC area, that is + where the interrupt controller registers are located
Is this area shared with other devices?
Documentation/devicetree/bindings/interrupt-controller/digicolor-ic.txt line 10
Quoted 3 lines
Documentation/devicetree/bindings/interrupt-controller/digicolor-ic.txt new file +3
-0+- interrupt-controller : Identifies the node as an interrupt controller +- #interrupt-cells : Specifies the number of cells needed to encode an + interrupt source. The value shall be 1.
There is no configuration that can be applied to individual interrupt lines (e.g. trigger type)?
Thanks,
Mark.
Quoted 14 lines
Documentation/devicetree/bindings/interrupt-controller/digicolor-ic.txt new file +10
-0+ +Example: + + intc: intc at f0000000 { + compatible = "cnxt,cx92755-ic"; + interrupt-controller; + #interrupt-cells = <1>; + reg = <0xf0000000 0x1000>; + }; +Signature · 1 line
2.1.4
Baruch Siach
maintainerRe: [PATCH v2 4/8] irqchip: devicetree: document Conexant Digicolor irq binding
Hi Mark,
Quoted 7 lines · Mark Rutland
Quoted 6 lines · Baruch Siach
Signed-off-by Baruch Siach <[email protected]>--- .../bindings/interrupt-controller/digicolor-ic.txt | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 Documentation/devicetree/bindings/interrupt-controller/digicolor-ic.txt
Quoted 16 lines
Documentation/devicetree/bindings/interrupt-controller/digicolor-ic.txt line 5
Quoted 11 lines
Documentation/devicetree/bindings/interrupt-controller/digicolor-ic.txt new file +5
-0@@ -0,0 +1,20 @@ +Conexant Digicolor Interrupt Controller + +Required properties: + +- compatible : should be "cnxt,cx92755-ic"I didn't spot "cnxt" in
Documentation/devicetree/bindings/vendor-prefixes.txtin mainline, nor did I spot it added as part of this series. Please add it, assuming a patch doing so is not already queued elsewhere.
I sent a vendor-prefixes.txt update earlier as part of the UART driver series. Greg has it queued in the tty-testing branch of his tty tree
(https://git.kernel.org/cgit/linux/kernel/git/gregkh/tty.git/commit/?h=tty-testing&id=48c738631753186e0ec7dd0079beffb3a6f4bb5c).
Quoted 4 lines
Documentation/devicetree/bindings/interrupt-controller/digicolor-ic.txt line 7
Quoted 2 lines
Documentation/devicetree/bindings/interrupt-controller/digicolor-ic.txt new file +2
-0+- reg : Specifies base physical address and size of the MISC area, that is + where the interrupt controller registers are locatedIs this area shared with other devices?
Yes. The interrupt controller uses just a small area in this registers space (offsets 0x40 - 0x80). This trouble is that I also need access to the system global UC_IRQ_CONTROL register (offset 0x3a4), to configure interrupts channel and routing (IRQ/FIQ). I wonder whether register access via syscon is better.
Quoted 6 lines
Documentation/devicetree/bindings/interrupt-controller/digicolor-ic.txt line 10
Quoted 3 lines
Documentation/devicetree/bindings/interrupt-controller/digicolor-ic.txt new file +3
-0+- interrupt-controller : Identifies the node as an interrupt controller +- #interrupt-cells : Specifies the number of cells needed to encode an + interrupt source. The value shall be 1.There is no configuration that can be applied to individual interrupt lines (e.g. trigger type)?
No. There is none.
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 -Re: [PATCH v2 4/8] irqchip: devicetree: document Conexant Digicolor irq binding
In reply to Baruch SiachHello.
Quoted 16 lines · Baruch Siach
Signed-off-by Baruch Siach <[email protected]>--- .../bindings/interrupt-controller/digicolor-ic.txt | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+)create mode 100644
Documentation/devicetree/bindings/interrupt-controller/digicolor-ic.txtDocumentation/devicetree/bindings/interrupt-controller/digicolor-ic.txt new file +4
-0@@ -0,0 +1,20 @@ +Conexant Digicolor Interrupt Controller + +Required properties: +
Documentation/devicetree/bindings/interrupt-controller/digicolor-ic.txt line 14
Quoted 10 lines
Documentation/devicetree/bindings/interrupt-controller/digicolor-ic.txt new file +10
-0+- compatible : should be "cnxt,cx92755-ic" +- reg : Specifies base physical address and size of the MISC area, that is + where the interrupt controller registers are located +- interrupt-controller : Identifies the node as an interrupt controller +- #interrupt-cells : Specifies the number of cells needed to encode an + interrupt source. The value shall be 1. + +Example: + + intc: intc at f0000000 {
The node name should be "interrupt-controller at f0000000", according to the
ePAPR standard, section 2.2.2.
[...]
WBR, Sergei
Baruch Siach
maintainerRe: [PATCH v2 4/8] irqchip: devicetree: document Conexant Digicolor irq binding
Hi Sergei,
Quoted 23 lines · Sergei Shtylyov
Quoted 21 lines · Baruch Siach
Signed-off-by Baruch Siach <[email protected]>--- .../bindings/interrupt-controller/digicolor-ic.txt | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 Documentation/devicetree/bindings/interrupt-controller/digicolor-ic.txtDocumentation/devicetree/bindings/interrupt-controller/digicolor-ic.txt new file +9
-0@@ -0,0 +1,20 @@ +Conexant Digicolor Interrupt Controller + +Required properties: + +- compatible : should be "cnxt,cx92755-ic" +- reg : Specifies base physical address and size of the MISC area, that is + where the interrupt controller registers are located +- interrupt-controller : Identifies the node as an interrupt controller +- #interrupt-cells : Specifies the number of cells needed to encode an
Quoted 8 lines
Documentation/devicetree/bindings/interrupt-controller/digicolor-ic.txt line 14
Quoted 5 lines
Documentation/devicetree/bindings/interrupt-controller/digicolor-ic.txt new file +5
-0+ interrupt source. The value shall be 1. + +Example: + + intc: intc at f0000000 {The node name should be "interrupt-controller at
f0000000", according to the
ePAPR standard, section 2.2.2.
I'll change that in my next submission.
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 v2 5/8 irqchip: Conexant CX92755 interrupts controller driver
In reply to Baruch Siach--- drivers/irqchip/Makefile | 1 + drivers/irqchip/irq-digicolor.c | 112 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 113 insertions(+) create mode 100644 drivers/irqchip/irq-digicolor.c
drivers/irqchip/Makefile +1 -0
@@ -42,3 +42,4 @@ obj-$(CONFIG_BRCMSTB_L2_IRQ) += irq-brcmstb-l2.o obj-$(CONFIG_KEYSTONE_IRQ) += irq-keystone.o obj-$(CONFIG_MIPS_GIC) += irq-mips-gic.o obj-$(CONFIG_ARCH_MEDIATEK) += irq-mtk-sysirq.o +obj-$(CONFIG_ARCH_DIGICOLOR) += irq-digicolor.o
drivers/irqchip/irq-digicolor.c new file +112 -0
112 lines not on this page · raw message
Signature · 1 line
2.1.4
Baruch Siach
maintainerPATCH v2 6/8 clocksource: devicetree: document Conexant Digicolor timer binding
In reply to Baruch Siach--- .../devicetree/bindings/timer/digicolor-timer.txt | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 Documentation/devicetree/bindings/timer/digicolor-timer.txt
Documentation/devicetree/bindings/timer/digicolor-timer.txt new file +18 -0
@@ -0,0 +1,18 @@ +Conexant Digicolor SoCs Timer Controller + +Required properties: + +- compatible : should be "cnxt,cx92755-timer" +- reg : Specifies base physical address and size of the "Agent Communication" + timer registers +- interrupts : Contains 8 interrupts, one for each timer +- clocks: phandle to the main clock + +Example: + + timer at f0000fc0 { + compatible = "cnxt,cx92755-timer"; + reg = <0xf0000fc0 0x40>; + interrupts = <19>, <31>, <34>, <35>, <52>, <53>, <54>, <55>; + clocks = <&main_clk>; + };
Signature · 1 line
2.1.4
Baruch Siach
maintainerPATCH v2 7/8 clocksource: driver for Conexant Digicolor SoC timer
In reply to Baruch Siach--- drivers/clocksource/Makefile | 1 + drivers/clocksource/timer-digicolor.c | 164 ++++++++++++++++++++++++++++++++++ 2 files changed, 165 insertions(+) create mode 100644 drivers/clocksource/timer-digicolor.c
drivers/clocksource/Makefile +1 -0
@@ -10,6 +10,7 @@ obj-$(CONFIG_SH_TIMER_TMU) += sh_tmu.o obj-$(CONFIG_EM_TIMER_STI) += em_sti.o obj-$(CONFIG_CLKBLD_I8253) += i8253.o obj-$(CONFIG_CLKSRC_MMIO) += mmio.o +obj-$(CONFIG_ARCH_DIGICOLOR) += timer-digicolor.o obj-$(CONFIG_DW_APB_TIMER) += dw_apb_timer.o obj-$(CONFIG_DW_APB_TIMER_OF) += dw_apb_timer_of.o obj-$(CONFIG_CLKSRC_NOMADIK_MTU) += nomadik-mtu.o
drivers/clocksource/timer-digicolor.c new file +164 -0
164 lines not on this page · raw message
Signature · 1 line
2.1.4
Baruch Siach
maintainerPATCH v2 8/8 ARM: devicetree: document supported Conexant Digicolor SoC
In reply to Baruch Siach--- 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
Quoted 6 lines · On Thursday 08 January 2015 21:39:56 Baruch Siach wrote:
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/.
Looks great overall now.
I have just two more comments in one patch, and one general request:
Please add a patch description for every patch. The text above would be a good start for the first patch, but it would be lost in the git history if it's only in the cover letter.
other than that, feel free to add my
Once there are no more review comments, please submit the first three patches to arm at kernel.org, and send the other patches as separate series to the respective maintainers for irqchip and clocksource.
Arnd
Baruch Siach
maintainerHi Arnd,
Quoted 12 lines · Arnd Bergmann
Quoted 6 lines · On Thursday 08 January 2015 21:39:56 Baruch Siach wrote:
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/.
Looks great overall now.
I have just two more comments in one patch, and one general request:
Quoted 7 lines
Please add a patch description for every patch. The text above would be a good start for the first patch, but it would be lost in the git history if it's only in the cover letter.
other than that, feel free to add my
Acked-by Arnd Bergmann <[email protected]>
Thanks.
Quoted 3 lines
Once there are no more review comments, please submit the first three patches to arm at kernel.org, and send the other patches as separate series to the respective maintainers for irqchip and clocksource.
What about the last patch in this series (ARM: devicetree: document supported Conexant Digicolor SoC)? What tree should it go through.
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 -Arnd Bergmann
maintainerQuoted 6 lines · On Sunday 11 January 2015 13:33:27 Baruch Siach wrote:
Quoted 3 lines
Once there are no more review comments, please submit the first three patches to arm at kernel.org, and send the other patches as separate series to the respective maintainers for irqchip and clocksource.
What about the last patch in this series (ARM: devicetree: document supported Conexant Digicolor SoC)? What tree should it go through.
That can go along with the first three patches for the platform.
Arnd
Quoted 3 lines · Arnd Bergmann
Once there are no more review comments, please submit the first three patches to arm at kernel.org, and send the other patches as separate series to the respective maintainers for irqchip and clocksource.
I found this message while looking into CONFIG_ARCH_DIGICOLOR. That Kconfig macro entered linux-next in next-20150128. But there's no Kconfig symbol ARCH_DIGICOLOR yet in linux-next.
As you might be aware I try to check each linux-next release for Kconfig oddities. One of the oddities I tend _not_ to report are things like this. That is, SoC's, MFD's, or whatever, were specific drivers can get merged before the core functionality. In this case the irqchip driver got merged into linux-next while the core ARCH_DIGICOLOR code is still pending. And you happen to be involved with quite a bit of code in areas like that.
Pre-merges like this appear unavoidable (ie, other workflows would be more trouble for the people involved). But what would be a good moment to still raise an issue like this? Just to make sure things don't fall through the cracks. As in: "this driver got merged into mainline but do you know you can't yet build it?". Perhaps with each -rc1?
Paul Bolle
Baruch Siach
maintainerHi Paul,
Quoted 8 lines · Paul Bolle
Quoted 3 lines · Arnd Bergmann
Once there are no more review comments, please submit the first three patches to arm at kernel.org, and send the other patches as separate series to the respective maintainers for irqchip and clocksource.
I found this message while looking into
CONFIG_ARCH_DIGICOLOR. ThatKconfigmacro entered linux-next in next-20150128. But there's noKconfigsymbolARCH_DIGICOLORyet in linux-next.
Just for the record: base digicolor platform support is in the for-next branch of arm-soc.git since today. I guess it should appear in linux-next tomorrow.
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 -Hi Baruch,
Quoted 6 lines · Baruch Siach
Quoted 5 lines · Paul Bolle
Quoted 3 lines · Arnd Bergmann
Once there are no more review comments, please submit the first three patches to arm at kernel.org, and send the other patches as separate series to the respective maintainers for irqchip and clocksource.
Quoted 6 lines
Quoted 3 lines
I found this message while looking into
CONFIG_ARCH_DIGICOLOR. ThatKconfigmacro entered linux-next in next-20150128. But there's noKconfigsymbolARCH_DIGICOLORyet in linux-next.Just for the record: base digicolor platform support is in the for-next branch of arm-soc.git since today. I guess it should appear in linux-next tomorrow.
So I choose a less convincing patch series to discuss this. But that doesn't alter the general issue I raised. At least, I hope it doesn't.
Thanks!
Paul Bolle