05 May, 2013

1 commit

  • Pull ARM SoC driver changes from Olof Johansson:
    "This is a rather large set of patches for device drivers that for one
    reason or another the subsystem maintainer preferred to get merged
    through the arm-soc tree. There are both new drivers as well as
    existing drivers that are getting converted from platform-specific
    code into standalone drivers using the appropriate subsystem specific
    interfaces.

    In particular, we can now have pinctrl, clk, clksource and irqchip
    drivers in one file per driver, without the need to call into platform
    specific interface, or to get called from platform specific code, as
    long as all information about the hardware is provided through a
    device tree.

    Most of the drivers we touch this time are for clocksource. Since now
    most of them are part of drivers/clocksource, I expect that we won't
    have to touch these again from arm-soc and can let the clocksource
    maintainers take care of these in the future.

    Another larger part of this series is specific to the exynos platform,
    which is seeing some significant effort in upstreaming and
    modernization of its device drivers this time around, which
    unfortunately is also the cause for the churn and a lot of the merge
    conflicts.

    There is one new subsystem that gets merged as part of this series:
    the reset controller interface, which is a very simple interface for
    taking devices on the SoC out of reset or back into reset. Patches to
    use this interface on i.MX follow later in this merge window, and we
    are going to have other platforms (at least tegra and sirf) get
    converted in 3.11. This will let us get rid of platform specific
    callbacks in a number of platform independent device drivers."

    * tag 'drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (256 commits)
    irqchip: s3c24xx: add missing __init annotations
    ARM: dts: Disable the RTC by default on exynos5
    clk: exynos5250: Fix parent clock for sclk_mmc{0,1,2,3}
    ARM: exynos: restore mach/regs-clock.h for exynos5
    clocksource: exynos_mct: fix build error on non-DT
    pinctrl: vt8500: wmt: Fix checking return value of pinctrl_register()
    irqchip: vt8500: Convert arch-vt8500 to new irqchip infrastructure
    reset: NULL deref on allocation failure
    reset: Add reset controller API
    dt: describe base reset signal binding
    ARM: EXYNOS: Add arm-pmu DT binding for exynos421x
    ARM: EXYNOS: Add arm-pmu DT binding for exynos5250
    ARM: EXYNOS: Enable PMUs for exynos4
    irqchip: exynos-combiner: Correct combined IRQs for exynos4
    irqchip: exynos-combiner: Add set_irq_affinity function for combiner_irq
    ARM: EXYNOS: fix compilation error introduced due to common clock migration
    clk: exynos5250: Fix divider values for sclk_mmc{0,1,2,3}
    clk: exynos4: export clocks required for fimc-is
    clk: samsung: Fix compilation error
    clk: tegra: fix enum tegra114_clk to match binding
    ...

    Linus Torvalds
     

09 Apr, 2013

1 commit

  • During the introduction of the Allwinner SoC platforms, sunxi was
    initially meant as a generic name for all the variants of the Allwinner
    SoC.

    It was ok at the time of the support of only the A10 and A13 that
    looks pretty much the same, but it's beginning to be troublesome with
    the future addition of the Allwinner A31 (sun6i) that is quite
    different, and would introduce some weird logic, where sunxi would
    actually mean in some case sun4i and sun5i but without sun6i...

    Moreover, it makes the compatible strings naming scheme not consistent
    with other architectures, where usually for this kind of compability, we
    just use the oldest SoC name that has this IP, so let's do just this.

    Signed-off-by: Maxime Ripard

    Maxime Ripard
     

04 Apr, 2013

1 commit


17 Nov, 2012

1 commit


07 Oct, 2012

1 commit


04 Oct, 2012

1 commit

  • Pull devicetree updates from Rob Herring:
    - Import of latest upstream device tree compiler (dtc)
    - New function of_get_child_by_name
    - Support for #size-cells of 0 and #addr-cells of >2
    - Couple of DT binding documentation updates

    Fix up trivial conflicts due to of_get_child_by_name() having been added
    next to the new of_get_next_available_child().

    * tag 'dt-for-3.7' of git://sources.calxeda.com/kernel/linux:
    MAINTAINERS: add scripts/dtc under Devicetree maintainers
    dtc: import latest upstream dtc
    dt: Document general interrupt controller bindings
    dt/s3c64xx/spi: Use of_get_child_by_name to get a named child
    dt: introduce of_get_child_by_name to get child node by name
    of: i2c: add support for wakeup-source property
    of/address: Handle #address-cells > 2 specially
    DT: export of_irq_to_resource_table()
    devicetree: serial: Add documentation for imx serial
    devicetree: pwm: mxs-pwm.txt: Fix reg field annotation
    of: Allow busses with #size-cells=0

    Linus Torvalds
     

01 Oct, 2012

1 commit

  • In order to use a device as interrupt controller, it needs to be marked
    with the DT interrupt-controller property. This commit adds rudimentary
    documentation about the required standard properties and describes the
    most commonly used interrupt specifiers.

    Cc: Linus Walleij
    Cc: Grant Likely
    Acked-by: Stephen Warren
    Cc: devicetree-discuss@lists.ozlabs.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Thierry Reding
    Signed-off-by: Rob Herring

    Thierry Reding
     

20 Sep, 2012

1 commit

  • The BCM2835 contains a custom interrupt controller, which supports 72
    interrupt sources using a 2-level register scheme. The interrupt
    controller, or the HW block containing it, is referred to occasionally
    as "armctrl" in the SoC documentation, hence the symbol naming in the
    code.

    This patch was extracted from git://github.com/lp0/linux.git branch
    rpi-split as of 2012/09/08, and modified as follows:

    * s/bcm2708/bcm2835/.
    * Modified device tree vendor prefix.
    * Moved implementation to drivers/irchip/.
    * Added devicetree documentation, and hence removed list of IRQs from
    bcm2835.dtsi.
    * Changed shift in MAKE_HWIRQ() and HWIRQ_BANK() from 8 to 5 to reduce
    the size of the hwirq space, and pass the total size of the hwirq space
    to irq_domain_add_linear(), rather than just the number of valid hwirqs;
    the two are different due to the hwirq space being sparse.
    * Added the interrupt controller DT node to the top-level of the DT,
    rather than nesting it inside a /axi node. Hence, changed the reg value
    since /axi had a ranges property. This seems simpler to me, but I'm not
    sure if everyone will like this change or not.
    * Don't set struct irq_domain_ops.map = irq_domain_simple_map, hence
    removing the need to patch include/linux/irqdomain.h or
    kernel/irq/irqdomain.c.
    * Simplified armctrl_of_init() using of_iomap().
    * Removed unused IS_VALID_BANK()/IS_VALID_IRQ() macros.
    * Renamed armctrl_handle_irq() to prevent possible symbol clashes.
    * Made armctrl_of_init() static.
    * Removed comment "Each bank is registered as a separate interrupt
    controller" since this is no longer true.
    * Removed FSF address from license header.
    * Added my name to copyright header.

    Signed-off-by: Chris Boot
    Signed-off-by: Simon Arlott
    Signed-off-by: Dom Cobley
    Signed-off-by: Dom Cobley
    Signed-off-by: Stephen Warren
    Acked-by: Arnd Bergmann

    Simon Arlott