07 Sep, 2013

1 commit

  • Pull ARM SoC platform changes from Olof Johansson:
    "This branch contains mostly additions and changes to platform
    enablement and SoC-level drivers. Since there's sometimes a
    dependency on device-tree changes, there's also a fair amount of
    those in this branch.

    Pieces worth mentioning are:

    - Mbus driver for Marvell platforms, allowing kernel configuration
    and resource allocation of on-chip peripherals.
    - Enablement of the mbus infrastructure from Marvell PCI-e drivers.
    - Preparation of MSI support for Marvell platforms.
    - Addition of new PCI-e host controller driver for Tegra platforms
    - Some churn caused by sharing of macro names between i.MX 6Q and 6DL
    platforms in the device tree sources and header files.
    - Various suspend/PM updates for Tegra, including LP1 support.
    - Versatile Express support for MCPM, part of big little support.
    - Allwinner platform support for A20 and A31 SoCs (dual and quad
    Cortex-A7)
    - OMAP2+ support for DRA7, a new Cortex-A15-based SoC.

    The code that touches other architectures are patches moving MSI
    arch-specific functions over to weak symbols and removal of
    ARCH_SUPPORTS_MSI, acked by PCI maintainers"

    * tag 'soc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (266 commits)
    tegra-cpuidle: provide stub when !CONFIG_CPU_IDLE
    PCI: tegra: replace devm_request_and_ioremap by devm_ioremap_resource
    ARM: tegra: Drop ARCH_SUPPORTS_MSI and sort list
    ARM: dts: vf610-twr: enable i2c0 device
    ARM: dts: i.MX51: Add one more I2C2 pinmux entry
    ARM: dts: i.MX51: Move pins configuration under "iomuxc" label
    ARM: dtsi: imx6qdl-sabresd: Add USB OTG vbus pin to pinctrl_hog
    ARM: dtsi: imx6qdl-sabresd: Add USB host 1 VBUS regulator
    ARM: dts: imx27-phytec-phycore-som: Enable AUDMUX
    ARM: dts: i.MX27: Disable AUDMUX in the template
    ARM: dts: wandboard: Add support for SDIO bcm4329
    ARM: i.MX5 clocks: Remove optional clock setup (CKIH1) from i.MX51 template
    ARM: dts: imx53-qsb: Make USBH1 functional
    ARM i.MX6Q: dts: Enable I2C1 with EEPROM and PMIC on Phytec phyFLEX-i.MX6 Ouad module
    ARM i.MX6Q: dts: Enable SPI NOR flash on Phytec phyFLEX-i.MX6 Ouad module
    ARM: dts: imx6qdl-sabresd: Add touchscreen support
    ARM: imx: add ocram clock for imx53
    ARM: dts: imx: ocram size is different between imx6q and imx6dl
    ARM: dts: imx27-phytec-phycore-som: Fix regulator settings
    ARM: dts: i.MX27: Remove clock name from CPU node
    ...

    Linus Torvalds
     

06 Aug, 2013

3 commits


10 Jul, 2013

1 commit

  • Preparing to move the parsing of reboot= to generic kernel code forces
    the change in reboot_mode handling to use the enum.

    [akpm@linux-foundation.org: fix arch/arm/mach-socfpga/socfpga.c]
    Signed-off-by: Robin Holt
    Cc: Russell King
    Cc: Russ Anderson
    Cc: Robin Holt
    Cc: H. Peter Anvin
    Cc: Guan Xuetao
    Acked-by: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Robin Holt
     

01 Jun, 2013

2 commits

  • From Jason Cooper:
    mvebu pcie driver (kirkwood) for v3.11

    - kirkwood
    - enable pcie driver
    - migrate boards over to pcie dt init

    depends
    - mvebu/pcie
    - mvebu/of_pci

    Signed-off-by: Olof Johansson

    * tag 'pcie_kw-3.11' of git://git.infradead.org/users/jcooper/linux:
    arm: kirkwood: convert db-88f6281/db-88f6282 to the Device Tree
    arm: kirkwood: convert QNAP TS219 to use DT for the PCIe interface
    arm: kirkwood: convert ZyXEL NSA310 to use DT for the PCIe interface
    arm: kirkwood: convert MPL CEC4 to use DT for the PCIe interface
    arm: kirkwood: convert Iomega Iconnect to use DT for the PCIe interface
    arm: kirkwood: add SoC-level Device Tree data for PCIe interfaces
    arm: kirkwood: move PCIe window init to legacy driver
    pci: mvebu: enable driver usage on Kirkwood

    Olof Johansson
     
  • From Jason Cooper, mvebu soc changes for v3.11

    Signed-off-by: Olof Johansson

    * tag 'soc-3.11-2' of git://git.infradead.org/users/jcooper/linux:
    arm: kirkwood: Instantiate cpufreq driver
    arm: kirkwood: use the default of match table

    Olof Johansson
     

