2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-28 15:13:55 +08:00
linux-next/arch/arm/boot/dts/keystone-clocks.dtsi
Murali Karicheri a206767629 ARM: dts: keystone: preparatory patch to support K2L and K2E SOCs
Current keystone.dtsi includes SoC specific definitions for K2HK
SoCs. In order to support two addition keystone devices, k2 Edison
and K2 Lamarr and corresponding EVMs, This patch restructure the
dts files for the following:-

 - All clock nodes that are only available in k2hk SoC are moved
   from keystone-clocks.dtsi to a new k2hk-clocks.dtsi include file
 - The CPU nodes are now part of the soc specific k2hk.dtsi.
 - Change the compatibility string to ti,k2hk-evm and change
   the model name accordingly
 - Finally include k2hk-clocks.dtsi in k2hk.dtsi and that in
   k2hk-evm.dts

Cc: Olof Johansson <olof@lixom.net>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Kumar Gala <galak@codeaurora.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
2014-02-26 10:06:56 -05:00

415 lines
9.6 KiB
Plaintext

/*
* Device Tree Source for Keystone 2 clock tree
*
* Copyright (C) 2013 Texas Instruments, Inc.
*
* 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.
*/
clocks {
#address-cells = <1>;
#size-cells = <1>;
ranges;
mainmuxclk: mainmuxclk@2310108 {
#clock-cells = <0>;
compatible = "ti,keystone,pll-mux-clock";
clocks = <&mainpllclk>, <&refclksys>;
reg = <0x02310108 4>;
bit-shift = <23>;
bit-mask = <1>;
clock-output-names = "mainmuxclk";
};
chipclk1: chipclk1 {
#clock-cells = <0>;
compatible = "fixed-factor-clock";
clocks = <&mainmuxclk>;
clock-div = <1>;
clock-mult = <1>;
clock-output-names = "chipclk1";
};
chipclk1rstiso: chipclk1rstiso {
#clock-cells = <0>;
compatible = "fixed-factor-clock";
clocks = <&mainmuxclk>;
clock-div = <1>;
clock-mult = <1>;
clock-output-names = "chipclk1rstiso";
};
gemtraceclk: gemtraceclk@2310120 {
#clock-cells = <0>;
compatible = "ti,keystone,pll-divider-clock";
clocks = <&mainmuxclk>;
reg = <0x02310120 4>;
bit-shift = <0>;
bit-mask = <8>;
clock-output-names = "gemtraceclk";
};
chipstmxptclk: chipstmxptclk {
#clock-cells = <0>;
compatible = "ti,keystone,pll-divider-clock";
clocks = <&mainmuxclk>;
reg = <0x02310164 4>;
bit-shift = <0>;
bit-mask = <8>;
clock-output-names = "chipstmxptclk";
};
chipclk12: chipclk12 {
#clock-cells = <0>;
compatible = "fixed-factor-clock";
clocks = <&chipclk1>;
clock-div = <2>;
clock-mult = <1>;
clock-output-names = "chipclk12";
};
chipclk13: chipclk13 {
#clock-cells = <0>;
compatible = "fixed-factor-clock";
clocks = <&chipclk1>;
clock-div = <3>;
clock-mult = <1>;
clock-output-names = "chipclk13";
};
paclk13: paclk13 {
#clock-cells = <0>;
compatible = "fixed-factor-clock";
clocks = <&papllclk>;
clock-div = <3>;
clock-mult = <1>;
clock-output-names = "paclk13";
};
chipclk14: chipclk14 {
#clock-cells = <0>;
compatible = "fixed-factor-clock";
clocks = <&chipclk1>;
clock-div = <4>;
clock-mult = <1>;
clock-output-names = "chipclk14";
};
chipclk16: chipclk16 {
#clock-cells = <0>;
compatible = "fixed-factor-clock";
clocks = <&chipclk1>;
clock-div = <6>;
clock-mult = <1>;
clock-output-names = "chipclk16";
};
chipclk112: chipclk112 {
#clock-cells = <0>;
compatible = "fixed-factor-clock";
clocks = <&chipclk1>;
clock-div = <12>;
clock-mult = <1>;
clock-output-names = "chipclk112";
};
chipclk124: chipclk124 {
#clock-cells = <0>;
compatible = "fixed-factor-clock";
clocks = <&chipclk1>;
clock-div = <24>;
clock-mult = <1>;
clock-output-names = "chipclk114";
};
chipclk1rstiso13: chipclk1rstiso13 {
#clock-cells = <0>;
compatible = "fixed-factor-clock";
clocks = <&chipclk1rstiso>;
clock-div = <3>;
clock-mult = <1>;
clock-output-names = "chipclk1rstiso13";
};
chipclk1rstiso14: chipclk1rstiso14 {
#clock-cells = <0>;
compatible = "fixed-factor-clock";
clocks = <&chipclk1rstiso>;
clock-div = <4>;
clock-mult = <1>;
clock-output-names = "chipclk1rstiso14";
};
chipclk1rstiso16: chipclk1rstiso16 {
#clock-cells = <0>;
compatible = "fixed-factor-clock";
clocks = <&chipclk1rstiso>;
clock-div = <6>;
clock-mult = <1>;
clock-output-names = "chipclk1rstiso16";
};
chipclk1rstiso112: chipclk1rstiso112 {
#clock-cells = <0>;
compatible = "fixed-factor-clock";
clocks = <&chipclk1rstiso>;
clock-div = <12>;
clock-mult = <1>;
clock-output-names = "chipclk1rstiso112";
};
clkmodrst0: clkmodrst0 {
#clock-cells = <0>;
compatible = "ti,keystone,psc-clock";
clocks = <&chipclk16>;
clock-output-names = "modrst0";
reg = <0x02350000 0xb00>, <0x02350000 0x400>;
reg-names = "control", "domain";
domain-id = <0>;
};
clkusb: clkusb {
#clock-cells = <0>;
compatible = "ti,keystone,psc-clock";
clocks = <&chipclk16>;
clock-output-names = "usb";
reg = <0x02350008 0xb00>, <0x02350000 0x400>;
reg-names = "control", "domain";
domain-id = <0>;
};
clkaemifspi: clkaemifspi {
#clock-cells = <0>;
compatible = "ti,keystone,psc-clock";
clocks = <&chipclk16>;
clock-output-names = "aemif-spi";
reg = <0x0235000c 0xb00>, <0x02350000 0x400>;
reg-names = "control", "domain";
domain-id = <0>;
};
clkdebugsstrc: clkdebugsstrc {
#clock-cells = <0>;
compatible = "ti,keystone,psc-clock";
clocks = <&chipclk13>;
clock-output-names = "debugss-trc";
reg = <0x02350014 0xb00>, <0x02350000 0x400>;
reg-names = "control", "domain";
domain-id = <1>;
};
clktetbtrc: clktetbtrc {
#clock-cells = <0>;
compatible = "ti,keystone,psc-clock";
clocks = <&chipclk13>;
clock-output-names = "tetb-trc";
reg = <0x02350018 0xb00>, <0x02350004 0x400>;
reg-names = "control", "domain";
domain-id = <1>;
};
clkpa: clkpa {
#clock-cells = <0>;
compatible = "ti,keystone,psc-clock";
clocks = <&chipclk16>;
clock-output-names = "pa";
reg = <0x0235001c 0xb00>, <0x02350008 0x400>;
reg-names = "control", "domain";
domain-id = <2>;
};
clkcpgmac: clkcpgmac {
#clock-cells = <0>;
compatible = "ti,keystone,psc-clock";
clocks = <&clkpa>;
clock-output-names = "cpgmac";
reg = <0x02350020 0xb00>, <0x02350008 0x400>;
reg-names = "control", "domain";
domain-id = <2>;
};
clksa: clksa {
#clock-cells = <0>;
compatible = "ti,keystone,psc-clock";
clocks = <&clkpa>;
clock-output-names = "sa";
reg = <0x02350024 0xb00>, <0x02350008 0x400>;
reg-names = "control", "domain";
domain-id = <2>;
};
clkpcie: clkpcie {
#clock-cells = <0>;
compatible = "ti,keystone,psc-clock";
clocks = <&chipclk12>;
clock-output-names = "pcie";
reg = <0x02350028 0xb00>, <0x0235000c 0x400>;
reg-names = "control", "domain";
domain-id = <3>;
};
clksr: clksr {
#clock-cells = <0>;
compatible = "ti,keystone,psc-clock";
clocks = <&chipclk1rstiso112>;
clock-output-names = "sr";
reg = <0x02350034 0xb00>, <0x02350018 0x400>;
reg-names = "control", "domain";
domain-id = <6>;
};
clkgem0: clkgem0 {
#clock-cells = <0>;
compatible = "ti,keystone,psc-clock";
clocks = <&chipclk1>;
clock-output-names = "gem0";
reg = <0x0235003c 0xb00>, <0x02350020 0x400>;
reg-names = "control", "domain";
domain-id = <8>;
};
clkddr30: clkddr30 {
#clock-cells = <0>;
compatible = "ti,keystone,psc-clock";
clocks = <&chipclk12>;
clock-output-names = "ddr3-0";
reg = <0x0235005c 0xb00>, <0x02350040 0x400>;
reg-names = "control", "domain";
domain-id = <16>;
};
clkwdtimer0: clkwdtimer0 {
#clock-cells = <0>;
compatible = "ti,keystone,psc-clock";
clocks = <&clkmodrst0>;
clock-output-names = "timer0";
reg = <0x02350000 0xb00>, <0x02350000 0x400>;
reg-names = "control", "domain";
domain-id = <0>;
};
clkwdtimer1: clkwdtimer1 {
#clock-cells = <0>;
compatible = "ti,keystone,psc-clock";
clocks = <&clkmodrst0>;
clock-output-names = "timer1";
reg = <0x02350000 0xb00>, <0x02350000 0x400>;
reg-names = "control", "domain";
domain-id = <0>;
};
clkwdtimer2: clkwdtimer2 {
#clock-cells = <0>;
compatible = "ti,keystone,psc-clock";
clocks = <&clkmodrst0>;
clock-output-names = "timer2";
reg = <0x02350000 0xb00>, <0x02350000 0x400>;
reg-names = "control", "domain";
domain-id = <0>;
};
clkwdtimer3: clkwdtimer3 {
#clock-cells = <0>;
compatible = "ti,keystone,psc-clock";
clocks = <&clkmodrst0>;
clock-output-names = "timer3";
reg = <0x02350000 0xb00>, <0x02350000 0x400>;
reg-names = "control", "domain";
domain-id = <0>;
};
clktimer15: clktimer15 {
#clock-cells = <0>;
compatible = "ti,keystone,psc-clock";
clocks = <&clkmodrst0>;
clock-output-names = "timer15";
reg = <0x02350000 0xb00>, <0x02350000 0x400>;
reg-names = "control", "domain";
domain-id = <0>;
};
clkuart0: clkuart0 {
#clock-cells = <0>;
compatible = "ti,keystone,psc-clock";
clocks = <&clkmodrst0>;
clock-output-names = "uart0";
reg = <0x02350000 0xb00>, <0x02350000 0x400>;
reg-names = "control", "domain";
domain-id = <0>;
};
clkuart1: clkuart1 {
#clock-cells = <0>;
compatible = "ti,keystone,psc-clock";
clocks = <&clkmodrst0>;
clock-output-names = "uart1";
reg = <0x02350000 0xb00>, <0x02350000 0x400>;
reg-names = "control", "domain";
domain-id = <0>;
};
clkaemif: clkaemif {
#clock-cells = <0>;
compatible = "ti,keystone,psc-clock";
clocks = <&clkaemifspi>;
clock-output-names = "aemif";
reg = <0x02350000 0xb00>, <0x02350000 0x400>;
reg-names = "control", "domain";
domain-id = <0>;
};
clkusim: clkusim {
#clock-cells = <0>;
compatible = "ti,keystone,psc-clock";
clocks = <&clkmodrst0>;
clock-output-names = "usim";
reg = <0x02350000 0xb00>, <0x02350000 0x400>;
reg-names = "control", "domain";
domain-id = <0>;
};
clki2c: clki2c {
#clock-cells = <0>;
compatible = "ti,keystone,psc-clock";
clocks = <&clkmodrst0>;
clock-output-names = "i2c";
reg = <0x02350000 0xb00>, <0x02350000 0x400>;
reg-names = "control", "domain";
domain-id = <0>;
};
clkspi: clkspi {
#clock-cells = <0>;
compatible = "ti,keystone,psc-clock";
clocks = <&clkaemifspi>;
clock-output-names = "spi";
reg = <0x02350000 0xb00>, <0x02350000 0x400>;
reg-names = "control", "domain";
domain-id = <0>;
};
clkgpio: clkgpio {
#clock-cells = <0>;
compatible = "ti,keystone,psc-clock";
clocks = <&clkmodrst0>;
clock-output-names = "gpio";
reg = <0x02350000 0xb00>, <0x02350000 0x400>;
reg-names = "control", "domain";
domain-id = <0>;
};
clkkeymgr: clkkeymgr {
#clock-cells = <0>;
compatible = "ti,keystone,psc-clock";
clocks = <&clkmodrst0>;
clock-output-names = "keymgr";
reg = <0x02350000 0xb00>, <0x02350000 0x400>;
reg-names = "control", "domain";
domain-id = <0>;
};
};