19 Feb, 2015

2 commits

  • of_device_ids (i.e. compatible strings and the respective data) are not
    supposed to change at runtime. All functions working with of_device_ids
    provided by work with const of_device_ids. So mark the
    non-const structs in arch/arm as const, too.

    While at it also add some __initconst annotations.

    Acked-by: Jason Cooper
    Signed-off-by: Uwe Kleine-König
    Signed-off-by: Arnd Bergmann

    Uwe Kleine-König
     
  • The definition

    static const char *axxia_dt_match[] __initconst = {
    ...

    defines a changable array of constant strings. That is you must not do:

    *axxia_dt_match[0] = 'k';

    but

    axxia_dt_match[0] = "different string";

    is fine. So the annotation __initconst is wrong and yields a compiler
    error when other really const variables are added with __initconst.

    As the struct machine_desc member dt_compat is declared as

    const char *const *dt_compat;

    making the arrays const is the better alternative over changing all
    annotations to __initdata.

    Signed-off-by: Uwe Kleine-König
    Signed-off-by: Arnd Bergmann

    Uwe Kleine-König
     

13 Dec, 2014

1 commit

  • After commit b2b49ccbdd54 (PM: Kconfig: Set PM_RUNTIME if PM_SLEEP is
    selected) PM_RUNTIME is always set if PM is set, so #ifdef blocks
    depending on CONFIG_PM_RUNTIME may now be changed to depend on
    CONFIG_PM.

    Replace CONFIG_PM_RUNTIME with CONFIG_PM everywhere in the code under
    arch/arm/ (the defconfig files will be modified later).

    Signed-off-by: Rafael J. Wysocki
    Acked-by: Nishanth Menon
    Acked-by: Sekhar Nori
    Acked-by: Santosh Shilimkar

    Rafael J. Wysocki
     

05 Nov, 2014

1 commit


17 Jun, 2014

1 commit

  • The dynamic relocation that the keystone platform performs
    only works if we can pick the phys offset at boot time. It's
    possible that there is another solution for this, but this
    is the easiest workaround. Kernels with ARM_PATCH_PHYS_VIRT
    are not portable across platforms, and I see no reason why
    anyone would run a kernel without ARM_PATCH_PHYS_VIRT on
    keystone.

    Signed-off-by: Arnd Bergmann
    Acked-by: Santosh Shilimkar

    Arnd Bergmann
     

06 Jun, 2014

1 commit


27 May, 2014

1 commit


09 May, 2014

2 commits


06 Apr, 2014

1 commit

  • Pull ARM SoC device tree changes from Arnd Bergmann:
    "A large part of the arm-soc patches are nowadays DT changes, adding
    support for new SoCs, boards and devices without changing kernel
    source. The plan is still to move the devicetree files out of the
    kernel tree and reduce the amount of churn going on here, but we keep
    finding reasons to delay doing that.

    Changes are really all over the place, with little sticking out
    particularly. We have contributions from a total of 116 people in
    this branch.

    Unfortunately, the size of this branch also causes a significant
    number of conflicts at the moment, typically when subsystem
    maintainers merge patches that change the driver at the same time as
    the dts files. In most cases this could be avoided because the dts
    changes are supposed to be compatible in both ways, and we are asking
    everyone to send ARM dts changes through our tree only"

    * tag 'dt-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (541 commits)
    dts: stmmac: Document the clocks property in the stmmac base document
    dts: socfpga: Add DTS entry for adding the stmmac glue layer for stmmac.
    ARM: STi: stih41x: Add support for the FSM Serial Flash Controller
    ARM: STi: stih416: Add support for the FSM Serial Flash Controller
    ARM: tegra: fix Dalmore pinctrl configuration
    ARM: dts: keystone: use common "ti,keystone" compatible instead of -evm
    ARM: dts: k2hk-evm: set ubifs partition size for 512M NAND
    ARM: dts: Build all keystone dt blobs
    ARM: dts: keystone: Fix control register range for clktsip
    ARM: dts: keystone: Fix domain register range for clkfftc1
    ARM: dts: bcm28155-ap: leave camldo1 on to fix reboot
    ARM: dts: add bcm590xx pmu support and enable for bcm28155-ap
    ARM: dts: bcm21664: Add device tree files.
    ARM: DT: bcm21664: Device tree bindings
    ARM: efm32: properly namespace i2c location property
    ARM: efm32: fix unit address part in USART2 device nodes' names
    ARM: mvebu: Enable NAND controller in Armada 385-DB
    ARM: mvebu: Add support for NAND controller in Armada 38x SoC
    ARM: mvebu: Add the Core Divider clock to Armada 38x SoCs
    ARM: mvebu: Add a 2 GHz fixed-clock on Armada 38x SoCs
    ...

    Linus Torvalds
     

21 Mar, 2014

1 commit

  • As suggested by Olof Johansson at
    http://www.spinics.net/lists/arm-kernel/msg314009.html.
    It be better just keeping a "ti,keystone" top-level compatible and
    just using that to probe. If so we don't have to touch the file
    for new boards in the future.

    So use common "ti,keystone" compatible in keystone.c for all boards.

    Cc: Santosh Shilimkar
    Cc: Olof Johansson

    Signed-off-by: Ivan Khoronzhuk
    Signed-off-by: Santosh Shilimkar

    Ivan Khoronzhuk
     

26 Feb, 2014

1 commit


20 Feb, 2014

2 commits


01 Feb, 2014

1 commit

  • Drop automatic selection of TI_EDMA from Keystone Kconfig file,
    as it produces build warning in case if CONFIG_DMADEVICES is not set:

    warning: (ARCH_KEYSTONE) selects TI_EDMA which has unmet direct dependencies (DMADEVICES && (ARCH_DAVINCI || ARCH_OMAP || ARCH_KEYSTONE))

    Instead enable TI EDMA support from defconfig.

    Reported-by: Russell King
    Signed-off-by: Grygorii Strashko
    Signed-off-by: Santosh Shilimkar
    Signed-off-by: Olof Johansson

    Grygorii Strashko
     

17 Dec, 2013

4 commits

  • With commit 4178bac4f {ARM: call of_clk_init from default time_init
    handler}, of_clk_init() is always called on machines using default
    time_init handler.

    So drop the of_clk_init() from keystone code to avoid below
    boot errors because of double call.

    _of_pll_clk_init: error initializing pll mainpllclk
    _of_pll_clk_init: error initializing pll papllclk
    _of_pll_clk_init: error initializing pll ddr3apllclk
    _of_pll_clk_init: error initializing pll ddr3bpllclk
    _of_pll_clk_init: error initializing pll armpllclk

    Reported-by: Grygorii Strashko
    Signed-off-by: Santosh Shilimkar

    Santosh Shilimkar
     
  • Keystone PM bus makes use of generic PM clock core backend. Since
    generic PM clock core uses platform bus notifiers to track events like
    ADD_DEVICE/DEL_DEVICE and to fill clock lists per each device, we need
    to initialise Keystone PM domains before the platform devices have been
    created.

    Hence, fix it by moving keystone_pm_runtime_init() before platform
    devices have been populated.

    Reported-by: Grygorii Strashko
    Signed-off-by: Santosh Shilimkar

    Santosh Shilimkar
     
  • Keystone II peripheral devices support 32-bit DMA and hence can access only
    first 2GB of the memory address space. So set the platform dma_zone_size
    to handle that case.

    Signed-off-by: Santosh Shilimkar

    Santosh Shilimkar
     
  • Keystone code is big endian compatible,
    so mark it as one that supports big endian.

    Note this patch just allows to select Big endian build
    for ARCH_KEYSTONE, but it does not enable BE by default.

    Signed-off-by: Taras Kondratiuk
    Signed-off-by: Santosh Shilimkar

    Taras Kondratiuk
     

12 Nov, 2013

1 commit

  • Pull devicetree updates from Rob Herring:
    "DeviceTree updates for 3.13. This is a bit larger pull request than
    usual for this cycle with lots of clean-up.

    - Cross arch clean-up and consolidation of early DT scanning code.
    - Clean-up and removal of arch prom.h headers. Makes arch specific
    prom.h optional on all but Sparc.
    - Addition of interrupts-extended property for devices connected to
    multiple interrupt controllers.
    - Refactoring of DT interrupt parsing code in preparation for
    deferred probe of interrupts.
    - ARM cpu and cpu topology bindings documentation.
    - Various DT vendor binding documentation updates"

    * tag 'devicetree-for-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (82 commits)
    powerpc: add missing explicit OF includes for ppc
    dt/irq: add empty of_irq_count for !OF_IRQ
    dt: disable self-tests for !OF_IRQ
    of: irq: Fix interrupt-map entry matching
    MIPS: Netlogic: replace early_init_devtree() call
    of: Add Panasonic Corporation vendor prefix
    of: Add Chunghwa Picture Tubes Ltd. vendor prefix
    of: Add AU Optronics Corporation vendor prefix
    of/irq: Fix potential buffer overflow
    of/irq: Fix bug in interrupt parsing refactor.
    of: set dma_mask to point to coherent_dma_mask
    of: add vendor prefix for PHYTEC Messtechnik GmbH
    DT: sort vendor-prefixes.txt
    of: Add vendor prefix for Cadence
    of: Add empty for_each_available_child_of_node() macro definition
    arm/versatile: Fix versatile irq specifications.
    of/irq: create interrupts-extended property
    microblaze/pci: Drop PowerPC-ism from irq parsing
    of/irq: Create of_irq_parse_and_map_pci() to consolidate arch code.
    of/irq: Use irq_of_parse_and_map()
    ...

    Linus Torvalds
     

15 Oct, 2013

1 commit


11 Oct, 2013

2 commits

  • Select the TI EDMA to be able to enable SPI driver on Keystone
    SOCs. Keystone SOCs share the EDMA IP with other TI SOCs.

    Note that EDMA support hasn't been added and tested yet for
    Keystone SOC data(device tree), but building it, is harmless since
    driver like SPI already takes care of supporting non-dma mode
    in the absence of such data.

    Signed-off-by: Santosh Shilimkar

    Santosh Shilimkar
     
  • Add runtime PM core support to Keystone SOCs by using the pm_clk
    infrastructure of the PM core. Patch is based on Kevin's pm_domain
    work on DaVinci SOCs.

    Keystone SOC doesn't have depedency to enable clocks in early
    in the boot and hence the clock and PM domain initialisation is done
    at subsys_init() level.

    Cc: Kevin Hilman

    Signed-off-by: Santosh Shilimkar

    Santosh Shilimkar
     

10 Oct, 2013

1 commit


09 Oct, 2013

1 commit


30 Aug, 2013

1 commit

  • …/scm/linux/kernel/git/tmlind/linux-omap into next/fixes-non-critical

    From Tony Lindgren:
    Omap fixes for the merge window that are not urgent enough
    for the -rc series.

    * tag 'omap-for-v3.12/fixes-non-critical-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
    ARM: OMAP2: use 'int' instead of 'unsigned' for variable 'gpmc_irq_start'
    ARM: OMAP2: remove useless variable 'ret'
    ARM: OMAP: dma: fix error return code in omap_system_dma_probe()
    ARM: OMAP2+: fix wrong address when loading PRM_FRAC_INCREMENTOR_DENUMERATOR_RELOAD
    ARM: OMAP2+: am33xx-restart: trigger warm reset on omap2+ boards
    ARM: OMAP2: Use a consistent AM33XX SoC option description
    ARM: OMAP2+: Remove legacy device creation for McPDM and DMIC
    + Linux 3.11-rc6

    Olof Johansson
     

06 Aug, 2013

4 commits


24 Jul, 2013

1 commit

  • Fix the following compilation warning:

    arch/arm/mach-keystone/keystone.c:74:2: warning: initialization from incompatible pointer type [enabled by default]
    arch/arm/mach-keystone/keystone.c:74:2: warning: (near initialization for ‘__mach_desc_KEYSTONE.restart’) [enabled by default]

    Signed-off-by: Vincent Stehlé
    Cc: Robin Holt
    Cc: Russell King
    Cc: trivial@kernel.org
    Signed-off-by: Olof Johansson

    Vincent Stehlé
     

15 Jul, 2013

1 commit

  • The __cpuinit type of throwaway sections might have made sense
    some time ago when RAM was more constrained, but now the savings
    do not offset the cost and complications. For example, the fix in
    commit 5e427ec2d0 ("x86: Fix bit corruption at CPU resume time")
    is a good example of the nasty type of bugs that can be created
    with improper use of the various __init prefixes.

    After a discussion on LKML[1] it was decided that cpuinit should go
    the way of devinit and be phased out. Once all the users are gone,
    we can then finally remove the macros themselves from linux/init.h.

    Note that some harmless section mismatch warnings may result, since
    notify_cpu_starting() and cpu_up() are arch independent (kernel/cpu.c)
    and are flagged as __cpuinit -- so if we remove the __cpuinit from
    the arch specific callers, we will also get section mismatch warnings.
    As an intermediate step, we intend to turn the linux/init.h cpuinit
    related content into no-ops as early as possible, since that will get
    rid of these warnings. In any case, they are temporary and harmless.

    This removes all the ARM uses of the __cpuinit macros from C code,
    and all __CPUINIT from assembly code. It also had two ".previous"
    section statements that were paired off against __CPUINIT
    (aka .section ".cpuinit.text") that also get removed here.

    [1] https://lkml.org/lkml/2013/5/20/589

    Cc: Russell King
    Cc: Will Deacon
    Cc: linux-arm-kernel@lists.infradead.org
    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     

24 Jun, 2013

2 commits


18 Jun, 2013

2 commits

  • Add basic SMP support for Keystone machines. This does not
    include support for CPU hotplug for now.

    Cc: Arnd Bergmann
    Cc: arm@kernel.org

    Acked-by: Olof Johansson
    Signed-off-by: Santosh Shilimkar

    Santosh Shilimkar
     
  • Texas Instruments Keystone family of multi-core devices are
    based on ARM Cortex A15. Patch adds basic definitions for a
    new Keystone sub-architecture in ARM.

    The TCI66xxK2H Communications Infrastructure Keystone SoCs
    are member of the C66x family based on TI's new KeyStone 2
    multi-core SoC Architecture designed specifically for high
    performance wireless and networking infrastructure applications.
    The SOCs contains many subsystems like Cortex A15 ARM CorePacs,
    C66XX DSP CorePacs, MSMC memory controller, Tera Net bus,
    IP Network, Navigator, Hyperlink, 1G/10G Ethernet, Radio layers
    and queue based communication systems.

    Cc: Arnd Bergmann
    Cc: arm@kernel.org

    Acked-by: Olof Johansson
    Signed-off-by: Santosh Shilimkar

    Santosh Shilimkar