30 May, 2013

1 commit


28 May, 2013

1 commit

  • Since we are going to enable the usage of the mvebu PCIe driver on
    Kirkwood, we don't want the PCIe windows to be unconditionally created
    by kirkwood_setup_wins(). Therefore, we move the PCIe window
    initialization into the legacy PCIe driver
    (arch/arm/mach-kirkwood/pcie.c).

    The platforms using the legacy driver will see their windows
    statically allocated by
    arch/arm/mach-kirkwood/pcie.c:kirkwood_pcie_init(). The platforms
    using the new driver in drivers/pci/ will see their windows
    dynamically allocated directly by the driver.

    Signed-off-by: Thomas Petazzoni
    Tested-by: Andrew Lunn
    Signed-off-by: Jason Cooper

    Thomas Petazzoni
     

14 May, 2013

1 commit

  • The patch:

    387870f mm: dmapool: use provided gfp flags for all dma_alloc_coherent() calls

    makes these calls on Kirkwood and Orion5x redundant. The drivers are
    not making atomic requests for coherent memory and hence the default
    pool size is now sufficient.

    Jason Cooper added mach-mvebu/ hunk, and corrected minor typos in commit
    message.

    Signed-off-by: Andrew Lunn
    Signed-off-by: Jason Cooper

    Andrew Lunn
     

15 Apr, 2013

1 commit

  • This commit migrates the mach-kirkwood platforms to use the mvebu-mbus
    driver and therefore removes the Kirkwood-specific addr-map code.

    The kirkwood_init_early() function is now responsible for initializing
    the mvebu-mbus driver by calling mvebu_mbus_init().

    The address decoding windows are now registered in the
    kirkwood_setup_wins() function. It is worth noting that the four PCIe
    address decoding windows will ultimately no longer have to be
    registered here: it will be done automatically by the PCIe driver once
    Kirkwood has been migrated to use the upcoming mvebu PCIe driver.

    Signed-off-by: Thomas Petazzoni
    Signed-off-by: Andrew Lunn
    Acked-by: Arnd Bergmann
    Signed-off-by: Jason Cooper

    Thomas Petazzoni
     

05 Feb, 2013

1 commit

  • From Jason Cooper:
    mvebu drivers for v3.9
    - use rtc-mv in mvebu armv7 SoCs
    - add pci-e hotplug for kirkwood

    Depends on:
    - tags/mvebu_fixes_for_v3.8-rc6

    * tag 'drivers_for_v3.9' of git://git.infradead.org/users/jcooper/linux:
    cpuidle: kirkwood: Move out of mach directory
    rtc: Add support of rtc-mv for MVEBU SoCs
    ARM: Kirkwood: Support basic hotplug for PCI-E
    arm: mvebu: i2c come back in defconfig
    arm: plat-orion: fix printing of "MPP config unavailable on this hardware"
    Dove: activate GPIO interrupts in DT

    Olof Johansson
     

01 Feb, 2013

1 commit


25 Dec, 2012

1 commit

  • Now that the only field in struct sys_timer is .init, delete the struct,
    and replace the machine descriptor .timer field with the initialization
    function itself.

    This will enable moving timer drivers into drivers/clocksource without
    having to place a public prototype of each struct sys_timer object into
    include/linux; the intent is to create a single of_clocksource_init()
    function that determines which timer driver to initialize by scanning
    the device dtree, much like the proposed irqchip_init() at:
    http://www.spinics.net/lists/arm-kernel/msg203686.html

    Includes mach-omap2 fixes from Igor Grinberg.

    Tested-by: Robert Jarzmik
    Signed-off-by: Stephen Warren

    Stephen Warren
     

15 Dec, 2012

