* [PATCH v2 00/11] ARM: Versatile irq and clock DT support @ 2014-05-29 22:40 Rob Herring [not found] ` <1401403221-27523-1-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 0 siblings, 1 reply; 27+ messages in thread From: Rob Herring @ 2014-05-29 22:40 UTC (permalink / raw) To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree-u79uwXL29TY76Z2rM5mHXA Cc: Linus Walleij, arm-DgEjT+Ai2ygdnm+yROfE0A, Rob Herring, Arnd Bergmann, Ian Campbell, Jason Cooper, Kumar Gala, Mark Rutland, Mike Turquette, Pawel Moll, Russell King, Thomas Gleixner From: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> This series is some preparation work to fully convert Versatile platform to DT. This converts the IRQ initialization to DT based init and adds clocks to the Versatile DT. This doesn't actually enable using common clock framework, but that is only a matter of removing the old clock code and enabling the appropriate Kconfig options. This will be done when Versatile can be completely converted over to DT boot. I have that working in my tree, but full DT conversion is also dependent on DT PCI support. For v2, the all users (i.e. Integrator) of irq-versatile-fpga are converted over to use IRQCHIP_DECLARE. The pass-thru feature setup is using the compatible string instead of adding a new property. I've tested Versatile and Integrator under QEMU and Linus Walleij has tested an earlier version on Versatile AB h/w. Linus, This could use testing again on Versatile. Rob Rob Herring (11): dts: versatile: add missing irq controller properties irqchip: versatile-fpga: Add IRQCHIP_DECLARE support irqchip: versatile-fpga: add support for arm,versatile-sic ARM: integrator: convert to use irqchip_init ARM: versatile: remove init_irq hook for DT boot dts: versatile: add pl180 compatible strings dt/bindings: arm-boards: add binding for Versatile core module dt/bindings: add compatible string for versatile osc clock ARM: timer-sp: allow getting timer1 clock from DT to fallback to legacy clock dts: versatile: add clock tree clk: versatile: add versatile OSC support Documentation/devicetree/bindings/arm/arm-boards | 6 ++ .../devicetree/bindings/clock/arm-integrator.txt | 4 +- arch/arm/boot/dts/versatile-ab.dts | 81 +++++++++++++++++++++- arch/arm/boot/dts/versatile-pb.dts | 12 +++- arch/arm/common/timer-sp.c | 4 +- arch/arm/mach-integrator/integrator_ap.c | 10 +-- arch/arm/mach-integrator/integrator_cp.c | 10 +-- arch/arm/mach-versatile/versatile_dt.c | 1 - drivers/clk/versatile/Makefile | 3 +- .../{clk-integrator.c => clk-versatile.c} | 35 +++++++++- drivers/irqchip/irq-versatile-fpga.c | 17 ++++- 11 files changed, 155 insertions(+), 28 deletions(-) rename drivers/clk/versatile/{clk-integrator.c => clk-versatile.c} (66%) -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 27+ messages in thread
[parent not found: <1401403221-27523-1-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>]
* [PATCH v2 01/11] dts: versatile: add missing irq controller properties [not found] ` <1401403221-27523-1-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> @ 2014-05-29 22:40 ` Rob Herring 2014-05-29 22:40 ` [PATCH v2 02/11] irqchip: versatile-fpga: Add IRQCHIP_DECLARE support Rob Herring ` (10 subsequent siblings) 11 siblings, 0 replies; 27+ messages in thread From: Rob Herring @ 2014-05-29 22:40 UTC (permalink / raw) To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree-u79uwXL29TY76Z2rM5mHXA Cc: Linus Walleij, arm-DgEjT+Ai2ygdnm+yROfE0A, Rob Herring From: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> Add valid-mask and clear-mask properties to the versatile dts so the platform code doing the same thing can be removed. Signed-off-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> Acked-by: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org> --- v2: - Drop the passthru-mask property arch/arm/boot/dts/versatile-ab.dts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/arm/boot/dts/versatile-ab.dts b/arch/arm/boot/dts/versatile-ab.dts index e01e5a0..5dc3be7 100644 --- a/arch/arm/boot/dts/versatile-ab.dts +++ b/arch/arm/boot/dts/versatile-ab.dts @@ -59,6 +59,8 @@ interrupt-controller; #interrupt-cells = <1>; reg = <0x10140000 0x1000>; + clear-mask = <0xffffffff>; + valid-mask = <0xffffffff>; }; sic: intc@10003000 { @@ -68,6 +70,8 @@ reg = <0x10003000 0x1000>; interrupt-parent = <&vic>; interrupts = <31>; /* Cascaded to vic */ + clear-mask = <0xffffffff>; + valid-mask = <0xffc203f8>; }; dma@10130000 { -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 27+ messages in thread
* [PATCH v2 02/11] irqchip: versatile-fpga: Add IRQCHIP_DECLARE support [not found] ` <1401403221-27523-1-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2014-05-29 22:40 ` [PATCH v2 01/11] dts: versatile: add missing irq controller properties Rob Herring @ 2014-05-29 22:40 ` Rob Herring [not found] ` <1401403221-27523-3-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2014-05-29 22:40 ` [PATCH v2 03/11] irqchip: versatile-fpga: add support for arm,versatile-sic Rob Herring ` (9 subsequent siblings) 11 siblings, 1 reply; 27+ messages in thread From: Rob Herring @ 2014-05-29 22:40 UTC (permalink / raw) To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree-u79uwXL29TY76Z2rM5mHXA Cc: Linus Walleij, arm-DgEjT+Ai2ygdnm+yROfE0A, Rob Herring, Thomas Gleixner, Jason Cooper From: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> Add support for initialization using IRQCHIP_DECLARE. This also requires that the controller initialization set the handle_irq function pointer itself when it is a primary controller. Signed-off-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> Cc: Thomas Gleixner <tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org> Cc: Jason Cooper <jason-NLaQJdtUoK4Be96aLqz0jA@public.gmane.org> --- v2: - New patch drivers/irqchip/irq-versatile-fpga.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/irqchip/irq-versatile-fpga.c b/drivers/irqchip/irq-versatile-fpga.c index 3ae2bb8..8e0bb56 100644 --- a/drivers/irqchip/irq-versatile-fpga.c +++ b/drivers/irqchip/irq-versatile-fpga.c @@ -14,6 +14,8 @@ #include <asm/exception.h> #include <asm/mach/irq.h> +#include "irqchip.h" + #define IRQ_STATUS 0x00 #define IRQ_RAW_STATUS 0x04 #define IRQ_ENABLE_SET 0x08 @@ -201,8 +203,10 @@ int __init fpga_irq_of_init(struct device_node *node, /* Some chips are cascaded from a parent IRQ */ parent_irq = irq_of_parse_and_map(node, 0); - if (!parent_irq) + if (!parent_irq) { + set_handle_irq(fpga_handle_irq); parent_irq = -1; + } fpga_irq_init(base, node->name, 0, parent_irq, valid_mask, node); @@ -211,4 +215,5 @@ int __init fpga_irq_of_init(struct device_node *node, return 0; } +IRQCHIP_DECLARE(arm_fpga, "arm,versatile-fpga-irq", fpga_irq_of_init); #endif -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 27+ messages in thread
[parent not found: <1401403221-27523-3-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>]
* Re: [PATCH v2 02/11] irqchip: versatile-fpga: Add IRQCHIP_DECLARE support [not found] ` <1401403221-27523-3-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> @ 2014-05-30 9:43 ` Linus Walleij 0 siblings, 0 replies; 27+ messages in thread From: Linus Walleij @ 2014-05-30 9:43 UTC (permalink / raw) To: Rob Herring Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, arm-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, Rob Herring, Thomas Gleixner, Jason Cooper On Fri, May 30, 2014 at 12:40 AM, Rob Herring <robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > From: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> > > Add support for initialization using IRQCHIP_DECLARE. This also requires > that the controller initialization set the handle_irq function pointer > itself when it is a primary controller. > > Signed-off-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> > Cc: Thomas Gleixner <tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org> > Cc: Jason Cooper <jason-NLaQJdtUoK4Be96aLqz0jA@public.gmane.org> > --- > v2: > - New patch I just assume you know what you're doing ;-) Acked-by: Linus Walleij <linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 27+ messages in thread
* [PATCH v2 03/11] irqchip: versatile-fpga: add support for arm,versatile-sic [not found] ` <1401403221-27523-1-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2014-05-29 22:40 ` [PATCH v2 01/11] dts: versatile: add missing irq controller properties Rob Herring 2014-05-29 22:40 ` [PATCH v2 02/11] irqchip: versatile-fpga: Add IRQCHIP_DECLARE support Rob Herring @ 2014-05-29 22:40 ` Rob Herring [not found] ` <1401403221-27523-4-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2014-05-29 22:40 ` [PATCH v2 04/11] ARM: integrator: convert to use irqchip_init Rob Herring ` (8 subsequent siblings) 11 siblings, 1 reply; 27+ messages in thread From: Rob Herring @ 2014-05-29 22:40 UTC (permalink / raw) To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree-u79uwXL29TY76Z2rM5mHXA Cc: Linus Walleij, arm-DgEjT+Ai2ygdnm+yROfE0A, Rob Herring, Thomas Gleixner, Jason Cooper, Arnd Bergmann From: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> The secondary controller on ARM Versatile AB and PB is similar to other ARM platforms, but has a pass-thru register to connect some interrupts directly to interrupt inputs on the primary interrupt controller. The PIC_ENABLES register needs to be configured for proper operation when the matching node is arm,versatile-sic. Add the the necessary IRQCHIP_DECLARE as well. Signed-off-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> Cc: Thomas Gleixner <tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org> Cc: Jason Cooper <jason-NLaQJdtUoK4Be96aLqz0jA@public.gmane.org> Cc: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org> --- v2: - Rework to use the compatible string for pass-thru register setup. drivers/irqchip/irq-versatile-fpga.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/irqchip/irq-versatile-fpga.c b/drivers/irqchip/irq-versatile-fpga.c index 8e0bb56..90bf131 100644 --- a/drivers/irqchip/irq-versatile-fpga.c +++ b/drivers/irqchip/irq-versatile-fpga.c @@ -28,6 +28,8 @@ #define FIQ_ENABLE_SET 0x28 #define FIQ_ENABLE_CLEAR 0x2C +#define PIC_ENABLES 0x20 /* set interrupt pass through bits */ + /** * struct fpga_irq_data - irq data container for the FPGA IRQ controller * @base: memory offset in virtual memory @@ -213,7 +215,15 @@ int __init fpga_irq_of_init(struct device_node *node, writel(clear_mask, base + IRQ_ENABLE_CLEAR); writel(clear_mask, base + FIQ_ENABLE_CLEAR); + /* + * On Versatile AB/PB, some secondary interrupts have a direct + * pass-thru to the primary controller which need to be enabled. + */ + if (of_device_is_compatible(node, "arm,versatile-sic")) + writel(0xffd00000, base + PIC_ENABLES); + return 0; } IRQCHIP_DECLARE(arm_fpga, "arm,versatile-fpga-irq", fpga_irq_of_init); +IRQCHIP_DECLARE(arm_fpga_sic, "arm,versatile-sic", fpga_irq_of_init); #endif -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 27+ messages in thread
[parent not found: <1401403221-27523-4-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>]
* Re: [PATCH v2 03/11] irqchip: versatile-fpga: add support for arm,versatile-sic [not found] ` <1401403221-27523-4-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> @ 2014-05-30 9:46 ` Linus Walleij 0 siblings, 0 replies; 27+ messages in thread From: Linus Walleij @ 2014-05-30 9:46 UTC (permalink / raw) To: Rob Herring Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, arm-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, Rob Herring, Thomas Gleixner, Jason Cooper, Arnd Bergmann On Fri, May 30, 2014 at 12:40 AM, Rob Herring <robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > From: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> > > The secondary controller on ARM Versatile AB and PB is similar to > other ARM platforms, but has a pass-thru register to connect some > interrupts directly to interrupt inputs on the primary interrupt > controller. The PIC_ENABLES register needs to be configured for > proper operation when the matching node is arm,versatile-sic. Add the > the necessary IRQCHIP_DECLARE as well. > > Signed-off-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> > Cc: Thomas Gleixner <tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org> > Cc: Jason Cooper <jason-NLaQJdtUoK4Be96aLqz0jA@public.gmane.org> > Cc: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org> > --- > v2: > - Rework to use the compatible string for pass-thru register setup. Nice! > + /* > + * On Versatile AB/PB, some secondary interrupts have a direct > + * pass-thru to the primary controller which need to be enabled. > + */ > + if (of_device_is_compatible(node, "arm,versatile-sic")) > + writel(0xffd00000, base + PIC_ENABLES); Maybe mention that we pass thru IRQs 20 and 22 thru 31 and why exactly these IRQs? Anyway: Acked-by: Linus Walleij <linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 27+ messages in thread
* [PATCH v2 04/11] ARM: integrator: convert to use irqchip_init [not found] ` <1401403221-27523-1-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> ` (2 preceding siblings ...) 2014-05-29 22:40 ` [PATCH v2 03/11] irqchip: versatile-fpga: add support for arm,versatile-sic Rob Herring @ 2014-05-29 22:40 ` Rob Herring [not found] ` <1401403221-27523-5-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2014-05-29 22:40 ` [PATCH v2 05/11] ARM: versatile: remove init_irq hook for DT boot Rob Herring ` (7 subsequent siblings) 11 siblings, 1 reply; 27+ messages in thread From: Rob Herring @ 2014-05-29 22:40 UTC (permalink / raw) To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree-u79uwXL29TY76Z2rM5mHXA Cc: Linus Walleij, arm-DgEjT+Ai2ygdnm+yROfE0A, Rob Herring, Russell King From: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> Now that versatile-fpga irqchip has IRQCHIP_DECLARE support, the interrupt related initialization can be removed. Signed-off-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> Cc: Russell King <linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org> Cc: Linus Walleij <linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> --- v2: - New patch arch/arm/mach-integrator/integrator_ap.c | 10 ++-------- arch/arm/mach-integrator/integrator_cp.c | 10 ++-------- 2 files changed, 4 insertions(+), 16 deletions(-) diff --git a/arch/arm/mach-integrator/integrator_ap.c b/arch/arm/mach-integrator/integrator_ap.c index dd0cc67..645da16 100644 --- a/arch/arm/mach-integrator/integrator_ap.c +++ b/arch/arm/mach-integrator/integrator_ap.c @@ -31,7 +31,7 @@ #include <linux/clockchips.h> #include <linux/interrupt.h> #include <linux/io.h> -#include <linux/irqchip/versatile-fpga.h> +#include <linux/irqchip.h> #include <linux/mtd/physmap.h> #include <linux/clk.h> #include <linux/platform_data/clk-integrator.h> @@ -439,15 +439,10 @@ static void __init ap_of_timer_init(void) integrator_clockevent_init(rate, base, irq); } -static const struct of_device_id fpga_irq_of_match[] __initconst = { - { .compatible = "arm,versatile-fpga-irq", .data = fpga_irq_of_init, }, - { /* Sentinel */ } -}; - static void __init ap_init_irq_of(void) { cm_init(); - of_irq_init(fpga_irq_of_match); + irqchip_init(); } /* For the Device Tree, add in the UART callbacks as AUXDATA */ @@ -570,7 +565,6 @@ DT_MACHINE_START(INTEGRATOR_AP_DT, "ARM Integrator/AP (Device Tree)") .map_io = ap_map_io, .init_early = ap_init_early, .init_irq = ap_init_irq_of, - .handle_irq = fpga_handle_irq, .init_time = ap_of_timer_init, .init_machine = ap_init_of, .restart = integrator_restart, diff --git a/arch/arm/mach-integrator/integrator_cp.c b/arch/arm/mach-integrator/integrator_cp.c index a938242..7ade590 100644 --- a/arch/arm/mach-integrator/integrator_cp.c +++ b/arch/arm/mach-integrator/integrator_cp.c @@ -20,7 +20,7 @@ #include <linux/amba/clcd.h> #include <linux/amba/mmci.h> #include <linux/io.h> -#include <linux/irqchip/versatile-fpga.h> +#include <linux/irqchip.h> #include <linux/gfp.h> #include <linux/mtd/physmap.h> #include <linux/of_irq.h> @@ -235,15 +235,10 @@ static void __init intcp_init_early(void) sched_clock_register(intcp_read_sched_clock, 32, 24000000); } -static const struct of_device_id fpga_irq_of_match[] __initconst = { - { .compatible = "arm,versatile-fpga-irq", .data = fpga_irq_of_init, }, - { /* Sentinel */ } -}; - static void __init intcp_init_irq_of(void) { cm_init(); - of_irq_init(fpga_irq_of_match); + irqchip_init(); } /* @@ -340,7 +335,6 @@ DT_MACHINE_START(INTEGRATOR_CP_DT, "ARM Integrator/CP (Device Tree)") .map_io = intcp_map_io, .init_early = intcp_init_early, .init_irq = intcp_init_irq_of, - .handle_irq = fpga_handle_irq, .init_machine = intcp_init_of, .restart = integrator_restart, .dt_compat = intcp_dt_board_compat, -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 27+ messages in thread
[parent not found: <1401403221-27523-5-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>]
* Re: [PATCH v2 04/11] ARM: integrator: convert to use irqchip_init [not found] ` <1401403221-27523-5-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> @ 2014-05-30 9:47 ` Linus Walleij 0 siblings, 0 replies; 27+ messages in thread From: Linus Walleij @ 2014-05-30 9:47 UTC (permalink / raw) To: Rob Herring Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, arm-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, Rob Herring, Russell King On Fri, May 30, 2014 at 12:40 AM, Rob Herring <robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > From: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> > > Now that versatile-fpga irqchip has IRQCHIP_DECLARE support, the interrupt > related initialization can be removed. > > Signed-off-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> > Cc: Russell King <linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org> > Cc: Linus Walleij <linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> > --- > v2: > - New patch Awesomeness, Acked-by. Will provide Tested-by tags too once I get it running. Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 27+ messages in thread
* [PATCH v2 05/11] ARM: versatile: remove init_irq hook for DT boot [not found] ` <1401403221-27523-1-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> ` (3 preceding siblings ...) 2014-05-29 22:40 ` [PATCH v2 04/11] ARM: integrator: convert to use irqchip_init Rob Herring @ 2014-05-29 22:40 ` Rob Herring [not found] ` <1401403221-27523-6-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2014-05-29 22:40 ` [PATCH v2 06/11] dts: versatile: add pl180 compatible strings Rob Herring ` (6 subsequent siblings) 11 siblings, 1 reply; 27+ messages in thread From: Rob Herring @ 2014-05-29 22:40 UTC (permalink / raw) To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree-u79uwXL29TY76Z2rM5mHXA Cc: Linus Walleij, arm-DgEjT+Ai2ygdnm+yROfE0A, Rob Herring From: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> Now that versatile's irqchips are initialized from DT, the init_irq hook can be removed. Signed-off-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> Acked-by: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org> --- v2: - no change arch/arm/mach-versatile/versatile_dt.c | 1 - 1 file changed, 1 deletion(-) diff --git a/arch/arm/mach-versatile/versatile_dt.c b/arch/arm/mach-versatile/versatile_dt.c index 3621b00..9f9bc61 100644 --- a/arch/arm/mach-versatile/versatile_dt.c +++ b/arch/arm/mach-versatile/versatile_dt.c @@ -44,7 +44,6 @@ static const char *versatile_dt_match[] __initconst = { DT_MACHINE_START(VERSATILE_PB, "ARM-Versatile (Device Tree Support)") .map_io = versatile_map_io, .init_early = versatile_init_early, - .init_irq = versatile_init_irq, .init_machine = versatile_dt_init, .dt_compat = versatile_dt_match, .restart = versatile_restart, -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 27+ messages in thread
[parent not found: <1401403221-27523-6-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>]
* Re: [PATCH v2 05/11] ARM: versatile: remove init_irq hook for DT boot [not found] ` <1401403221-27523-6-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> @ 2014-05-30 9:48 ` Linus Walleij 0 siblings, 0 replies; 27+ messages in thread From: Linus Walleij @ 2014-05-30 9:48 UTC (permalink / raw) To: Rob Herring Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, arm-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, Rob Herring On Fri, May 30, 2014 at 12:40 AM, Rob Herring <robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > From: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> > > Now that versatile's irqchips are initialized from DT, the init_irq hook > can be removed. > > Signed-off-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> > Acked-by: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org> Acked-by: Linus Walleij <linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 27+ messages in thread
* [PATCH v2 06/11] dts: versatile: add pl180 compatible strings [not found] ` <1401403221-27523-1-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> ` (4 preceding siblings ...) 2014-05-29 22:40 ` [PATCH v2 05/11] ARM: versatile: remove init_irq hook for DT boot Rob Herring @ 2014-05-29 22:40 ` Rob Herring 2014-05-29 22:40 ` [PATCH v2 07/11] dt/bindings: arm-boards: add binding for Versatile core module Rob Herring ` (5 subsequent siblings) 11 siblings, 0 replies; 27+ messages in thread From: Rob Herring @ 2014-05-29 22:40 UTC (permalink / raw) To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree-u79uwXL29TY76Z2rM5mHXA Cc: Linus Walleij, arm-DgEjT+Ai2ygdnm+yROfE0A, Rob Herring From: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> While not needed for probing, add the "arm,pl180" compatible string for completeness. Signed-off-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> Acked-by: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org> Acked-by: Linus Walleij <linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> --- v2: - no change arch/arm/boot/dts/versatile-ab.dts | 2 +- arch/arm/boot/dts/versatile-pb.dts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm/boot/dts/versatile-ab.dts b/arch/arm/boot/dts/versatile-ab.dts index 5dc3be7..85c7b2b 100644 --- a/arch/arm/boot/dts/versatile-ab.dts +++ b/arch/arm/boot/dts/versatile-ab.dts @@ -187,7 +187,7 @@ interrupts = <24>; }; mmc@5000 { - compatible = "arm,primecell"; + compatible = "arm,pl180", "arm,primecell"; reg = < 0x5000 0x1000>; interrupts-extended = <&vic 22 &sic 2>; }; diff --git a/arch/arm/boot/dts/versatile-pb.dts b/arch/arm/boot/dts/versatile-pb.dts index 65f6577..a428541 100644 --- a/arch/arm/boot/dts/versatile-pb.dts +++ b/arch/arm/boot/dts/versatile-pb.dts @@ -39,7 +39,7 @@ interrupts = <5>; }; mmc@b000 { - compatible = "arm,primecell"; + compatible = "arm,pl180", "arm,primecell"; reg = <0xb000 0x1000>; interrupts-extended = <&vic 23 &sic 2>; }; -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 27+ messages in thread
* [PATCH v2 07/11] dt/bindings: arm-boards: add binding for Versatile core module [not found] ` <1401403221-27523-1-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> ` (5 preceding siblings ...) 2014-05-29 22:40 ` [PATCH v2 06/11] dts: versatile: add pl180 compatible strings Rob Herring @ 2014-05-29 22:40 ` Rob Herring [not found] ` <1401403221-27523-8-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2014-05-29 22:40 ` [PATCH v2 08/11] dt/bindings: add compatible string for versatile osc clock Rob Herring ` (4 subsequent siblings) 11 siblings, 1 reply; 27+ messages in thread From: Rob Herring @ 2014-05-29 22:40 UTC (permalink / raw) To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree-u79uwXL29TY76Z2rM5mHXA Cc: Linus Walleij, arm-DgEjT+Ai2ygdnm+yROfE0A, Rob Herring, Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala From: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> Add binding for the core module found on ARM versatile AB and PB boards. Signed-off-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> Cc: Pawel Moll <pawel.moll-5wv7dgnIgG8@public.gmane.org> Cc: Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org> Cc: Ian Campbell <ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org> Cc: Kumar Gala <galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> Acked-by: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org> --- v2: - no change Documentation/devicetree/bindings/arm/arm-boards | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Documentation/devicetree/bindings/arm/arm-boards b/Documentation/devicetree/bindings/arm/arm-boards index 3509707..c554ed3 100644 --- a/Documentation/devicetree/bindings/arm/arm-boards +++ b/Documentation/devicetree/bindings/arm/arm-boards @@ -86,3 +86,9 @@ Interrupt controllers: compatible = "arm,versatile-sic"; interrupt-controller; #interrupt-cells = <1>; + +Required nodes: + +- core-module: the root node to the Versatile platforms must have + a core-module with regs and the compatible strings + "arm,core-module-versatile", "syscon" -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 27+ messages in thread
[parent not found: <1401403221-27523-8-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>]
* Re: [PATCH v2 07/11] dt/bindings: arm-boards: add binding for Versatile core module [not found] ` <1401403221-27523-8-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> @ 2014-05-30 9:49 ` Linus Walleij 0 siblings, 0 replies; 27+ messages in thread From: Linus Walleij @ 2014-05-30 9:49 UTC (permalink / raw) To: Rob Herring Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, arm-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, Rob Herring, Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala On Fri, May 30, 2014 at 12:40 AM, Rob Herring <robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > From: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> > > Add binding for the core module found on ARM versatile AB and PB boards. > > Signed-off-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> > Cc: Pawel Moll <pawel.moll-5wv7dgnIgG8@public.gmane.org> > Cc: Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org> > Cc: Ian Campbell <ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org> > Cc: Kumar Gala <galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> > Acked-by: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org> Acked-by: Linus Walleij <linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> Makes me wonder if I should abstract out the Integrator core modules too. Oh well, put on my TODO... Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 27+ messages in thread
* [PATCH v2 08/11] dt/bindings: add compatible string for versatile osc clock [not found] ` <1401403221-27523-1-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> ` (6 preceding siblings ...) 2014-05-29 22:40 ` [PATCH v2 07/11] dt/bindings: arm-boards: add binding for Versatile core module Rob Herring @ 2014-05-29 22:40 ` Rob Herring 2014-05-29 22:40 ` [PATCH v2 09/11] ARM: timer-sp: allow getting timer1 clock from DT to fallback to legacy clock Rob Herring ` (3 subsequent siblings) 11 siblings, 0 replies; 27+ messages in thread From: Rob Herring @ 2014-05-29 22:40 UTC (permalink / raw) To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree-u79uwXL29TY76Z2rM5mHXA Cc: Linus Walleij, arm-DgEjT+Ai2ygdnm+yROfE0A, Rob Herring, Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala From: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> Signed-off-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> Cc: Pawel Moll <pawel.moll-5wv7dgnIgG8@public.gmane.org> Cc: Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org> Cc: Ian Campbell <ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org> Cc: Kumar Gala <galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> Acked-by: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org> Acked-by: Linus Walleij <linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> --- v2: - no change Documentation/devicetree/bindings/clock/arm-integrator.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/clock/arm-integrator.txt b/Documentation/devicetree/bindings/clock/arm-integrator.txt index 652914b..ecc6952 100644 --- a/Documentation/devicetree/bindings/clock/arm-integrator.txt +++ b/Documentation/devicetree/bindings/clock/arm-integrator.txt @@ -1,4 +1,4 @@ -Clock bindings for ARM Integrator Core Module clocks +Clock bindings for ARM Integrator and Versatile Core Module clocks Auxilary Oscillator Clock @@ -12,7 +12,7 @@ parent node. Required properties: -- compatible: must be "arm,integrator-cm-auxosc" +- compatible: must be "arm,integrator-cm-auxosc" or "arm,versatile-cm-auxosc" - #clock-cells: must be <0> Optional properties: -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 27+ messages in thread
* [PATCH v2 09/11] ARM: timer-sp: allow getting timer1 clock from DT to fallback to legacy clock [not found] ` <1401403221-27523-1-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> ` (7 preceding siblings ...) 2014-05-29 22:40 ` [PATCH v2 08/11] dt/bindings: add compatible string for versatile osc clock Rob Herring @ 2014-05-29 22:40 ` Rob Herring 2014-05-29 22:40 ` [PATCH v2 10/11] dts: versatile: add clock tree Rob Herring ` (2 subsequent siblings) 11 siblings, 0 replies; 27+ messages in thread From: Rob Herring @ 2014-05-29 22:40 UTC (permalink / raw) To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree-u79uwXL29TY76Z2rM5mHXA Cc: Linus Walleij, arm-DgEjT+Ai2ygdnm+yROfE0A, Rob Herring, Russell King From: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> The sp804 clocks may be specified in DT, but the kernel may still be using legacy clocks. This is handled if a single clock for sp804 is present, but not when 3 clocks are present. This prevents Versatile platforms from breaking when the DT has clocks added. Signed-off-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> Cc: Russell King <linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org> --- v2: - New patch necessary to handle DT with 3 clocks in sp804 node and still use the legacy non-DT clocks. arch/arm/common/timer-sp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm/common/timer-sp.c b/arch/arm/common/timer-sp.c index fd6bff0..1921132 100644 --- a/arch/arm/common/timer-sp.c +++ b/arch/arm/common/timer-sp.c @@ -233,13 +233,13 @@ static void __init sp804_of_init(struct device_node *np) if (IS_ERR(clk1)) clk1 = NULL; - /* Get the 2nd clock if the timer has 2 timer clocks */ + /* Get the 2nd clock if the timer has 3 timer clocks */ if (of_count_phandle_with_args(np, "clocks", "#clock-cells") == 3) { clk2 = of_clk_get(np, 1); if (IS_ERR(clk2)) { pr_err("sp804: %s clock not found: %d\n", np->name, (int)PTR_ERR(clk2)); - goto err; + clk2 = NULL; } } else clk2 = clk1; -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 27+ messages in thread
* [PATCH v2 10/11] dts: versatile: add clock tree [not found] ` <1401403221-27523-1-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> ` (8 preceding siblings ...) 2014-05-29 22:40 ` [PATCH v2 09/11] ARM: timer-sp: allow getting timer1 clock from DT to fallback to legacy clock Rob Herring @ 2014-05-29 22:40 ` Rob Herring [not found] ` <1401403221-27523-11-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2014-05-29 22:40 ` [PATCH v2 11/11] clk: versatile: add versatile OSC support Rob Herring 2014-05-30 9:41 ` [PATCH v2 00/11] ARM: Versatile irq and clock DT support Linus Walleij 11 siblings, 1 reply; 27+ messages in thread From: Rob Herring @ 2014-05-29 22:40 UTC (permalink / raw) To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree-u79uwXL29TY76Z2rM5mHXA Cc: Linus Walleij, arm-DgEjT+Ai2ygdnm+yROfE0A, Rob Herring From: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> The versatile dts is missing any clock data. Add the clocks. It is not clear from the documentation where pclk comes from, so for now it is a dummy clock which is sufficient for things to work. Signed-off-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> Acked-by: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org> --- v2: - Move and Rename crystal node. - Define pclk as 24MHz based on Linus W's input - fix timer to be 3 clocks and fix names - Fix sspclk clock name arch/arm/boot/dts/versatile-ab.dts | 75 ++++++++++++++++++++++++++++++++++++++ arch/arm/boot/dts/versatile-pb.dts | 10 +++++ 2 files changed, 85 insertions(+) diff --git a/arch/arm/boot/dts/versatile-ab.dts b/arch/arm/boot/dts/versatile-ab.dts index 85c7b2b..36c771a 100644 --- a/arch/arm/boot/dts/versatile-ab.dts +++ b/arch/arm/boot/dts/versatile-ab.dts @@ -19,6 +19,41 @@ reg = <0x0 0x08000000>; }; + xtal24mhz: xtal24mhz@24M { + #clock-cells = <0>; + compatible = "fixed-clock"; + clock-frequency = <24000000>; + }; + + core-module@10000000 { + compatible = "arm,core-module-versatile", "syscon"; + reg = <0x10000000 0x200>; + + /* OSC1 on AB, OSC4 on PB */ + osc1: cm_aux_osc@24M { + #clock-cells = <0>; + compatible = "arm,versatile-cm-auxosc"; + clocks = <&xtal24mhz>; + }; + + /* The timer clock is the 24 MHz oscillator divided to 1MHz */ + timclk: timclk@1M { + #clock-cells = <0>; + compatible = "fixed-factor-clock"; + clock-div = <24>; + clock-mult = <1>; + clocks = <&xtal24mhz>; + }; + + pclk: pclk@24M { + #clock-cells = <0>; + compatible = "fixed-factor-clock"; + clock-div = <1>; + clock-mult = <1>; + clocks = <&xtal24mhz>; + }; + }; + flash@34000000 { compatible = "arm,versatile-flash"; reg = <0x34000000 0x4000000>; @@ -78,63 +113,85 @@ compatible = "arm,pl081", "arm,primecell"; reg = <0x10130000 0x1000>; interrupts = <17>; + clocks = <&pclk>; + clock-names = "apb_pclk"; }; uart0: uart@101f1000 { compatible = "arm,pl011", "arm,primecell"; reg = <0x101f1000 0x1000>; interrupts = <12>; + clocks = <&xtal24mhz>, <&pclk>; + clock-names = "uartclk", "apb_pclk"; }; uart1: uart@101f2000 { compatible = "arm,pl011", "arm,primecell"; reg = <0x101f2000 0x1000>; interrupts = <13>; + clocks = <&xtal24mhz>, <&pclk>; + clock-names = "uartclk", "apb_pclk"; }; uart2: uart@101f3000 { compatible = "arm,pl011", "arm,primecell"; reg = <0x101f3000 0x1000>; interrupts = <14>; + clocks = <&xtal24mhz>, <&pclk>; + clock-names = "uartclk", "apb_pclk"; }; smc@10100000 { compatible = "arm,primecell"; reg = <0x10100000 0x1000>; + clocks = <&pclk>; + clock-names = "apb_pclk"; }; mpmc@10110000 { compatible = "arm,primecell"; reg = <0x10110000 0x1000>; + clocks = <&pclk>; + clock-names = "apb_pclk"; }; display@10120000 { compatible = "arm,pl110", "arm,primecell"; reg = <0x10120000 0x1000>; interrupts = <16>; + clocks = <&osc1>, <&pclk>; + clock-names = "clcd", "apb_pclk"; }; sctl@101e0000 { compatible = "arm,primecell"; reg = <0x101e0000 0x1000>; + clocks = <&pclk>; + clock-names = "apb_pclk"; }; watchdog@101e1000 { compatible = "arm,primecell"; reg = <0x101e1000 0x1000>; interrupts = <0>; + clocks = <&pclk>; + clock-names = "apb_pclk"; }; timer@101e2000 { compatible = "arm,sp804", "arm,primecell"; reg = <0x101e2000 0x1000>; interrupts = <4>; + clocks = <&timclk>, <&timclk>, <&pclk>; + clock-names = "timer0", "timer1", "apb_pclk"; }; timer@101e3000 { compatible = "arm,sp804", "arm,primecell"; reg = <0x101e3000 0x1000>; interrupts = <5>; + clocks = <&timclk>, <&timclk>, <&pclk>; + clock-names = "timer0", "timer1", "apb_pclk"; }; gpio0: gpio@101e4000 { @@ -145,6 +202,8 @@ #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; + clocks = <&pclk>; + clock-names = "apb_pclk"; }; gpio1: gpio@101e5000 { @@ -155,24 +214,32 @@ #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; + clocks = <&pclk>; + clock-names = "apb_pclk"; }; rtc@101e8000 { compatible = "arm,pl030", "arm,primecell"; reg = <0x101e8000 0x1000>; interrupts = <10>; + clocks = <&pclk>; + clock-names = "apb_pclk"; }; sci@101f0000 { compatible = "arm,primecell"; reg = <0x101f0000 0x1000>; interrupts = <15>; + clocks = <&pclk>; + clock-names = "apb_pclk"; }; ssp@101f4000 { compatible = "arm,pl022", "arm,primecell"; reg = <0x101f4000 0x1000>; interrupts = <11>; + clocks = <&xtal24mhz>, <&pclk>; + clock-names = "SSPCLK", "apb_pclk"; }; fpga { @@ -185,23 +252,31 @@ compatible = "arm,primecell"; reg = <0x4000 0x1000>; interrupts = <24>; + clocks = <&pclk>; + clock-names = "apb_pclk"; }; mmc@5000 { compatible = "arm,pl180", "arm,primecell"; reg = < 0x5000 0x1000>; interrupts-extended = <&vic 22 &sic 2>; + clocks = <&xtal24mhz>, <&pclk>; + clock-names = "mclk", "apb_pclk"; }; kmi@6000 { compatible = "arm,pl050", "arm,primecell"; reg = <0x6000 0x1000>; interrupt-parent = <&sic>; interrupts = <3>; + clocks = <&xtal24mhz>, <&pclk>; + clock-names = "KMIREFCLK", "apb_pclk"; }; kmi@7000 { compatible = "arm,pl050", "arm,primecell"; reg = <0x7000 0x1000>; interrupt-parent = <&sic>; interrupts = <4>; + clocks = <&xtal24mhz>, <&pclk>; + clock-names = "KMIREFCLK", "apb_pclk"; }; }; }; diff --git a/arch/arm/boot/dts/versatile-pb.dts b/arch/arm/boot/dts/versatile-pb.dts index a428541..d025048 100644 --- a/arch/arm/boot/dts/versatile-pb.dts +++ b/arch/arm/boot/dts/versatile-pb.dts @@ -13,6 +13,8 @@ #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; + clocks = <&pclk>; + clock-names = "apb_pclk"; }; gpio3: gpio@101e7000 { @@ -23,6 +25,8 @@ #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; + clocks = <&pclk>; + clock-names = "apb_pclk"; }; fpga { @@ -31,17 +35,23 @@ reg = <0x9000 0x1000>; interrupt-parent = <&sic>; interrupts = <6>; + clocks = <&xtal24mhz>, <&pclk>; + clock-names = "uartclk", "apb_pclk"; }; sci@a000 { compatible = "arm,primecell"; reg = <0xa000 0x1000>; interrupt-parent = <&sic>; interrupts = <5>; + clocks = <&xtal24mhz>; + clock-names = "apb_pclk"; }; mmc@b000 { compatible = "arm,pl180", "arm,primecell"; reg = <0xb000 0x1000>; interrupts-extended = <&vic 23 &sic 2>; + clocks = <&xtal24mhz>, <&pclk>; + clock-names = "mclk", "apb_pclk"; }; }; }; -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 27+ messages in thread
[parent not found: <1401403221-27523-11-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>]
* Re: [PATCH v2 10/11] dts: versatile: add clock tree [not found] ` <1401403221-27523-11-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> @ 2014-05-30 9:52 ` Linus Walleij 0 siblings, 0 replies; 27+ messages in thread From: Linus Walleij @ 2014-05-30 9:52 UTC (permalink / raw) To: Rob Herring Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, arm-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, Rob Herring On Fri, May 30, 2014 at 12:40 AM, Rob Herring <robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > From: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> > > The versatile dts is missing any clock data. Add the clocks. > > It is not clear from the documentation where pclk comes from, so for > now it is a dummy clock which is sufficient for things to work. > > Signed-off-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> > Acked-by: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org> > --- > v2: > - Move and Rename crystal node. > - Define pclk as 24MHz based on Linus W's input > - fix timer to be 3 clocks and fix names > - Fix sspclk clock name Reviewed-by: Linus Walleij <linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 27+ messages in thread
* [PATCH v2 11/11] clk: versatile: add versatile OSC support [not found] ` <1401403221-27523-1-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> ` (9 preceding siblings ...) 2014-05-29 22:40 ` [PATCH v2 10/11] dts: versatile: add clock tree Rob Herring @ 2014-05-29 22:40 ` Rob Herring [not found] ` <1401403221-27523-12-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2014-05-30 9:41 ` [PATCH v2 00/11] ARM: Versatile irq and clock DT support Linus Walleij 11 siblings, 1 reply; 27+ messages in thread From: Rob Herring @ 2014-05-29 22:40 UTC (permalink / raw) To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree-u79uwXL29TY76Z2rM5mHXA Cc: Linus Walleij, arm-DgEjT+Ai2ygdnm+yROfE0A, Rob Herring, Mike Turquette From: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> Versatile platforms share the same OSC programming model as Integrator platforms. Add the necessary parameters and init functions for Versatile. Renaming the file to clk-versatile.c as versatile is used as the family name for ARM, Ltd. boards. Signed-off-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> Cc: Mike Turquette <mturquette-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> Acked-by: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org> --- v2: - Rename clk-integrator.c to clk-versatile.c drivers/clk/versatile/Makefile | 3 +- .../{clk-integrator.c => clk-versatile.c} | 35 ++++++++++++++++++++-- 2 files changed, 34 insertions(+), 4 deletions(-) rename drivers/clk/versatile/{clk-integrator.c => clk-versatile.c} (66%) diff --git a/drivers/clk/versatile/Makefile b/drivers/clk/versatile/Makefile index c16ca78..9ee2b37 100644 --- a/drivers/clk/versatile/Makefile +++ b/drivers/clk/versatile/Makefile @@ -1,6 +1,5 @@ # Makefile for Versatile-specific clocks -obj-$(CONFIG_ICST) += clk-icst.o -obj-$(CONFIG_ARCH_INTEGRATOR) += clk-integrator.o +obj-$(CONFIG_ICST) += clk-icst.o clk-versatile.o obj-$(CONFIG_INTEGRATOR_IMPD1) += clk-impd1.o obj-$(CONFIG_ARCH_REALVIEW) += clk-realview.o obj-$(CONFIG_ARCH_VEXPRESS) += clk-vexpress.o clk-sp810.o diff --git a/drivers/clk/versatile/clk-integrator.c b/drivers/clk/versatile/clk-versatile.c similarity index 66% rename from drivers/clk/versatile/clk-integrator.c rename to drivers/clk/versatile/clk-versatile.c index 734c4b8..fe52a79 100644 --- a/drivers/clk/versatile/clk-integrator.c +++ b/drivers/clk/versatile/clk-versatile.c @@ -17,6 +17,9 @@ #define INTEGRATOR_HDR_LOCK_OFFSET 0x14 +#define VERSATILE_SYS_OSCCLCD_OFFSET 0x1c +#define VERSATILE_SYS_LOCK_OFFSET 0x20 + /* Base offset for the core module */ static void __iomem *cm_base; @@ -37,11 +40,27 @@ static const struct clk_icst_desc __initdata cm_auxosc_desc = { .lock_offset = INTEGRATOR_HDR_LOCK_OFFSET, }; -static void __init of_integrator_cm_osc_setup(struct device_node *np) +static const struct icst_params versatile_auxosc_params = { + .vco_max = ICST307_VCO_MAX, + .vco_min = ICST307_VCO_MIN, + .vd_min = 4 + 8, + .vd_max = 511 + 8, + .rd_min = 1 + 2, + .rd_max = 127 + 2, + .s2div = icst307_s2div, + .idx2s = icst307_idx2s, +}; + +static const struct clk_icst_desc versatile_auxosc_desc __initconst = { + .params = &versatile_auxosc_params, + .vco_offset = VERSATILE_SYS_OSCCLCD_OFFSET, + .lock_offset = VERSATILE_SYS_LOCK_OFFSET, +}; +static void __init cm_osc_setup(struct device_node *np, + const struct clk_icst_desc *desc) { struct clk *clk = ERR_PTR(-EINVAL); const char *clk_name = np->name; - const struct clk_icst_desc *desc = &cm_auxosc_desc; const char *parent_name; if (!cm_base) { @@ -65,5 +84,17 @@ static void __init of_integrator_cm_osc_setup(struct device_node *np) if (!IS_ERR(clk)) of_clk_add_provider(np, of_clk_src_simple_get, clk); } + +static void __init of_integrator_cm_osc_setup(struct device_node *np) +{ + cm_osc_setup(np, &cm_auxosc_desc); +} CLK_OF_DECLARE(integrator_cm_auxosc_clk, "arm,integrator-cm-auxosc", of_integrator_cm_osc_setup); + +static void __init of_versatile_cm_osc_setup(struct device_node *np) +{ + cm_osc_setup(np, &versatile_auxosc_desc); +} +CLK_OF_DECLARE(versatile_cm_auxosc_clk, + "arm,versatile-cm-auxosc", of_versatile_cm_osc_setup); -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 27+ messages in thread
[parent not found: <1401403221-27523-12-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>]
* Re: [PATCH v2 11/11] clk: versatile: add versatile OSC support [not found] ` <1401403221-27523-12-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> @ 2014-05-30 9:55 ` Linus Walleij 2014-05-30 23:03 ` Mike Turquette 1 sibling, 0 replies; 27+ messages in thread From: Linus Walleij @ 2014-05-30 9:55 UTC (permalink / raw) To: Rob Herring Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, arm-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, Rob Herring, Mike Turquette On Fri, May 30, 2014 at 12:40 AM, Rob Herring <robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > From: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> > > Versatile platforms share the same OSC programming model as Integrator > platforms. Add the necessary parameters and init functions for Versatile. > > Renaming the file to clk-versatile.c as versatile is used as the family > name for ARM, Ltd. boards. > > Signed-off-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> > Cc: Mike Turquette <mturquette-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> > Acked-by: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org> > --- > v2: > - Rename clk-integrator.c to clk-versatile.c Nice! > --- a/drivers/clk/versatile/clk-integrator.c > +++ b/drivers/clk/versatile/clk-versatile.c I bet you want to augment the comments in the top of the file header a bit to mention the Versatiles. With that: Reviewed-by: Linus Walleij <linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH v2 11/11] clk: versatile: add versatile OSC support [not found] ` <1401403221-27523-12-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2014-05-30 9:55 ` Linus Walleij @ 2014-05-30 23:03 ` Mike Turquette 2014-05-31 2:38 ` Rob Herring 1 sibling, 1 reply; 27+ messages in thread From: Mike Turquette @ 2014-05-30 23:03 UTC (permalink / raw) To: Rob Herring, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree-u79uwXL29TY76Z2rM5mHXA Cc: Linus Walleij, arm-DgEjT+Ai2ygdnm+yROfE0A, Rob Herring Quoting Rob Herring (2014-05-29 15:40:21) > From: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> > > Versatile platforms share the same OSC programming model as Integrator > platforms. Add the necessary parameters and init functions for Versatile. > > Renaming the file to clk-versatile.c as versatile is used as the family > name for ARM, Ltd. boards. > > Signed-off-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> > Cc: Mike Turquette <mturquette-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> > Acked-by: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org> So it's OK to rename the file and add the new stuff in one commit? I thought there were some guidelines about doing renames separately... Regards, Mike > --- > v2: > - Rename clk-integrator.c to clk-versatile.c > > drivers/clk/versatile/Makefile | 3 +- > .../{clk-integrator.c => clk-versatile.c} | 35 ++++++++++++++++++++-- > 2 files changed, 34 insertions(+), 4 deletions(-) > rename drivers/clk/versatile/{clk-integrator.c => clk-versatile.c} (66%) > > diff --git a/drivers/clk/versatile/Makefile b/drivers/clk/versatile/Makefile > index c16ca78..9ee2b37 100644 > --- a/drivers/clk/versatile/Makefile > +++ b/drivers/clk/versatile/Makefile > @@ -1,6 +1,5 @@ > # Makefile for Versatile-specific clocks > -obj-$(CONFIG_ICST) += clk-icst.o > -obj-$(CONFIG_ARCH_INTEGRATOR) += clk-integrator.o > +obj-$(CONFIG_ICST) += clk-icst.o clk-versatile.o > obj-$(CONFIG_INTEGRATOR_IMPD1) += clk-impd1.o > obj-$(CONFIG_ARCH_REALVIEW) += clk-realview.o > obj-$(CONFIG_ARCH_VEXPRESS) += clk-vexpress.o clk-sp810.o > diff --git a/drivers/clk/versatile/clk-integrator.c b/drivers/clk/versatile/clk-versatile.c > similarity index 66% > rename from drivers/clk/versatile/clk-integrator.c > rename to drivers/clk/versatile/clk-versatile.c > index 734c4b8..fe52a79 100644 > --- a/drivers/clk/versatile/clk-integrator.c > +++ b/drivers/clk/versatile/clk-versatile.c > @@ -17,6 +17,9 @@ > > #define INTEGRATOR_HDR_LOCK_OFFSET 0x14 > > +#define VERSATILE_SYS_OSCCLCD_OFFSET 0x1c > +#define VERSATILE_SYS_LOCK_OFFSET 0x20 > + > /* Base offset for the core module */ > static void __iomem *cm_base; > > @@ -37,11 +40,27 @@ static const struct clk_icst_desc __initdata cm_auxosc_desc = { > .lock_offset = INTEGRATOR_HDR_LOCK_OFFSET, > }; > > -static void __init of_integrator_cm_osc_setup(struct device_node *np) > +static const struct icst_params versatile_auxosc_params = { > + .vco_max = ICST307_VCO_MAX, > + .vco_min = ICST307_VCO_MIN, > + .vd_min = 4 + 8, > + .vd_max = 511 + 8, > + .rd_min = 1 + 2, > + .rd_max = 127 + 2, > + .s2div = icst307_s2div, > + .idx2s = icst307_idx2s, > +}; > + > +static const struct clk_icst_desc versatile_auxosc_desc __initconst = { > + .params = &versatile_auxosc_params, > + .vco_offset = VERSATILE_SYS_OSCCLCD_OFFSET, > + .lock_offset = VERSATILE_SYS_LOCK_OFFSET, > +}; > +static void __init cm_osc_setup(struct device_node *np, > + const struct clk_icst_desc *desc) > { > struct clk *clk = ERR_PTR(-EINVAL); > const char *clk_name = np->name; > - const struct clk_icst_desc *desc = &cm_auxosc_desc; > const char *parent_name; > > if (!cm_base) { > @@ -65,5 +84,17 @@ static void __init of_integrator_cm_osc_setup(struct device_node *np) > if (!IS_ERR(clk)) > of_clk_add_provider(np, of_clk_src_simple_get, clk); > } > + > +static void __init of_integrator_cm_osc_setup(struct device_node *np) > +{ > + cm_osc_setup(np, &cm_auxosc_desc); > +} > CLK_OF_DECLARE(integrator_cm_auxosc_clk, > "arm,integrator-cm-auxosc", of_integrator_cm_osc_setup); > + > +static void __init of_versatile_cm_osc_setup(struct device_node *np) > +{ > + cm_osc_setup(np, &versatile_auxosc_desc); > +} > +CLK_OF_DECLARE(versatile_cm_auxosc_clk, > + "arm,versatile-cm-auxosc", of_versatile_cm_osc_setup); > -- > 1.9.1 > -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH v2 11/11] clk: versatile: add versatile OSC support 2014-05-30 23:03 ` Mike Turquette @ 2014-05-31 2:38 ` Rob Herring 2014-06-02 21:08 ` Mike Turquette 0 siblings, 1 reply; 27+ messages in thread From: Rob Herring @ 2014-05-31 2:38 UTC (permalink / raw) To: Mike Turquette Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Linus Walleij, arm-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org On Fri, May 30, 2014 at 6:03 PM, Mike Turquette <mturquette-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> wrote: > Quoting Rob Herring (2014-05-29 15:40:21) >> From: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> >> >> Versatile platforms share the same OSC programming model as Integrator >> platforms. Add the necessary parameters and init functions for Versatile. >> >> Renaming the file to clk-versatile.c as versatile is used as the family >> name for ARM, Ltd. boards. >> >> Signed-off-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> >> Cc: Mike Turquette <mturquette-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> >> Acked-by: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org> > > So it's OK to rename the file and add the new stuff in one commit? I > thought there were some guidelines about doing renames separately... You don't want to move of a chunk of code and change it along the way because you can't see the real changes, but a file rename does not affect the diff here (other than the Makefile change). Rob > > Regards, > Mike > >> --- >> v2: >> - Rename clk-integrator.c to clk-versatile.c >> >> drivers/clk/versatile/Makefile | 3 +- >> .../{clk-integrator.c => clk-versatile.c} | 35 ++++++++++++++++++++-- >> 2 files changed, 34 insertions(+), 4 deletions(-) >> rename drivers/clk/versatile/{clk-integrator.c => clk-versatile.c} (66%) >> >> diff --git a/drivers/clk/versatile/Makefile b/drivers/clk/versatile/Makefile >> index c16ca78..9ee2b37 100644 >> --- a/drivers/clk/versatile/Makefile >> +++ b/drivers/clk/versatile/Makefile >> @@ -1,6 +1,5 @@ >> # Makefile for Versatile-specific clocks >> -obj-$(CONFIG_ICST) += clk-icst.o >> -obj-$(CONFIG_ARCH_INTEGRATOR) += clk-integrator.o >> +obj-$(CONFIG_ICST) += clk-icst.o clk-versatile.o >> obj-$(CONFIG_INTEGRATOR_IMPD1) += clk-impd1.o >> obj-$(CONFIG_ARCH_REALVIEW) += clk-realview.o >> obj-$(CONFIG_ARCH_VEXPRESS) += clk-vexpress.o clk-sp810.o >> diff --git a/drivers/clk/versatile/clk-integrator.c b/drivers/clk/versatile/clk-versatile.c >> similarity index 66% >> rename from drivers/clk/versatile/clk-integrator.c >> rename to drivers/clk/versatile/clk-versatile.c >> index 734c4b8..fe52a79 100644 >> --- a/drivers/clk/versatile/clk-integrator.c >> +++ b/drivers/clk/versatile/clk-versatile.c >> @@ -17,6 +17,9 @@ >> >> #define INTEGRATOR_HDR_LOCK_OFFSET 0x14 >> >> +#define VERSATILE_SYS_OSCCLCD_OFFSET 0x1c >> +#define VERSATILE_SYS_LOCK_OFFSET 0x20 >> + >> /* Base offset for the core module */ >> static void __iomem *cm_base; >> >> @@ -37,11 +40,27 @@ static const struct clk_icst_desc __initdata cm_auxosc_desc = { >> .lock_offset = INTEGRATOR_HDR_LOCK_OFFSET, >> }; >> >> -static void __init of_integrator_cm_osc_setup(struct device_node *np) >> +static const struct icst_params versatile_auxosc_params = { >> + .vco_max = ICST307_VCO_MAX, >> + .vco_min = ICST307_VCO_MIN, >> + .vd_min = 4 + 8, >> + .vd_max = 511 + 8, >> + .rd_min = 1 + 2, >> + .rd_max = 127 + 2, >> + .s2div = icst307_s2div, >> + .idx2s = icst307_idx2s, >> +}; >> + >> +static const struct clk_icst_desc versatile_auxosc_desc __initconst = { >> + .params = &versatile_auxosc_params, >> + .vco_offset = VERSATILE_SYS_OSCCLCD_OFFSET, >> + .lock_offset = VERSATILE_SYS_LOCK_OFFSET, >> +}; >> +static void __init cm_osc_setup(struct device_node *np, >> + const struct clk_icst_desc *desc) >> { >> struct clk *clk = ERR_PTR(-EINVAL); >> const char *clk_name = np->name; >> - const struct clk_icst_desc *desc = &cm_auxosc_desc; >> const char *parent_name; >> >> if (!cm_base) { >> @@ -65,5 +84,17 @@ static void __init of_integrator_cm_osc_setup(struct device_node *np) >> if (!IS_ERR(clk)) >> of_clk_add_provider(np, of_clk_src_simple_get, clk); >> } >> + >> +static void __init of_integrator_cm_osc_setup(struct device_node *np) >> +{ >> + cm_osc_setup(np, &cm_auxosc_desc); >> +} >> CLK_OF_DECLARE(integrator_cm_auxosc_clk, >> "arm,integrator-cm-auxosc", of_integrator_cm_osc_setup); >> + >> +static void __init of_versatile_cm_osc_setup(struct device_node *np) >> +{ >> + cm_osc_setup(np, &versatile_auxosc_desc); >> +} >> +CLK_OF_DECLARE(versatile_cm_auxosc_clk, >> + "arm,versatile-cm-auxosc", of_versatile_cm_osc_setup); >> -- >> 1.9.1 >> -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH v2 11/11] clk: versatile: add versatile OSC support 2014-05-31 2:38 ` Rob Herring @ 2014-06-02 21:08 ` Mike Turquette 0 siblings, 0 replies; 27+ messages in thread From: Mike Turquette @ 2014-06-02 21:08 UTC (permalink / raw) To: Rob Herring Cc: devicetree@vger.kernel.org, Linus Walleij, arm@kernel.org, linux-arm-kernel@lists.infradead.org Quoting Rob Herring (2014-05-30 19:38:44) > On Fri, May 30, 2014 at 6:03 PM, Mike Turquette <mturquette@linaro.org> wrote: > > Quoting Rob Herring (2014-05-29 15:40:21) > >> From: Rob Herring <robh@kernel.org> > >> > >> Versatile platforms share the same OSC programming model as Integrator > >> platforms. Add the necessary parameters and init functions for Versatile. > >> > >> Renaming the file to clk-versatile.c as versatile is used as the family > >> name for ARM, Ltd. boards. > >> > >> Signed-off-by: Rob Herring <robh@kernel.org> > >> Cc: Mike Turquette <mturquette@linaro.org> > >> Acked-by: Arnd Bergmann <arnd@arndb.de> > > > > So it's OK to rename the file and add the new stuff in one commit? I > > thought there were some guidelines about doing renames separately... > > You don't want to move of a chunk of code and change it along the way > because you can't see the real changes, but a file rename does not > affect the diff here (other than the Makefile change). Sounds good. Let me know if you want me to take this into clk-next after -rc1 drops. Otherwise: Acked-by: Mike Turquette <mturquette@linaro.org> Regards, Mike > > Rob > > > > > Regards, > > Mike > > > >> --- > >> v2: > >> - Rename clk-integrator.c to clk-versatile.c > >> > >> drivers/clk/versatile/Makefile | 3 +- > >> .../{clk-integrator.c => clk-versatile.c} | 35 ++++++++++++++++++++-- > >> 2 files changed, 34 insertions(+), 4 deletions(-) > >> rename drivers/clk/versatile/{clk-integrator.c => clk-versatile.c} (66%) > >> > >> diff --git a/drivers/clk/versatile/Makefile b/drivers/clk/versatile/Makefile > >> index c16ca78..9ee2b37 100644 > >> --- a/drivers/clk/versatile/Makefile > >> +++ b/drivers/clk/versatile/Makefile > >> @@ -1,6 +1,5 @@ > >> # Makefile for Versatile-specific clocks > >> -obj-$(CONFIG_ICST) += clk-icst.o > >> -obj-$(CONFIG_ARCH_INTEGRATOR) += clk-integrator.o > >> +obj-$(CONFIG_ICST) += clk-icst.o clk-versatile.o > >> obj-$(CONFIG_INTEGRATOR_IMPD1) += clk-impd1.o > >> obj-$(CONFIG_ARCH_REALVIEW) += clk-realview.o > >> obj-$(CONFIG_ARCH_VEXPRESS) += clk-vexpress.o clk-sp810.o > >> diff --git a/drivers/clk/versatile/clk-integrator.c b/drivers/clk/versatile/clk-versatile.c > >> similarity index 66% > >> rename from drivers/clk/versatile/clk-integrator.c > >> rename to drivers/clk/versatile/clk-versatile.c > >> index 734c4b8..fe52a79 100644 > >> --- a/drivers/clk/versatile/clk-integrator.c > >> +++ b/drivers/clk/versatile/clk-versatile.c > >> @@ -17,6 +17,9 @@ > >> > >> #define INTEGRATOR_HDR_LOCK_OFFSET 0x14 > >> > >> +#define VERSATILE_SYS_OSCCLCD_OFFSET 0x1c > >> +#define VERSATILE_SYS_LOCK_OFFSET 0x20 > >> + > >> /* Base offset for the core module */ > >> static void __iomem *cm_base; > >> > >> @@ -37,11 +40,27 @@ static const struct clk_icst_desc __initdata cm_auxosc_desc = { > >> .lock_offset = INTEGRATOR_HDR_LOCK_OFFSET, > >> }; > >> > >> -static void __init of_integrator_cm_osc_setup(struct device_node *np) > >> +static const struct icst_params versatile_auxosc_params = { > >> + .vco_max = ICST307_VCO_MAX, > >> + .vco_min = ICST307_VCO_MIN, > >> + .vd_min = 4 + 8, > >> + .vd_max = 511 + 8, > >> + .rd_min = 1 + 2, > >> + .rd_max = 127 + 2, > >> + .s2div = icst307_s2div, > >> + .idx2s = icst307_idx2s, > >> +}; > >> + > >> +static const struct clk_icst_desc versatile_auxosc_desc __initconst = { > >> + .params = &versatile_auxosc_params, > >> + .vco_offset = VERSATILE_SYS_OSCCLCD_OFFSET, > >> + .lock_offset = VERSATILE_SYS_LOCK_OFFSET, > >> +}; > >> +static void __init cm_osc_setup(struct device_node *np, > >> + const struct clk_icst_desc *desc) > >> { > >> struct clk *clk = ERR_PTR(-EINVAL); > >> const char *clk_name = np->name; > >> - const struct clk_icst_desc *desc = &cm_auxosc_desc; > >> const char *parent_name; > >> > >> if (!cm_base) { > >> @@ -65,5 +84,17 @@ static void __init of_integrator_cm_osc_setup(struct device_node *np) > >> if (!IS_ERR(clk)) > >> of_clk_add_provider(np, of_clk_src_simple_get, clk); > >> } > >> + > >> +static void __init of_integrator_cm_osc_setup(struct device_node *np) > >> +{ > >> + cm_osc_setup(np, &cm_auxosc_desc); > >> +} > >> CLK_OF_DECLARE(integrator_cm_auxosc_clk, > >> "arm,integrator-cm-auxosc", of_integrator_cm_osc_setup); > >> + > >> +static void __init of_versatile_cm_osc_setup(struct device_node *np) > >> +{ > >> + cm_osc_setup(np, &versatile_auxosc_desc); > >> +} > >> +CLK_OF_DECLARE(versatile_cm_auxosc_clk, > >> + "arm,versatile-cm-auxosc", of_versatile_cm_osc_setup); > >> -- > >> 1.9.1 > >> ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH v2 00/11] ARM: Versatile irq and clock DT support [not found] ` <1401403221-27523-1-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> ` (10 preceding siblings ...) 2014-05-29 22:40 ` [PATCH v2 11/11] clk: versatile: add versatile OSC support Rob Herring @ 2014-05-30 9:41 ` Linus Walleij [not found] ` <CACRpkdZhtAG7ThDvzTi6UBrF=ALd3huHquWQ+t-aaSBZOAfy6g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 11 siblings, 1 reply; 27+ messages in thread From: Linus Walleij @ 2014-05-30 9:41 UTC (permalink / raw) To: Rob Herring Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, arm-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, Rob Herring, Arnd Bergmann, Ian Campbell, Jason Cooper, Kumar Gala, Mark Rutland, Mike Turquette, Pawel Moll, Russell King, Thomas Gleixner On Fri, May 30, 2014 at 12:40 AM, Rob Herring <robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > Linus, This could use testing again on Versatile. OK I should probably test on Versatile *and* the Integrators since these are also affected. Do you have a branch I can pull? Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 27+ messages in thread
[parent not found: <CACRpkdZhtAG7ThDvzTi6UBrF=ALd3huHquWQ+t-aaSBZOAfy6g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* Re: [PATCH v2 00/11] ARM: Versatile irq and clock DT support [not found] ` <CACRpkdZhtAG7ThDvzTi6UBrF=ALd3huHquWQ+t-aaSBZOAfy6g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> @ 2014-05-30 12:17 ` Rob Herring 2014-06-21 2:10 ` Jason Cooper 1 sibling, 0 replies; 27+ messages in thread From: Rob Herring @ 2014-05-30 12:17 UTC (permalink / raw) To: Linus Walleij Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, arm-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, Arnd Bergmann, Ian Campbell, Jason Cooper, Kumar Gala, Mark Rutland, Mike Turquette, Pawel Moll, Russell King, Thomas Gleixner On Fri, May 30, 2014 at 4:41 AM, Linus Walleij <linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> wrote: > On Fri, May 30, 2014 at 12:40 AM, Rob Herring <robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > >> Linus, This could use testing again on Versatile. > > OK I should probably test on Versatile *and* the Integrators since > these are also affected. Do you have a branch I can pull? git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git versatile-v2 Rob -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH v2 00/11] ARM: Versatile irq and clock DT support [not found] ` <CACRpkdZhtAG7ThDvzTi6UBrF=ALd3huHquWQ+t-aaSBZOAfy6g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2014-05-30 12:17 ` Rob Herring @ 2014-06-21 2:10 ` Jason Cooper [not found] ` <20140621021044.GC21711-u4khhh1J0LxI1Ri9qeTfzeTW4wlIGRCZ@public.gmane.org> 1 sibling, 1 reply; 27+ messages in thread From: Jason Cooper @ 2014-06-21 2:10 UTC (permalink / raw) To: Linus Walleij Cc: Rob Herring, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, arm-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, Rob Herring, Arnd Bergmann, Ian Campbell, Kumar Gala, Mark Rutland, Mike Turquette, Pawel Moll, Russell King, Thomas Gleixner Linus, On Fri, May 30, 2014 at 11:41:51AM +0200, Linus Walleij wrote: > On Fri, May 30, 2014 at 12:40 AM, Rob Herring <robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > Linus, This could use testing again on Versatile. > > OK I should probably test on Versatile *and* the Integrators since > these are also affected. Do you have a branch I can pull? Did you get a chance to test this series? thx, Jason. -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 27+ messages in thread
[parent not found: <20140621021044.GC21711-u4khhh1J0LxI1Ri9qeTfzeTW4wlIGRCZ@public.gmane.org>]
* Re: [PATCH v2 00/11] ARM: Versatile irq and clock DT support [not found] ` <20140621021044.GC21711-u4khhh1J0LxI1Ri9qeTfzeTW4wlIGRCZ@public.gmane.org> @ 2014-06-23 11:08 ` Linus Walleij [not found] ` <CACRpkdYncrY2Ne2UoayEmYD6cg52umEJ0SgU9ZHO4PretgjWrg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 0 siblings, 1 reply; 27+ messages in thread From: Linus Walleij @ 2014-06-23 11:08 UTC (permalink / raw) To: Jason Cooper Cc: Rob Herring, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, arm-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, Rob Herring, Arnd Bergmann, Ian Campbell, Kumar Gala, Mark Rutland, Mike Turquette, Pawel Moll, Russell King, Thomas Gleixner On Sat, Jun 21, 2014 at 4:10 AM, Jason Cooper <jason-NLaQJdtUoK4Be96aLqz0jA@public.gmane.org> wrote: > On Fri, May 30, 2014 at 11:41:51AM +0200, Linus Walleij wrote: >> On Fri, May 30, 2014 at 12:40 AM, Rob Herring <robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: >> >> > Linus, This could use testing again on Versatile. >> >> OK I should probably test on Versatile *and* the Integrators since >> these are also affected. Do you have a branch I can pull? > > Did you get a chance to test this series? Sadly not yet :-( I'm snowed under by regressions FTM. Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 27+ messages in thread
[parent not found: <CACRpkdYncrY2Ne2UoayEmYD6cg52umEJ0SgU9ZHO4PretgjWrg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* Re: [PATCH v2 00/11] ARM: Versatile irq and clock DT support [not found] ` <CACRpkdYncrY2Ne2UoayEmYD6cg52umEJ0SgU9ZHO4PretgjWrg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> @ 2014-06-26 12:52 ` Linus Walleij 0 siblings, 0 replies; 27+ messages in thread From: Linus Walleij @ 2014-06-26 12:52 UTC (permalink / raw) To: Jason Cooper Cc: Rob Herring, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, arm-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, Rob Herring, Arnd Bergmann, Ian Campbell, Kumar Gala, Mark Rutland, Mike Turquette, Pawel Moll, Russell King, Thomas Gleixner On Mon, Jun 23, 2014 at 1:08 PM, Linus Walleij <linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> wrote: > On Sat, Jun 21, 2014 at 4:10 AM, Jason Cooper <jason-NLaQJdtUoK4Be96aLqz0jA@public.gmane.org> wrote: >> On Fri, May 30, 2014 at 11:41:51AM +0200, Linus Walleij wrote: >>> On Fri, May 30, 2014 at 12:40 AM, Rob Herring <robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: >>> >>> > Linus, This could use testing again on Versatile. >>> >>> OK I should probably test on Versatile *and* the Integrators since >>> these are also affected. Do you have a branch I can pull? >> >> Did you get a chance to test this series? > > Sadly not yet :-( > > I'm snowed under by regressions FTM. Tested now and it works like a charm on Versatile/AB. Also sent a Tested-by tag to Rob's pull request. Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 27+ messages in thread
end of thread, other threads:[~2014-06-26 12:52 UTC | newest] Thread overview: 27+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-05-29 22:40 [PATCH v2 00/11] ARM: Versatile irq and clock DT support Rob Herring [not found] ` <1401403221-27523-1-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2014-05-29 22:40 ` [PATCH v2 01/11] dts: versatile: add missing irq controller properties Rob Herring 2014-05-29 22:40 ` [PATCH v2 02/11] irqchip: versatile-fpga: Add IRQCHIP_DECLARE support Rob Herring [not found] ` <1401403221-27523-3-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2014-05-30 9:43 ` Linus Walleij 2014-05-29 22:40 ` [PATCH v2 03/11] irqchip: versatile-fpga: add support for arm,versatile-sic Rob Herring [not found] ` <1401403221-27523-4-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2014-05-30 9:46 ` Linus Walleij 2014-05-29 22:40 ` [PATCH v2 04/11] ARM: integrator: convert to use irqchip_init Rob Herring [not found] ` <1401403221-27523-5-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2014-05-30 9:47 ` Linus Walleij 2014-05-29 22:40 ` [PATCH v2 05/11] ARM: versatile: remove init_irq hook for DT boot Rob Herring [not found] ` <1401403221-27523-6-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2014-05-30 9:48 ` Linus Walleij 2014-05-29 22:40 ` [PATCH v2 06/11] dts: versatile: add pl180 compatible strings Rob Herring 2014-05-29 22:40 ` [PATCH v2 07/11] dt/bindings: arm-boards: add binding for Versatile core module Rob Herring [not found] ` <1401403221-27523-8-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2014-05-30 9:49 ` Linus Walleij 2014-05-29 22:40 ` [PATCH v2 08/11] dt/bindings: add compatible string for versatile osc clock Rob Herring 2014-05-29 22:40 ` [PATCH v2 09/11] ARM: timer-sp: allow getting timer1 clock from DT to fallback to legacy clock Rob Herring 2014-05-29 22:40 ` [PATCH v2 10/11] dts: versatile: add clock tree Rob Herring [not found] ` <1401403221-27523-11-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2014-05-30 9:52 ` Linus Walleij 2014-05-29 22:40 ` [PATCH v2 11/11] clk: versatile: add versatile OSC support Rob Herring [not found] ` <1401403221-27523-12-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2014-05-30 9:55 ` Linus Walleij 2014-05-30 23:03 ` Mike Turquette 2014-05-31 2:38 ` Rob Herring 2014-06-02 21:08 ` Mike Turquette 2014-05-30 9:41 ` [PATCH v2 00/11] ARM: Versatile irq and clock DT support Linus Walleij [not found] ` <CACRpkdZhtAG7ThDvzTi6UBrF=ALd3huHquWQ+t-aaSBZOAfy6g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2014-05-30 12:17 ` Rob Herring 2014-06-21 2:10 ` Jason Cooper [not found] ` <20140621021044.GC21711-u4khhh1J0LxI1Ri9qeTfzeTW4wlIGRCZ@public.gmane.org> 2014-06-23 11:08 ` Linus Walleij [not found] ` <CACRpkdYncrY2Ne2UoayEmYD6cg52umEJ0SgU9ZHO4PretgjWrg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2014-06-26 12:52 ` Linus Walleij
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).