···11+Device Tree Clock bindings for arch-at9122+33+This binding uses the common clock binding[1].44+55+[1] Documentation/devicetree/bindings/clock/clock-bindings.txt66+77+Required properties:88+- compatible : shall be one of the following:99+ "atmel,at91rm9200-pmc" or1010+ "atmel,at91sam9g45-pmc" or1111+ "atmel,at91sam9n12-pmc" or1212+ "atmel,at91sam9x5-pmc" or1313+ "atmel,sama5d3-pmc":1414+ at91 PMC (Power Management Controller)1515+ All at91 specific clocks (clocks defined below) must be child1616+ node of the PMC node.1717+1818+ "atmel,at91rm9200-clk-main":1919+ at91 main oscillator2020+2121+ "atmel,at91rm9200-clk-master" or2222+ "atmel,at91sam9x5-clk-master":2323+ at91 master clock2424+2525+ "atmel,at91sam9x5-clk-peripheral" or2626+ "atmel,at91rm9200-clk-peripheral":2727+ at91 peripheral clocks2828+2929+ "atmel,at91rm9200-clk-pll" or3030+ "atmel,at91sam9g45-clk-pll" or3131+ "atmel,at91sam9g20-clk-pllb" or3232+ "atmel,sama5d3-clk-pll":3333+ at91 pll clocks3434+3535+ "atmel,at91sam9x5-clk-plldiv":3636+ at91 plla divisor3737+3838+ "atmel,at91rm9200-clk-programmable" or3939+ "atmel,at91sam9g45-clk-programmable" or4040+ "atmel,at91sam9x5-clk-programmable":4141+ at91 programmable clocks4242+4343+ "atmel,at91sam9x5-clk-smd":4444+ at91 SMD (Soft Modem) clock4545+4646+ "atmel,at91rm9200-clk-system":4747+ at91 system clocks4848+4949+ "atmel,at91rm9200-clk-usb" or5050+ "atmel,at91sam9x5-clk-usb" or5151+ "atmel,at91sam9n12-clk-usb":5252+ at91 usb clock5353+5454+ "atmel,at91sam9x5-clk-utmi":5555+ at91 utmi clock5656+5757+Required properties for PMC node:5858+- reg : defines the IO memory reserved for the PMC.5959+- #size-cells : shall be 0 (reg is used to encode clk id).6060+- #address-cells : shall be 1 (reg is used to encode clk id).6161+- interrupts : shall be set to PMC interrupt line.6262+- interrupt-controller : tell that the PMC is an interrupt controller.6363+- #interrupt-cells : must be set to 1. The first cell encodes the interrupt id,6464+ and reflect the bit position in the PMC_ER/DR/SR registers.6565+ You can use the dt macros defined in dt-bindings/clk/at91.h.6666+ 0 (AT91_PMC_MOSCS) -> main oscillator ready6767+ 1 (AT91_PMC_LOCKA) -> PLL A ready6868+ 2 (AT91_PMC_LOCKB) -> PLL B ready6969+ 3 (AT91_PMC_MCKRDY) -> master clock ready7070+ 6 (AT91_PMC_LOCKU) -> UTMI PLL clock ready7171+ 8 .. 15 (AT91_PMC_PCKRDY(id)) -> programmable clock ready7272+ 16 (AT91_PMC_MOSCSELS) -> main oscillator selected7373+ 17 (AT91_PMC_MOSCRCS) -> RC main oscillator stabilized7474+ 18 (AT91_PMC_CFDEV) -> clock failure detected7575+7676+For example:7777+ pmc: pmc@fffffc00 {7878+ compatible = "atmel,sama5d3-pmc";7979+ interrupts = <1 4 7>;8080+ interrupt-controller;8181+ #interrupt-cells = <2>;8282+ #size-cells = <0>;8383+ #address-cells = <1>;8484+8585+ /* put at91 clocks here */8686+ };8787+8888+Required properties for main clock:8989+- interrupt-parent : must reference the PMC node.9090+- interrupts : shall be set to "<0>".9191+- #clock-cells : from common clock binding; shall be set to 0.9292+- clocks (optional if clock-frequency is provided) : shall be the slow clock9393+ phandle. This clock is used to calculate the main clock rate if9494+ "clock-frequency" is not provided.9595+- clock-frequency : the main oscillator frequency.Prefer the use of9696+ "clock-frequency" over automatic clock rate calculation.9797+9898+For example:9999+ main: mainck {100100+ compatible = "atmel,at91rm9200-clk-main";101101+ interrupt-parent = <&pmc>;102102+ interrupts = <0>;103103+ #clock-cells = <0>;104104+ clocks = <&ck32k>;105105+ clock-frequency = <18432000>;106106+ };107107+108108+Required properties for master clock:109109+- interrupt-parent : must reference the PMC node.110110+- interrupts : shall be set to "<3>".111111+- #clock-cells : from common clock binding; shall be set to 0.112112+- clocks : shall be the master clock sources (see atmel datasheet) phandles.113113+ e.g. "<&ck32k>, <&main>, <&plla>, <&pllb>".114114+- atmel,clk-output-range : minimum and maximum clock frequency (two u32115115+ fields).116116+ e.g. output = <0 133000000>; <=> 0 to 133MHz.117117+- atmel,clk-divisors : master clock divisors table (four u32 fields).118118+ 0 <=> reserved value.119119+ e.g. divisors = <1 2 4 6>;120120+- atmel,master-clk-have-div3-pres : some SoC use the reserved value 7 in the121121+ PRES field as CLOCK_DIV3 (e.g sam9x5).122122+123123+For example:124124+ mck: mck {125125+ compatible = "atmel,at91rm9200-clk-master";126126+ interrupt-parent = <&pmc>;127127+ interrupts = <3>;128128+ #clock-cells = <0>;129129+ atmel,clk-output-range = <0 133000000>;130130+ atmel,clk-divisors = <1 2 4 0>;131131+ };132132+133133+Required properties for peripheral clocks:134134+- #size-cells : shall be 0 (reg is used to encode clk id).135135+- #address-cells : shall be 1 (reg is used to encode clk id).136136+- clocks : shall be the master clock phandle.137137+ e.g. clocks = <&mck>;138138+- name: device tree node describing a specific system clock.139139+ * #clock-cells : from common clock binding; shall be set to 0.140140+ * reg: peripheral id. See Atmel's datasheets to get a full141141+ list of peripheral ids.142142+ * atmel,clk-output-range : minimum and maximum clock frequency143143+ (two u32 fields). Only valid on at91sam9x5-clk-peripheral144144+ compatible IPs.145145+146146+For example:147147+ periph: periphck {148148+ compatible = "atmel,at91sam9x5-clk-peripheral";149149+ #size-cells = <0>;150150+ #address-cells = <1>;151151+ clocks = <&mck>;152152+153153+ ssc0_clk {154154+ #clock-cells = <0>;155155+ reg = <2>;156156+ atmel,clk-output-range = <0 133000000>;157157+ };158158+159159+ usart0_clk {160160+ #clock-cells = <0>;161161+ reg = <3>;162162+ atmel,clk-output-range = <0 66000000>;163163+ };164164+ };165165+166166+167167+Required properties for pll clocks:168168+- interrupt-parent : must reference the PMC node.169169+- interrupts : shall be set to "<1>".170170+- #clock-cells : from common clock binding; shall be set to 0.171171+- clocks : shall be the main clock phandle.172172+- reg : pll id.173173+ 0 -> PLL A174174+ 1 -> PLL B175175+- atmel,clk-input-range : minimum and maximum source clock frequency (two u32176176+ fields).177177+ e.g. input = <1 32000000>; <=> 1 to 32MHz.178178+- #atmel,pll-clk-output-range-cells : number of cells reserved for pll output179179+ range description. Sould be set to 2, 3180180+ or 4.181181+ * 1st and 2nd cells represent the frequency range (min-max).182182+ * 3rd cell is optional and represents the OUT field value for the given183183+ range.184184+ * 4th cell is optional and represents the ICPLL field (PLLICPR185185+ register)186186+- atmel,pll-clk-output-ranges : pll output frequency ranges + optional parameter187187+ depending on #atmel,pll-output-range-cells188188+ property value.189189+190190+For example:191191+ plla: pllack {192192+ compatible = "atmel,at91sam9g45-clk-pll";193193+ interrupt-parent = <&pmc>;194194+ interrupts = <1>;195195+ #clock-cells = <0>;196196+ clocks = <&main>;197197+ reg = <0>;198198+ atmel,clk-input-range = <2000000 32000000>;199199+ #atmel,pll-clk-output-range-cells = <4>;200200+ atmel,pll-clk-output-ranges = <74500000 800000000 0 0201201+ 69500000 750000000 1 0202202+ 64500000 700000000 2 0203203+ 59500000 650000000 3 0204204+ 54500000 600000000 0 1205205+ 49500000 550000000 1 1206206+ 44500000 500000000 2 1207207+ 40000000 450000000 3 1>;208208+ };209209+210210+Required properties for plldiv clocks (plldiv = pll / 2):211211+- #clock-cells : from common clock binding; shall be set to 0.212212+- clocks : shall be the plla clock phandle.213213+214214+The pll divisor is equal to 2 and cannot be changed.215215+216216+For example:217217+ plladiv: plladivck {218218+ compatible = "atmel,at91sam9x5-clk-plldiv";219219+ #clock-cells = <0>;220220+ clocks = <&plla>;221221+ };222222+223223+Required properties for programmable clocks:224224+- interrupt-parent : must reference the PMC node.225225+- #size-cells : shall be 0 (reg is used to encode clk id).226226+- #address-cells : shall be 1 (reg is used to encode clk id).227227+- clocks : shall be the programmable clock source phandles.228228+ e.g. clocks = <&clk32k>, <&main>, <&plla>, <&pllb>;229229+- name: device tree node describing a specific prog clock.230230+ * #clock-cells : from common clock binding; shall be set to 0.231231+ * reg : programmable clock id (register offset from PCKx232232+ register).233233+ * interrupts : shall be set to "<(8 + id)>".234234+235235+For example:236236+ prog: progck {237237+ compatible = "atmel,at91sam9g45-clk-programmable";238238+ #size-cells = <0>;239239+ #address-cells = <1>;240240+ interrupt-parent = <&pmc>;241241+ clocks = <&clk32k>, <&main>, <&plladiv>, <&utmi>, <&mck>;242242+243243+ prog0 {244244+ #clock-cells = <0>;245245+ reg = <0>;246246+ interrupts = <8>;247247+ };248248+249249+ prog1 {250250+ #clock-cells = <0>;251251+ reg = <1>;252252+ interrupts = <9>;253253+ };254254+ };255255+256256+257257+Required properties for smd clock:258258+- #clock-cells : from common clock binding; shall be set to 0.259259+- clocks : shall be the smd clock source phandles.260260+ e.g. clocks = <&plladiv>, <&utmi>;261261+262262+For example:263263+ smd: smdck {264264+ compatible = "atmel,at91sam9x5-clk-smd";265265+ #clock-cells = <0>;266266+ clocks = <&plladiv>, <&utmi>;267267+ };268268+269269+Required properties for system clocks:270270+- #size-cells : shall be 0 (reg is used to encode clk id).271271+- #address-cells : shall be 1 (reg is used to encode clk id).272272+- name: device tree node describing a specific system clock.273273+ * #clock-cells : from common clock binding; shall be set to 0.274274+ * reg: system clock id (bit position in SCER/SCDR/SCSR registers).275275+ See Atmel's datasheet to get a full list of system clock ids.276276+277277+For example:278278+ system: systemck {279279+ compatible = "atmel,at91rm9200-clk-system";280280+ #address-cells = <1>;281281+ #size-cells = <0>;282282+283283+ ddrck {284284+ #clock-cells = <0>;285285+ reg = <2>;286286+ clocks = <&mck>;287287+ };288288+289289+ uhpck {290290+ #clock-cells = <0>;291291+ reg = <6>;292292+ clocks = <&usb>;293293+ };294294+295295+ udpck {296296+ #clock-cells = <0>;297297+ reg = <7>;298298+ clocks = <&usb>;299299+ };300300+ };301301+302302+303303+Required properties for usb clock:304304+- #clock-cells : from common clock binding; shall be set to 0.305305+- clocks : shall be the smd clock source phandles.306306+ e.g. clocks = <&pllb>;307307+- atmel,clk-divisors (only available for "atmel,at91rm9200-clk-usb"):308308+ usb clock divisor table.309309+ e.g. divisors = <1 2 4 0>;310310+311311+For example:312312+ usb: usbck {313313+ compatible = "atmel,at91sam9x5-clk-usb";314314+ #clock-cells = <0>;315315+ clocks = <&plladiv>, <&utmi>;316316+ };317317+318318+ usb: usbck {319319+ compatible = "atmel,at91rm9200-clk-usb";320320+ #clock-cells = <0>;321321+ clocks = <&pllb>;322322+ atmel,clk-divisors = <1 2 4 0>;323323+ };324324+325325+326326+Required properties for utmi clock:327327+- interrupt-parent : must reference the PMC node.328328+- interrupts : shall be set to "<AT91_PMC_LOCKU IRQ_TYPE_LEVEL_HIGH>".329329+- #clock-cells : from common clock binding; shall be set to 0.330330+- clocks : shall be the main clock source phandle.331331+332332+For example:333333+ utmi: utmick {334334+ compatible = "atmel,at91sam9x5-clk-utmi";335335+ interrupt-parent = <&pmc>;336336+ interrupts = <AT91_PMC_LOCKU IRQ_TYPE_LEVEL_HIGH>;337337+ #clock-cells = <0>;338338+ clocks = <&main>;339339+ };
+54
Documentation/devicetree/bindings/mmc/ti-omap.txt
···11+* TI MMC host controller for OMAP1 and 242022+33+The MMC Host Controller on TI OMAP1 and 2420 family provides44+an interface for MMC, SD, and SDIO types of memory cards.55+66+This file documents differences between the core properties described77+by mmc.txt and the properties used by the omap mmc driver.88+99+Note that this driver will not work with omap2430 or later omaps,1010+please see the omap hsmmc driver for the current omaps.1111+1212+Required properties:1313+- compatible: Must be "ti,omap2420-mmc", for OMAP2420 controllers1414+- ti,hwmods: For 2420, must be "msdi<n>", where n is controller1515+ instance starting 11616+1717+Examples:1818+1919+ msdi1: mmc@4809c000 {2020+ compatible = "ti,omap2420-mmc";2121+ ti,hwmods = "msdi1";2222+ reg = <0x4809c000 0x80>;2323+ interrupts = <83>;2424+ dmas = <&sdma 61 &sdma 62>;2525+ dma-names = "tx", "rx";2626+ };2727+2828+* TI MMC host controller for OMAP1 and 24202929+3030+The MMC Host Controller on TI OMAP1 and 2420 family provides3131+an interface for MMC, SD, and SDIO types of memory cards.3232+3333+This file documents differences between the core properties described3434+by mmc.txt and the properties used by the omap mmc driver.3535+3636+Note that this driver will not work with omap2430 or later omaps,3737+please see the omap hsmmc driver for the current omaps.3838+3939+Required properties:4040+- compatible: Must be "ti,omap2420-mmc", for OMAP2420 controllers4141+- ti,hwmods: For 2420, must be "msdi<n>", where n is controller4242+ instance starting 14343+4444+Examples:4545+4646+ msdi1: mmc@4809c000 {4747+ compatible = "ti,omap2420-mmc";4848+ ti,hwmods = "msdi1";4949+ reg = <0x4809c000 0x80>;5050+ interrupts = <83>;5151+ dmas = <&sdma 61 &sdma 62>;5252+ dma-names = "tx", "rx";5353+ };5454+
···199199 pinctrl-0 = <&uart0_pins>;200200};201201202202+&usb {203203+ status = "okay";204204+205205+ control@44e10000 {206206+ status = "okay";207207+ };208208+209209+ usb-phy@47401300 {210210+ status = "okay";211211+ };212212+213213+ usb-phy@47401b00 {214214+ status = "okay";215215+ };216216+217217+ usb@47401000 {218218+ status = "okay";219219+ };220220+221221+ usb@47401800 {222222+ status = "okay";223223+ dr_mode = "host";224224+ };225225+226226+ dma-controller@07402000 {227227+ status = "okay";228228+ };229229+};230230+202231#include "tps65910.dtsi"203232204233&tps {
+14-14
arch/arm/boot/dts/armada-370-db.dts
···9999 spi-max-frequency = <50000000>;100100 };101101 };102102+ };102103103103- pcie-controller {104104+ pcie-controller {105105+ status = "okay";106106+ /*107107+ * The two PCIe units are accessible through108108+ * both standard PCIe slots and mini-PCIe109109+ * slots on the board.110110+ */111111+ pcie@1,0 {112112+ /* Port 0, Lane 0 */104113 status = "okay";105105- /*106106- * The two PCIe units are accessible through107107- * both standard PCIe slots and mini-PCIe108108- * slots on the board.109109- */110110- pcie@1,0 {111111- /* Port 0, Lane 0 */112112- status = "okay";113113- };114114- pcie@2,0 {115115- /* Port 1, Lane 0 */116116- status = "okay";117117- };114114+ };115115+ pcie@2,0 {116116+ /* Port 1, Lane 0 */117117+ status = "okay";118118 };119119 };120120 };
···11/*22- * Device Tree Source for IGEP COM Module22+ * Device Tree Source for IGEP COM MODULE (TI OMAP AM/DM37x)33 *44 * Copyright (C) 2012 Javier Martinez Canillas <javier@collabora.co.uk>55 * Copyright (C) 2012 Enric Balletbo i Serra <eballetbo@gmail.com>···1212#include "omap3-igep.dtsi"13131414/ {1515- model = "IGEP COM Module";1515+ model = "IGEP COM MODULE (TI OMAP AM/DM37x)";1616 compatible = "isee,omap3-igep0030", "ti,omap3";17171818 leds {
···1212CONFIG_PACKET=y1313CONFIG_UNIX=y1414CONFIG_INET=y1515+CONFIG_IP_PNP=y1616+CONFIG_IP_PNP_DHCP=y1717+CONFIG_IP_PNP_BOOTP=y1518# CONFIG_INET_XFRM_MODE_TRANSPORT is not set1619# CONFIG_INET_XFRM_MODE_TUNNEL is not set1720# CONFIG_INET_XFRM_MODE_BEET is not set···6158CONFIG_LEDS_TRIGGER_DEFAULT_ON=y6259CONFIG_COMMON_CLK_DEBUG=y6360# CONFIG_IOMMU_SUPPORT is not set6161+CONFIG_TMPFS=y6262+CONFIG_NFS_FS=y6363+CONFIG_ROOT_NFS=y6464CONFIG_NLS=y6565+CONFIG_PRINTK_TIME=y
+3
arch/arm/configs/u8500_defconfig
···2222CONFIG_CPU_FREQ=y2323CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y2424CONFIG_CPU_IDLE=y2525+CONFIG_ARM_U8500_CPUIDLE=y2526CONFIG_VFP=y2627CONFIG_NEON=y2728CONFIG_PM_RUNTIME=y···110109CONFIG_EXT3_FS=y111110CONFIG_EXT4_FS=y112111CONFIG_VFAT_FS=y112112+CONFIG_DEVTMPFS=y113113+CONFIG_DEVTMPFS_MOUNT=y113114CONFIG_TMPFS=y114115CONFIG_TMPFS_POSIX_ACL=y115116# CONFIG_MISC_FILESYSTEMS is not set
+43
arch/arm/mach-at91/Kconfig
···11if ARCH_AT912233+config HAVE_AT91_UTMI44+ bool55+66+config HAVE_AT91_USB_CLK77+ bool88+39config HAVE_AT91_DBGU0410 bool511612config HAVE_AT91_DBGU1713 bool8141515+config AT91_USE_OLD_CLK1616+ bool1717+918config AT91_PMC_UNIT1019 bool1120 default !ARCH_AT91X402121+2222+config COMMON_CLK_AT912323+ bool2424+ default AT91_PMC_UNIT && USE_OF && !AT91_USE_OLD_CLK2525+ select COMMON_CLK2626+2727+config OLD_CLK_AT912828+ bool2929+ default AT91_PMC_UNIT && AT91_USE_OLD_CLK12301331config AT91_SAM9_ALT_RESET1432 bool···3719 default !ARCH_AT91X4038203921config AT91_SAM9_TIME2222+ bool2323+2424+config HAVE_AT91_SMD4025 bool41264227config SOC_AT91SAM9···8665 select SOC_SAMA58766 select HAVE_FB_ATMEL8867 select HAVE_AT91_DBGU16868+ select HAVE_AT91_UTMI6969+ select HAVE_AT91_SMD7070+ select HAVE_AT91_USB_CLK8971 help9072 Select this if you are using one of Atmel's SAMA5D3 family SoC.9173 This support covers SAMA5D31, SAMA5D33, SAMA5D34, SAMA5D35.···10278 select HAVE_AT91_DBGU010379 select MULTI_IRQ_HANDLER10480 select SPARSE_IRQ8181+ select AT91_USE_OLD_CLK8282+ select HAVE_AT91_USB_CLK1058310684config SOC_AT91SAM926010785 bool "AT91SAM9260, AT91SAM9XE or AT91SAM9G20"10886 select HAVE_AT91_DBGU010987 select SOC_AT91SAM98888+ select AT91_USE_OLD_CLK8989+ select HAVE_AT91_USB_CLK11090 help11191 Select this if you are using one of Atmel's AT91SAM9260, AT91SAM9XE11292 or AT91SAM9G20 SoC.···12092 select HAVE_AT91_DBGU012193 select HAVE_FB_ATMEL12294 select SOC_AT91SAM99595+ select AT91_USE_OLD_CLK9696+ select HAVE_AT91_USB_CLK12397 help12498 Select this if you are using one of Atmel's AT91SAM9261 or AT91SAM9G10 SoC.12599···130100 select HAVE_AT91_DBGU1131101 select HAVE_FB_ATMEL132102 select SOC_AT91SAM9103103+ select AT91_USE_OLD_CLK104104+ select HAVE_AT91_USB_CLK133105134106config SOC_AT91SAM9RL135107 bool "AT91SAM9RL"136108 select HAVE_AT91_DBGU0137109 select HAVE_FB_ATMEL138110 select SOC_AT91SAM9111111+ select AT91_USE_OLD_CLK112112+ select HAVE_AT91_UTMI139113140114config SOC_AT91SAM9G45141115 bool "AT91SAM9G45 or AT91SAM9M10 families"142116 select HAVE_AT91_DBGU1143117 select HAVE_FB_ATMEL144118 select SOC_AT91SAM9119119+ select AT91_USE_OLD_CLK120120+ select HAVE_AT91_UTMI121121+ select HAVE_AT91_USB_CLK145122 help146123 Select this if you are using one of Atmel's AT91SAM9G45 family SoC.147124 This support covers AT91SAM9G45, AT91SAM9G46, AT91SAM9M10 and AT91SAM9M11.···158121 select HAVE_AT91_DBGU0159122 select HAVE_FB_ATMEL160123 select SOC_AT91SAM9124124+ select AT91_USE_OLD_CLK125125+ select HAVE_AT91_UTMI126126+ select HAVE_AT91_SMD127127+ select HAVE_AT91_USB_CLK161128 help162129 Select this if you are using one of Atmel's AT91SAM9x5 family SoC.163130 This means that your SAM9 name finishes with a '5' (except if it is···174133 select HAVE_AT91_DBGU0175134 select HAVE_FB_ATMEL176135 select SOC_AT91SAM9136136+ select AT91_USE_OLD_CLK137137+ select HAVE_AT91_USB_CLK177138 help178139 Select this if you are using Atmel's AT91SAM9N12 SoC.179140
···1616#include <mach/at91_ramc.h>1717#include <mach/at91rm9200_sdramc.h>18181919+#ifdef CONFIG_PM1920extern void at91_pm_set_standby(void (*at91_standby)(void));2121+#else2222+static inline void at91_pm_set_standby(void (*at91_standby)(void)) { }2323+#endif20242125/*2226 * The AT91RM9200 goes into self-refresh mode with this command, and will
···1010 * warranty of any kind, whether express or implied.1111 */12121313+#include <linux/clk.h>1314#include <linux/kernel.h>1415#include <linux/init.h>1516#include <linux/of.h>1617#include <linux/of_address.h>1718#include <linux/of_net.h>1819#include <linux/of_platform.h>1919-#include <linux/clk-provider.h>2020#include <linux/dma-mapping.h>2121#include <linux/irqchip.h>2222#include <linux/kexec.h>2323#include <asm/mach/arch.h>2424-#include <asm/mach/map.h>2524#include <mach/bridge-regs.h>2626-#include <linux/platform_data/usb-ehci-orion.h>2727-#include <plat/irq.h>2825#include <plat/common.h>2926#include "common.h"3030-3131-/*3232- * There are still devices that doesn't know about DT yet. Get clock3333- * gates here and add a clock lookup alias, so that old platform3434- * devices still work.3535-*/3636-3737-static void __init kirkwood_legacy_clk_init(void)3838-{3939-4040- struct device_node *np = of_find_compatible_node(4141- NULL, NULL, "marvell,kirkwood-gating-clock");4242- struct of_phandle_args clkspec;4343- struct clk *clk;4444-4545- clkspec.np = np;4646- clkspec.args_count = 1;4747-4848- /*4949- * The ethernet interfaces forget the MAC address assigned by5050- * u-boot if the clocks are turned off. Until proper DT support5151- * is available we always enable them for now.5252- */5353- clkspec.args[0] = CGC_BIT_GE0;5454- clk = of_clk_get_from_provider(&clkspec);5555- clk_prepare_enable(clk);5656-5757- clkspec.args[0] = CGC_BIT_GE1;5858- clk = of_clk_get_from_provider(&clkspec);5959- clk_prepare_enable(clk);6060-}61276228#define MV643XX_ETH_MAC_ADDR_LOW 0x04146329#define MV643XX_ETH_MAC_ADDR_HIGH 0x0418···106140107141static void __init kirkwood_dt_init(void)108142{109109- pr_info("Kirkwood: %s, TCLK=%d.\n", kirkwood_id(), kirkwood_tclk);143143+ pr_info("Kirkwood: %s.\n", kirkwood_id());110144111145 /*112146 * Disable propagation of mbus errors to the CPU local bus,···122156123157 kirkwood_cpufreq_init();124158 kirkwood_cpuidle_init();125125- /* Setup clocks for legacy devices */126126- kirkwood_legacy_clk_init();127159128160 kirkwood_pm_init();129161 kirkwood_dt_eth_fixup();
+1
arch/arm/mach-mvebu/coherency.c
···2727#include <asm/smp_plat.h>2828#include <asm/cacheflush.h>2929#include "armada-370-xp.h"3030+#include "coherency.h"30313132unsigned long coherency_phys_base;3233static void __iomem *coherency_base;
+3-1
arch/arm/mach-mvebu/coherency.h
···1414#ifndef __MACH_370_XP_COHERENCY_H1515#define __MACH_370_XP_COHERENCY_H16161717-int set_cpu_coherent(int cpu_id, int smp_group_id);1717+extern unsigned long coherency_phys_base;1818+1919+int set_cpu_coherent(unsigned int cpu_id, int smp_group_id);1820int coherency_init(void);19212022#endif /* __MACH_370_XP_COHERENCY_H */
-1
arch/arm/mach-mvebu/common.h
···26262727void armada_xp_cpu_die(unsigned int cpu);2828int armada_370_xp_coherency_init(void);2929-int armada_370_xp_pmsu_init(void);3029void armada_xp_secondary_startup(void);3130extern struct smp_operations armada_xp_smp_ops;3231#endif
+1
arch/arm/mach-mvebu/hotplug.c
···1515#include <linux/errno.h>1616#include <linux/smp.h>1717#include <asm/proc-fns.h>1818+#include "common.h"18191920/*2021 * platform-specific code to shutdown a CPU
+2-2
arch/arm/mach-mvebu/platsmp.c
···4646 return cpu_clk;4747}48484949-void __init set_secondary_cpus_clock(void)4949+static void __init set_secondary_cpus_clock(void)5050{5151 int thiscpu, cpu;5252 unsigned long rate;···9494 set_smp_cross_call(armada_mpic_send_doorbell);9595}96969797-void __init armada_xp_smp_prepare_cpus(unsigned int max_cpus)9797+static void __init armada_xp_smp_prepare_cpus(unsigned int max_cpus)9898{9999 struct device_node *node;100100 struct resource res;
···7777};78787979static struct clk main_clk = {8080- /* .parent will be set r8a73a4_clock_init */8080+ /* .parent will be set r8a7790_clock_init */8181 .ops = &followparent_clk_ops,8282};8383