1 commit

  • Pull ARM SoC updates for Marvell mvebu/kirkwood from Olof Johansson:
    "This is a branch with updates for Marvell's mvebu/kirkwood platforms.
    They came in late-ish, and were heavily interdependent such that it
    didn't make sense to split them up across the cross-platform topic
    branches. So here they are (for the second release in a row) in a
    branch on their own."

    * tag 'mvebu' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (88 commits)
    arm: l2x0: add aurora related properties to OF binding
    arm: mvebu: add Aurora L2 Cache Controller to the DT
    arm: mvebu: add L2 cache support
    dma: mv_xor: fix error handling path
    dma: mv_xor: fix error checking of irq_of_parse_and_map()
    dma: mv_xor: use request_irq() instead of devm_request_irq()
    dma: mv_xor: clear the window override control registers
    arm: mvebu: fix address decoding armada_cfg_base() function
    ARM: mvebu: update defconfig with I2C and RTC support
    ARM: mvebu: Add SATA support for OpenBlocks AX3-4
    ARM: mvebu: Add support for the RTC in OpenBlocks AX3-4
    ARM: mvebu: Add support for I2C on OpenBlocks AX3-4
    ARM: mvebu: Add support for I2C controllers in Armada 370/XP
    arm: mvebu: Add hardware I/O Coherency support
    arm: plat-orion: Add coherency attribute when setup mbus target
    arm: dma mapping: Export a dma ops function arm_dma_set_mask
    arm: mvebu: Add SMP support for Armada XP
    arm: mm: Add support for PJ4B cpu and init routines
    arm: mvebu: Add IPI support via doorbells
    arm: mvebu: Add initial support for power managmement service unit
    ...

    Linus Torvalds
     

13 Dec, 2012

1 commit

  • Pull ARM SoC board updates from Olof Johansson:
    "This branch contains a set of various board updates for ARM platforms.

    A few shmobile platforms that are stale have been removed, some
    defconfig updates for various boards selecting new features such as
    pinctrl subsystem support, and various updates enabling peripherals,
    etc."

    Fix up conflicts mostly as per Olof.

    * tag 'boards' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (58 commits)
    ARM: S3C64XX: Add dummy supplies for Glenfarclas LDOs
    ARM: S3C64XX: Add registration of WM2200 Bells device on Cragganmore
    ARM: kirkwood: Add Plat'Home OpenBlocks A6 support
    ARM: Dove: update defconfig
    ARM: Kirkwood: update defconfig for new boards
    arm: orion5x: add DT related options in defconfig
    arm: orion5x: convert 'LaCie Ethernet Disk mini v2' to Device Tree
    arm: orion5x: basic Device Tree support
    arm: orion5x: mechanical defconfig update
    ARM: kirkwood: Add support for the MPL CEC4
    arm: kirkwood: add support for ZyXEL NSA310
    ARM: Kirkwood: new board USI Topkick
    ARM: kirkwood: use gpio-fan DT binding on lsxl
    ARM: Kirkwood: add Netspace boards to defconfig
    ARM: kirkwood: DT board setup for Network Space Mini v2
    ARM: kirkwood: DT board setup for Network Space Lite v2
    ARM: kirkwood: DT board setup for Network Space v2 and parents
    leds: leds-ns2: add device tree binding
    ARM: Kirkwood: Enable the second I2C bus
    ARM: mmp: select pinctrl driver
    ...

    Linus Torvalds
     

22 Nov, 2012

1 commit


20 Nov, 2012

1 commit


19 Nov, 2012

2 commits


19 Oct, 2012

1 commit


23 Sep, 2012

