Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756721Ab3FGSJX (ORCPT ); Fri, 7 Jun 2013 14:09:23 -0400 Received: from 12.mo1.mail-out.ovh.net ([87.98.162.229]:34216 "EHLO mo1.mail-out.ovh.net" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1756180Ab3FGSJV (ORCPT ); Fri, 7 Jun 2013 14:09:21 -0400 X-Greylist: delayed 9088 seconds by postgrey-1.27 at vger.kernel.org; Fri, 07 Jun 2013 14:09:21 EDT From: Boris BREZILLON To: Mike Turquette , Jean-Christophe Plagniol-Villard , Nicolas Ferre , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: Russell King X-Ovh-Mailout: 178.32.228.1 (mo1.mail-out.ovh.net) Subject: [RFC PATCH 36/50] ARM: at91/dt: move at91rm9200 SoC to new at91 clk implem Date: Fri, 7 Jun 2013 20:09:15 +0200 Message-Id: <1370628555-2754-1-git-send-email-b.brezillon@overkiz.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1370615115-16979-1-git-send-email-b.brezillon@overkiz.com> References: <1370615115-16979-1-git-send-email-b.brezillon@overkiz.com> X-Ovh-Tracer-Id: 2476698321576359964 X-Ovh-Remote: 78.236.240.82 (cha74-5-78-236-240-82.fbx.proxad.net) X-Ovh-Local: 213.186.33.20 (ns0.ovh.net) X-OVH-SPAMSTATE: OK X-OVH-SPAMSCORE: -100 X-OVH-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrfeeiiedrgeduucetufdoteggodetrfcurfhrohhfihhlvgemucfqggfjnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd X-Spam-Check: DONE|U 0.5/N X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: -100 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrfeeiiedrgeduucetufdoteggodetrfcurfhrohhfihhlvgemucfqggfjnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 7547 Lines: 293 Define at91rm9200 clocks in at91rm9200 device tree. Add references to the appropriate clocks in each peripheral. Signed-off-by: Boris BREZILLON --- arch/arm/boot/dts/at91rm9200.dtsi | 133 +++++++++++++++++++++++++++++++++++++ 1 file changed, 133 insertions(+) diff --git a/arch/arm/boot/dts/at91rm9200.dtsi b/arch/arm/boot/dts/at91rm9200.dtsi index b91cf78..f373aa8 100644 --- a/arch/arm/boot/dts/at91rm9200.dtsi +++ b/arch/arm/boot/dts/at91rm9200.dtsi @@ -75,6 +75,106 @@ pmc: pmc@fffffc00 { compatible = "atmel,at91rm9200-pmc"; reg = <0xfffffc00 0x100>; + + clk32k: slck { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <32768>; + }; + + main: mainck { + compatible = "atmel,at91rm9200-clk-main", "fixed-clock"; + #clock-cells = <0>; + clocks = <&clk32k>; + }; + + plla: pllack { + compatible = "atmel,at91rm9200-clk-pll"; + #clock-cells = <0>; + clocks = <&main>; + id = <0>; + input = <1000000 32000000>; + output = <80000000 160000000 + 150000000 180000000>; + out = <0 2>; + }; + + pllb: pllbck { + compatible = "atmel,at91rm9200-clk-pll"; + #clock-cells = <0>; + clocks = <&main>; + id = <1>; + input = <1000000 32000000>; + output = <80000000 160000000 + 150000000 180000000>; + out = <0 2>; + }; + + mck: masterck { + compatible = "atmel,at91rm9200-clk-master"; + #clock-cells = <0>; + clocks = <&clk32k>, <&main>, <&plla>, <&pllb>; + output = <0 80000000>; + divisors = <1 2 3 4>; + }; + + usb: usbck { + compatible = "atmel,at91rm9200-clk-usb"; + #clock-cells = <0>; + clocks = <&pllb>; + divisors = <1 2 0 0>; + }; + + prog: progck { + compatible = "atmel,at91rm9200-clk-programmable"; + #clock-cells = <1>; + ids = <0 1 2 3>; + clocks = <&clk32k>, <&main>, <&plla>, <&pllb>; + clock-output-names = "prog0", "prog1", "prog2", "prog3"; + }; + + system: systemck { + compatible = "atmel,at91rm9200-clk-system"; + #clock-cells = <1>; + ids = <1 4 8 9 10 11>; + clocks = <&usb>, <&usb>, + <&prog 0>, <&prog 1>, + <&prog 2>, <&prog 3>; + clock-output-names = "udpck", "uhpck", + "pck0", "pck1", + "pck2", "pck3"; + }; + + periph: periphck { + compatible = "atmel,at91rm9200-clk-peripheral"; + #clock-cells = <1>; + clocks = <&mck>; + ids = <2 3 4 5 6 7 8 9 10 11 12 13 14 17 + 18 19 20 21 22 23 24 25 26 27 28>; + clock-output-names = "pioA_clk", + "pioB_clk", + "pioC_clk", + "pioD_clk", + "usart0_clk", + "usart1_clk", + "usart2_clk", + "usart3_clk", + "mci_clk", + "udc_clk", + "twi_clk", + "spi_clk", + "ssc0_clk", + "ssc1_clk", + "ssc2_clk", + "tc0_clk", + "tc1_clk", + "tc2_clk", + "tc3_clk", + "tc4_clk", + "tc5_clk", + "ohci_clk", + "pclk"; + }; }; st: timer@fffffd00 { @@ -89,6 +189,8 @@ interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0 18 IRQ_TYPE_LEVEL_HIGH 0 19 IRQ_TYPE_LEVEL_HIGH 0>; + clocks = <&periph 17>, <&periph 18>, <&periph 19>; + clock-names = "t0_clk", "t1_clk", "t2_clk"; }; tcb1: timer@fffa4000 { @@ -97,6 +199,8 @@ interrupts = <20 IRQ_TYPE_LEVEL_HIGH 0 21 IRQ_TYPE_LEVEL_HIGH 0 22 IRQ_TYPE_LEVEL_HIGH 0>; + clocks = <&periph 20>, <&periph 21>, <&periph 22>; + clock-names = "t0_clk", "t1_clk", "t2_clk"; }; i2c0: i2c@fffb8000 { @@ -107,6 +211,7 @@ pinctrl-0 = <&pinctrl_twi>; #address-cells = <1>; #size-cells = <0>; + clocks = <&periph 12>; status = "disabled"; }; @@ -116,6 +221,8 @@ interrupts = <10 IRQ_TYPE_LEVEL_HIGH 0>; #address-cells = <1>; #size-cells = <0>; + clocks = <&periph 10>; + clock-names = "mci_clk"; status = "disabled"; }; @@ -125,6 +232,8 @@ interrupts = <14 IRQ_TYPE_LEVEL_HIGH 5>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>; + clocks = <&periph 14>; + clock-names = "pclk"; status = "disable"; }; @@ -134,6 +243,8 @@ interrupts = <15 IRQ_TYPE_LEVEL_HIGH 5>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>; + clocks = <&periph 15>; + clock-names = "pclk"; status = "disable"; }; @@ -143,6 +254,8 @@ interrupts = <16 IRQ_TYPE_LEVEL_HIGH 5>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_ssc2_tx &pinctrl_ssc2_rx>; + clocks = <&periph 16>; + clock-names = "pclk"; status = "disable"; }; @@ -153,6 +266,8 @@ phy-mode = "rmii"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_macb_rmii>; + clocks = <&periph 24>, <&periph 24>; + clock-names = "hclk", "pclk"; status = "disabled"; }; @@ -482,6 +597,7 @@ gpio-controller; interrupt-controller; #interrupt-cells = <2>; + clocks = <&periph 2>; }; pioB: gpio@fffff600 { @@ -492,6 +608,7 @@ gpio-controller; interrupt-controller; #interrupt-cells = <2>; + clocks = <&periph 3>; }; pioC: gpio@fffff800 { @@ -502,6 +619,7 @@ gpio-controller; interrupt-controller; #interrupt-cells = <2>; + clocks = <&periph 4>; }; pioD: gpio@fffffa00 { @@ -512,6 +630,7 @@ gpio-controller; interrupt-controller; #interrupt-cells = <2>; + clocks = <&periph 5>; }; }; @@ -521,6 +640,8 @@ interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_dbgu>; + clocks = <&mck>; + clock-names = "usart"; status = "disabled"; }; @@ -532,6 +653,8 @@ atmel,use-dma-tx; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_uart0>; + clocks = <&periph 6>; + clock-names = "usart"; status = "disabled"; }; @@ -543,6 +666,8 @@ atmel,use-dma-tx; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_uart1>; + clocks = <&periph 7>; + clock-names = "usart"; status = "disabled"; }; @@ -554,6 +679,8 @@ atmel,use-dma-tx; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_uart2>; + clocks = <&periph 8>; + clock-names = "usart"; status = "disabled"; }; @@ -565,6 +692,8 @@ atmel,use-dma-tx; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_uart3>; + clocks = <&periph 9>; + clock-names = "usart"; status = "disabled"; }; @@ -572,6 +701,8 @@ compatible = "atmel,at91rm9200-udc"; reg = <0xfffb0000 0x4000>; interrupts = <11 IRQ_TYPE_LEVEL_HIGH 2>; + clocks = <&periph 11>, <&system 1>; + clock-names = "udc_clk", "udpck"; status = "disabled"; }; }; @@ -597,6 +728,8 @@ compatible = "atmel,at91rm9200-ohci", "usb-ohci"; reg = <0x00300000 0x100000>; interrupts = <23 IRQ_TYPE_LEVEL_HIGH 2>; + clocks = <&periph 23>, <&periph 23>, <&system 4>; + clock-names = "ohci_clk", "hclk", "uhpck"; status = "disabled"; }; }; -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/