1 commit

  • …ux into late/kirkwood

    * 'kirkwood/addr_decode' of git://git.infradead.org/users/jcooper/linux:
    arm: mvebu: add address decoding controller to the DT
    arm: mvebu: add basic address decoding support to Armada 370/XP
    arm: plat-orion: make bridge_virt_base non-const to support DT use case
    arm: plat-orion: introduce PLAT_ORION_LEGACY hidden config option
    arm: plat-orion: use void __iomem pointers for addr-map functions
    arm: plat-orion: use void __iomem pointers for time functions
    arm: plat-orion: use void __iomem pointers for MPP functions
    arm: plat-orion: use void __iomem pointers for UART registration functions
    arm: mach-mvebu: use IOMEM() for base address definitions
    arm: mach-orion5x: use IOMEM() for base address definitions
    arm: mach-mv78xx0: use IOMEM() for base address definitions
    arm: mach-kirkwood: use IOMEM() for base address definitions
    arm: mach-dove: use IOMEM() for base address definitions
    arm: mach-orion5x: use plus instead of or for address definitions
    arm: mach-mv78xx0: use plus instead of or for address definitions
    arm: mach-kirkwood: use plus instead of or for address definitions
    arm: mach-dove: use plus instead of or for address definitions

    This branch had quite a few conflicts, in particular with the PCI static
    map rework from Rob Herring, and a few other context conflicts due to
    changes in Kconfig, etc.

    I fixed up conflicts in:
    arch/arm/Kconfig
    arch/arm/mach-dove/common.c
    arch/arm/mach-dove/include/mach/dove.h
    arch/arm/mach-kirkwood/common.c
    arch/arm/mach-kirkwood/include/mach/kirkwood.h
    arch/arm/mach-mv78xx0/common.c
    arch/arm/mach-mv78xx0/include/mach/mv78xx0.h
    arch/arm/mach-orion5x/common.c
    arch/arm/mach-orion5x/include/mach/orion5x.h

    Signed-off-by: Olof Johansson <olof@lixom.net>

    Olof Johansson
     

22 Sep, 2012

4 commits

  • * multiplatform/platform-data:
    ARM: spear: move platform_data definitions
    ARM: samsung: move platform_data definitions
    ARM: orion: move platform_data definitions
    ARM: nomadik: move platform_data definitions
    ARM: w90x900: move platform_data definitions
    ARM: vt8500: move platform_data definitions
    ARM: tegra: move sdhci platform_data definition
    ARM: sa1100: move platform_data definitions
    ARM: pxa: move platform_data definitions
    ARM: netx: move platform_data definitions
    ARM: msm: move platform_data definitions
    ARM: imx: move platform_data definitions
    ARM: ep93xx: move platform_data definitions
    ARM: davinci: move platform_data definitions
    ARM: at91: move platform_data definitions

    Conflicts due to removed files:
    arch/arm/mach-tegra/board-harmony.c
    arch/arm/mach-tegra/board-trimslice.c

    Conflicts due to code removal:
    arch/arm/mach-tegra/board-paz00.c

    Context conflicts in:
    drivers/mmc/host/sdhci-tegra.c
    drivers/net/irda/pxaficp_ir.c

    Signed-off-by: Olof Johansson

    Olof Johansson
     
  • The functions for time management now take void __iomem pointers, so
    we remove the temporary "unsigned long" casts from the mach-*/common.c
    files.

    Signed-off-by: Thomas Petazzoni
    Acked-by: Arnd Bergmann
    Tested-by: Andrew Lunn
    Signed-off-by: Jason Cooper

    Thomas Petazzoni
     
  • The registration functions for UARTs now take void __iomem pointers,
    so we remove the temporary "unsigned long" casts from the
    mach-*/common.c files.

    Signed-off-by: Thomas Petazzoni
    Acked-by: Arnd Bergmann
    Tested-by: Andrew Lunn
    Signed-off-by: Jason Cooper

    Thomas Petazzoni
     
  • We now define all virtual base address constants using IOMEM() so that
    those are naturally typed as void __iomem pointers, and we do the
    necessary adjustements in the mach-kirkwood code.

    Note that we introduce a few temporary additional "unsigned long"
    casts when calling into plat-orion functions. Those are removed by
    followup patches converting plat-orion functions to void __iomem
    pointers as well.

    Signed-off-by: Thomas Petazzoni
    Acked-by: Arnd Bergmann
    Tested-by: Andrew Lunn
    Signed-off-by: Jason Cooper

    Thomas Petazzoni
     

19 Sep, 2012

1 commit

  • Platform data for device drivers should be defined in
    include/linux/platform_data/*.h, not in the architecture
    and platform specific directories.

    This moves such data out of the orion include directories

    Signed-off-by: Arnd Bergmann
    Acked-by: Mark Brown
    Acked-by: Greg Kroah-Hartman
    Acked-by: Nicolas Pitre
    Acked-by: Mauro Carvalho Chehab
    Cc: Jason Cooper
    Cc: Andrew Lunn
    Cc: Vinod Koul
    Cc: Dan Williams
    Cc: Bryan Wu
    Cc: Richard Purdie
    Cc: Chris Ball
    Cc: David Woodhouse
    Cc: Alan Stern
    Cc: Liam Girdwood
    Cc: Jaroslav Kysela
    Cc: Takashi Iwai

    Arnd Bergmann
     

17 Sep, 2012

1 commit

  • …nel/git/tmlind/linux-omap into next/cleanup

    From Tony Lindgren:

    Remove the ancient omap specific atags that are no longer needed.

    At some point we were planning to pass the bootloader information
    with custom atags that did not work out too well.

    There's no need for these any longer as the kernel has been booting
    fine without them for quite some time. And Now we have device tree
    support that can be used instead.

    * tag 'cleanup-omap-tags-for-v3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
    ARM: OMAP: remove plat/board.h file
    ARM: OMAP: move debug_card_init() function
    ARM: OMAP1: move lcd pdata out of arch/arm/*
    ARM: OMAP1: move omap1_bl pdata out of arch/arm/*
    ARM: OMAP: remove the omap custom tags
    ARM: OMAP1: remove the crystal type tag parsing
    ARM: OMAP: remove the sti console workaround
    ARM: OMAP: omap3evm: cleanup revision bits
    ARM: OMAP: cleanup struct omap_board_config_kernel
    + sync to 3.6-rc5

    Olof Johansson
     

13 Sep, 2012

1 commit


09 Sep, 2012

1 commit

  • Pull DMA-mapping fixes from Marek Szyprowski:
    "Another set of fixes for ARM dma-mapping subsystem.

    Commit e9da6e9905e6 replaced custom consistent buffer remapping code
    with generic vmalloc areas. It however introduced some regressions
    caused by limited support for allocations in atomic context. This
    series contains fixes for those regressions.

    For some subplatforms the default, pre-allocated pool for atomic
    allocations turned out to be too small, so a function for setting its
    size has been added.

    Another set of patches adds support for atomic allocations to
    IOMMU-aware DMA-mapping implementation.

    The last part of this pull request contains two fixes for Contiguous
    Memory Allocator, which relax too strict requirements."

    * 'fixes-for-3.6' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping:
    ARM: dma-mapping: IOMMU allocates pages from atomic_pool with GFP_ATOMIC
    ARM: dma-mapping: Introduce __atomic_get_pages() for __iommu_get_pages()
    ARM: dma-mapping: Refactor out to introduce __in_atomic_pool
    ARM: dma-mapping: atomic_pool with struct page **pages
    ARM: Kirkwood: increase atomic coherent pool size
    ARM: DMA-Mapping: print warning when atomic coherent allocation fails
    ARM: DMA-Mapping: add function for setting coherent pool size from platform code
    ARM: relax conditions required for enabling Contiguous Memory Allocator
    mm: cma: fix alignment requirements for contiguous regions

    Linus Torvalds
     

29 Aug, 2012

1 commit


15 Aug, 2012

1 commit

  • The mv643xx ethernet controller limits the packet size for the TX
    checksum offloading. This patch sets this limits for Kirkwood and
    Dove which have smaller limits that the default.

    As a side note, this patch is an updated version of a patch sent some years
    ago: http://lists.infradead.org/pipermail/linux-arm-kernel/2010-June/017320.html
    which seems to have been lost.

    Signed-off-by: Arnaud Patard
    Signed-off-by: Jason Cooper
    Cc:

    Arnaud Patard (Rtp)
     

13 Aug, 2012

1 commit

  • From Rob Herring :

    This is the 2nd part of mach/io.h removals. This series removes io.h on
    platforms with PCI by creating a fixed virtual I/O mapping and a common
    __io() macro.

    This version has changed a bit to accommodate Tegra converting its PCIe
    host to a platform driver. Now the virtual space is only reserved during
    early boot before .map_io() is called. The mapping is not created until
    calling pci_ioremap_io which can be done at any point after vmalloc is
    initialized.

    I've gone back to fixed 64K windows for each PCI bus. This allows
    removing all the i/o resource setup from the individually platforms and
    placing it within the common ARM PCI code.

    I've only tested versatilepb under qemu (with the model hacked up to
    actually enable i/o space), so any testing is appreciated. iop3xx and
    mv78xx0 have some risk of breaking as the PCI bus addresses are moved
    to 0 from matching the cpu host bus addesss.

    * cleanup/io-pci:
    ARM: iop3xx: use fixed PCI i/o mapping
    ARM: mv78xx0: use fixed pci i/o mapping
    ARM: iop13xx: use fixed PCI i/o mapping
    iop13xx: use more regular PCI I/O space handling
    ARM: orion5x: use fixed PCI i/o mapping
    ARM: kirkwood: use fixed PCI i/o mapping
    ARM: dove: use fixed PCI i/o mapping
    ARM: footbridge: use fixed PCI i/o mapping
    ARM: shark: use fixed PCI i/o mapping
    ARM: integrator: remove trailing whitespace on pci_v3.c
    ARM: integrator: use fixed PCI i/o mapping
    ARM: tegra: use fixed PCI i/o mapping
    ARM: versatile: use fixed PCI i/o mapping
    ARM: move PCI i/o resource setup into common code
    ARM: Add fixed PCI i/o mapping
    i2c: iop3xx: use standard gpiolib functions
    i2c: iop3xx: clean-up trailing whitespace

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     

27 Jul, 2012

1 commit


26 Jul, 2012

1 commit


25 Jul, 2012

2 commits

  • Commit 98d9986 (ARM: Kirkwood: Replace clock gating) and the fix 5fb2ce
    (ARM: Kirkwood: clk_register_gate_fn: add fn assignment) introduced a custom
    variant of clock gating which allows to define a function to be called
    before gating the clock off.

    This is used to disable the SATA and PCIe PHYs if the respective clocks
    are unused after initialization.

    However, of these two drivers, the SATA driver may be compiled as a module.
    The driver re-enables the clocks at module init but the PHYs stay disabled.

    Since the custom clock gating disabled the PHYs when gating the clock off,
    it should also re-enable them when enabling the clock gate. This is done by
    adding a second function that may be used to enable the PHYs.

    Signed-off-by: Simon Baatz
    Signed-off-by: Andrew Lunn

    Simon Baatz
     
  • Marvell engineers tell us:

    It seems that many units use the RUNIT clock.
    SPI, UART, NAND, TWSI, ...
    So it's not possible to clock gate it.

    Currently the SPI, NAND and TWSI driver will clk_prepaure_enable()
    this clk, but since we have no idea what ... is, and turning this clk
    off results in a hard lock, unconditionally enable runit.

    Signed-off-by: Andrew Lunn
    Tested-by: Simon Baatz

    Andrew Lunn
     

24 Jun, 2012

1 commit

  • In commit:
    98d9986 ARM: Kirkwood: Replace clock gating
    the kirkwood clock gating has been reworked. A custom variant of
    clock gating, that calls a custom function before gating the clock
    off, has been introduced. However in clk_register_gate_fn() this
    custom function "fn" is never assigned.

    This patch adds the missing fn assignment.

    Cc: stable
    Signed-off-by: Marc Kleine-Budde
    Tested-by: Andrew Lunn
    Acked-by: Andrew Lunn
    Signed-off-by: Olof Johansson

    Marc Kleine-Budde
     

17 Jun, 2012

1 commit

  • When the ethernet driver was built as a module, it would lock the
    machine when loaded. At boot the ethernet clks are unused, so get
    turned off. Later, when the module is loaded, the probe function
    would access the hardware before the clock was restarted, and the
    machine would lock. It has also been determined that when the clk is
    turned off, the interface forgets its MAC address, which for most
    systems, is set by the boot loader.

    When the machine setup file creates a platform device for the
    interface, prepare and enable the clock for the interface. This will
    ensure it is not turned off. However, if the setup file only
    instantiates one platform device, the other will have its clk
    disabled, thus maybe saving a little power.

    Report-by: Simon Baatz
    Signed-off-by: Andrew Lunn
    Tested-by: Simon Baatz
    Signed-off-by: Olof Johansson

    Andrew Lunn
     

09 May, 2012

1 commit

  • Add a varient of the basic clk-gate code. This variant calls a
    function before gating the clock off. This function is used to disable
    the SATA or PCIe PHY.

    Now that all the drivers prepare and enable there clk as needed, there
    is no need for the common code to keep track of which clocks need
    gating on. Let the common clock framework turn off clocks which are
    not used.

    Buy using the added clk varient, when the clk framework turns off SATA
    or PCIe clocks, we also disabled SATA and PCIe PHYs which were not
    needed.

    The function kirkwood_pcie_id() can now be called outside of __init
    code, so remove this property for it, and functions it calls.

    Signed-off-by: Andrew Lunn
    Tested-by: Jamie Lentin
    Signed-off-by: Mike Turquette

    Andrew Lunn