summaryrefslogtreecommitdiffstats
path: root/arch/arm
AgeCommit message (Collapse)Author
2013-06-20ARM: kernel: build MPIDR hash function data structureLorenzo Pieralisi
On ARM SMP systems, cores are identified by their MPIDR register. The MPIDR guidelines in the ARM ARM do not provide strict enforcement of MPIDR layout, only recommendations that, if followed, split the MPIDR on ARM 32 bit platforms in three affinity levels. In multi-cluster systems like big.LITTLE, if the affinity guidelines are followed, the MPIDR can not be considered an index anymore. This means that the association between logical CPU in the kernel and the HW CPU identifier becomes somewhat more complicated requiring methods like hashing to associate a given MPIDR to a CPU logical index, in order for the look-up to be carried out in an efficient and scalable way. This patch provides a function in the kernel that starting from the cpu_logical_map, implement collision-free hashing of MPIDR values by checking all significative bits of MPIDR affinity level bitfields. The hashing can then be carried out through bits shifting and ORing; the resulting hash algorithm is a collision-free though not minimal hash that can be executed with few assembly instructions. The mpidr is filtered through a mpidr mask that is built by checking all bits that toggle in the set of MPIDRs corresponding to possible CPUs. Bits that do not toggle do not carry information so they do not contribute to the resulting hash. Pseudo code: /* check all bits that toggle, so they are required */ for (i = 1, mpidr_mask = 0; i < num_possible_cpus(); i++) mpidr_mask |= (cpu_logical_map(i) ^ cpu_logical_map(0)); /* * Build shifts to be applied to aff0, aff1, aff2 values to hash the mpidr * fls() returns the last bit set in a word, 0 if none * ffs() returns the first bit set in a word, 0 if none */ fs0 = mpidr_mask[7:0] ? ffs(mpidr_mask[7:0]) - 1 : 0; fs1 = mpidr_mask[15:8] ? ffs(mpidr_mask[15:8]) - 1 : 0; fs2 = mpidr_mask[23:16] ? ffs(mpidr_mask[23:16]) - 1 : 0; ls0 = fls(mpidr_mask[7:0]); ls1 = fls(mpidr_mask[15:8]); ls2 = fls(mpidr_mask[23:16]); bits0 = ls0 - fs0; bits1 = ls1 - fs1; bits2 = ls2 - fs2; aff0_shift = fs0; aff1_shift = 8 + fs1 - bits0; aff2_shift = 16 + fs2 - (bits0 + bits1); u32 hash(u32 mpidr) { u32 l0, l1, l2; u32 mpidr_masked = mpidr & mpidr_mask; l0 = mpidr_masked & 0xff; l1 = mpidr_masked & 0xff00; l2 = mpidr_masked & 0xff0000; return (l0 >> aff0_shift | l1 >> aff1_shift | l2 >> aff2_shift); } The hashing algorithm relies on the inherent properties set in the ARM ARM recommendations for the MPIDR. Exotic configurations, where for instance the MPIDR values at a given affinity level have large holes, can end up requiring big hash tables since the compression of values that can be achieved through shifting is somewhat crippled when holes are present. Kernel warns if the number of buckets of the resulting hash table exceeds the number of possible CPUs by a factor of 4, which is a symptom of a very sparse HW MPIDR configuration. The hash algorithm is quite simple and can easily be implemented in assembly code, to be used in code paths where the kernel virtual address space is not set-up (ie cpu_resume) and instruction and data fetches are strongly ordered so code must be compact and must carry out few data accesses. Cc: Will Deacon <will.deacon@arm.com> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Russell King <linux@arm.linux.org.uk> Cc: Colin Cross <ccross@android.com> Cc: Santosh Shilimkar <santosh.shilimkar@ti.com> Cc: Daniel Lezcano <daniel.lezcano@linaro.org> Cc: Amit Kucheria <amit.kucheria@linaro.org> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Reviewed-by: Dave Martin <Dave.Martin@arm.com> Reviewed-by: Nicolas Pitre <nico@linaro.org> Tested-by: Shawn Guo <shawn.guo@linaro.org> Tested-by: Kevin Hilman <khilman@linaro.org> Tested-by: Stephen Warren <swarren@wwwdotorg.org>
2013-06-20ARM: u300: only build for ARCH_MULTI_V5Arnd Bergmann
This avoids impossible platform combinations, as we cannot build a combined V5 + V6/V7 kernel. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Linus Walleij <linus.walleij@linaro.org>
2013-06-20ARM: davinci: da850: Use #include for all device treesPhilip Avinash
Replace /include/ by #include for da850 device tree files, in order to use the C pre-processor, making use of #define features possible. Signed-off-by: Philip Avinash <avinashphilip@ti.com> Signed-off-by: Sekhar Nori <nsekhar@ti.com>
2013-06-20Merge branch 'linus' into patchworkMauro Carvalho Chehab
* linus: (1465 commits) ARM: tegra30: clocks: Fix pciex clock registration lseek(fd, n, SEEK_END) does *not* go to eof - n Linux 3.10-rc6 smp.h: Use local_irq_{save,restore}() in !SMP version of on_each_cpu(). powerpc: Fix missing/delayed calls to irq_work powerpc: Fix emulation of illegal instructions on PowerNV platform powerpc: Fix stack overflow crash in resume_kernel when ftracing snd_pcm_link(): fix a leak... use can_lookup() instead of direct checks of ->i_op->lookup move exit_task_namespaces() outside of exit_notify() fput: task_work_add() can fail if the caller has passed exit_task_work() xfs: don't shutdown log recovery on validation errors xfs: ensure btree root split sets blkno correctly xfs: fix implicit padding in directory and attr CRC formats xfs: don't emit v5 superblock warnings on write mei: me: clear interrupts on the resume path mei: nfc: fix nfc device freeing mei: init: Flush scheduled work before resetting the device sctp: fully initialize sctp_outq in sctp_outq_init netiucv: Hold rtnl between name allocation and device registration. ...
2013-06-20ARM: nomadik: add the new clocks to the device treeLinus Walleij
This revamps the device tree to fit with the new clock implementation and brings it quite a bit closer to how the hardware actually works. After this the clock implementation knows about all clock gates and will gate off all unused clocks at boot time and save a bit of power. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2013-06-20Merge tag 'imx-soc-3.11' of git://git.linaro.org/people/shawnguo/linux-2.6 ↵Arnd Bergmann
into next/soc From Shawn Guo: imx soc changes for 3.11: * New SoCs i.MX6 Sololite and Vybrid VF610 support * imx5 and imx6 clock fixes and additions * Update clock driver to use of_clk_init() function * Refactor restart routine mxc_restart() to get it work for DT boot as well * Clean up mxc specific ulpi access ops * imx defconfig updates * tag 'imx-soc-3.11' of git://git.linaro.org/people/shawnguo/linux-2.6: (29 commits) ARM: imx_v6_v7_defconfig: Enable Vybrid VF610 ARM: imx_v6_v7_defconfig: Enable imx-wm8962 by default ARM: clk-imx6qdl: Add clko1 configuration for imx6qdl-sabresd ARM: imx_v6_v7_defconfig: Enable PWM and backlight options ARM: imx: Remove mxc specific ulpi access ops ARM: imx: add initial support for VF610 ARM: imx: add VF610 clock support ARM: imx_v6_v7_defconfig: enable parallel display ARM: imx: clk: No need to initialize phandle struct ARM: imx: irq-common: Include header to avoid sparse warning ARM: imx: Enable mx6 solo-lite support ARM: imx6: use common of_clk_init() call to initialize clocks ARM: imx6q: call of_clk_init() to register fixed rate clocks ARM: imx: imx_v6_v7_defconfig: Select CONFIG_DRM_IMX_TVE ARM: i.MX6: clk: add different DualLite MLB clock config ARM i.MX5: Add S/PDIF clocks ARM i.MX53: Add SATA clock ARM: imx6q: clk: add the eim_slow clock ARM: imx: remove MLB PLL from pllv3 ARM: imx: disable pll8_mlb in mx6q_clks ... Conflicts: arch/arm/Kconfig.debug (simple add/add conflict) Includes an update to 3.10-rc6 Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2013-06-20Merge tag 'imx-dt-3.11' of git://git.linaro.org/people/shawnguo/linux-2.6 ↵Arnd Bergmann
into next/dt From Shawn Guo: imx device tree changes for 3.11: * A bunch of new board additions, imx6sl-evk, vf610-twr, imx53-tx53, imx53-m53evk and imx27-phytec-phycore * Various pinctrl setting updates and additions * Enable various on board peripherals, usb, audio, nor, display etc. * Configure L2 cache data and tag latency from device tree * Add imx-weim bus driver * tag 'imx-dt-3.11' of git://git.linaro.org/people/shawnguo/linux-2.6: (82 commits) ARM: dts: imx27: Add VPU devicetree node ARM: mxc: fix gpio-ranges for VF610 ARM: dtsi: imx6qdl-sabresd: Enable WM8962 audio support ARM: dtsi: imx6qdl-sabresd: Enable SSI2 and AUDMUX ARM: dtsi: imx6qdl-sabresd: Add WM8962 CODEC support ARM: dtsi: imx6qdl-sabresd: add a fixed regulator for WM8962 ARM: dtsi: imx6dl: Add a pinctrl for AUDMUX ARM: dtsi: imx6q/imx6dl: Add a pinctrl for I2C1 ARM: dts: imx6qdl-sabresd: add clko1 iomux configuration ARM: dts: Phytec imx6q pfla02 and pbab01 support ARM: dts: imx6q: Add pinctrl for usdhc2 and enet ARM: dts: imx27-phytec-phycore-rdk: Add MTD name for NOR flash ARM: dts: imx27-phytec-phycore-rdk: Add SDHC support ARM: dts: i.MX27: Add SDHC devicetree nodes ARM: dts: i.MX27: Add DMA devicetree node ARM: dts: imx6qdl-sabreauto: enable the WEIM NOR ARM: dts: imx6dl: add pinctrls for WEIM NOR ARM: dts: imx6q: add pinctrls for WEIM NOR ARM: dts: imx6qdl: add more information for WEIM ARM: dts: imx6q{dl}: fix the pin conflict between SPI and WEIM ... Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2013-06-20Merge tag 'imx-soc-3.11' of git://git.linaro.org/people/shawnguo/linux-2.6 ↵Arnd Bergmann
into next/dt This is a dependency for imx/dt Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2013-06-20Merge tag 'mxs-dt-3.11' of git://git.linaro.org/people/shawnguo/linux-2.6 ↵Arnd Bergmann
into next/dt From Shawn Guo: mxs device tree changes for 3.11: * A couple of new board support, cfa10055 and cfa10057 * A few updates on cfa10036 device tree source * Some auart pinctrl data addition * Adopt soc bus infrastructure for mach-mxs * tag 'mxs-dt-3.11' of git://git.linaro.org/people/shawnguo/linux-2.6: ARM: mxs: dt: Add Crystalfontz CFA-10057 device tree ARM: mxs: dt: Add the Crystalfontz CFA-10055 device tree ARM: cfa10049: Switch the chip select pin of the LCD controller ARM: cfa10036: Add USB0 OTG port ARM: dts: apf28dev: Add touchscreen support for APF28dev ARM: mxs: Fix UARTs on M28EVK ARM: cfa10036: dt: Change i2c0 clock frequency ARM: dts: cfa10036: Change the OLED display to SSD1306 ARM: mx28: add auart4 2 pins pinmux to imx28.dtsi ARM: mx28: add auart3 2 pins pinmux to imx28.dtsi ARM: mx28: add auart2 2 pins pinmux to imx28.dtsi ARM: mxs: Use soc bus infrastructure ARM: dts: mx28: Adjust the digctl compatible string ARM: mxs: Remove init_irq declaration in machine description Includes an update to 3.10-rc6 Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2013-06-20Merge tag 'u300-multiplatform' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson into next/soc From Linus Walleij: Device Tree and Multiplatform support for U300: - Add devicetree support to timer, pinctrl (probe), I2C block, watchdog, DMA controller and clocks. - Piecewise add a device tree containing all peripherals. - Delete the ATAG boot path. - Delete redundant platform data and board files. - Convert to multiplatform. * tag 'u300-multiplatform' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson: (40 commits) ARM: u300: switch to using syscon regmap for board ARM: u300: Update MMC configs for u300 defconfig spi: pl022: use DMA by default when probing from DT pinctrl: get rid of all platform data for coh901 ARM: u300: convert MMC/SD clock to device tree ARM: u300: move the gated system controller clocks to DT i2c: stu300: do not request a specific clock name clk: move the U300 fixed and fixed-factor to DT ARM: u300: remove register definition file ARM: u300: add syscon node ARM: u300 use module_spi_driver to register driver ARM: u300: delete remnant machine headers ARM: u300: convert to multiplatform ARM: u300: localize <mach/u300-regs.h> ARM: u300: delete <mach/irqs.h> ARM: u300: delete <mach/hardware.h> ARM: u300: push down syscon registers ARM: u300: remove deps from debug macro ARM: u300: move debugmacro to debug includes ARM: u300: delete all static board data ... Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2013-06-19Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netDavid S. Miller
Conflicts: drivers/net/wireless/ath/ath9k/Kconfig drivers/net/xen-netback/netback.c net/batman-adv/bat_iv_ogm.c net/wireless/nl80211.c The ath9k Kconfig conflict was a change of a Kconfig option name right next to the deletion of another option. The xen-netback conflict was overlapping changes involving the handling of the notify list in xen_netbk_rx_action(). Batman conflict resolution provided by Antonio Quartulli, basically keep everything in both conflict hunks. The nl80211 conflict is a little more involved. In 'net' we added a dynamic memory allocation to nl80211_dump_wiphy() to fix a race that Linus reported. Meanwhile in 'net-next' the handlers were converted to use pre and post doit handlers which use a flag to determine whether to hold the RTNL mutex around the operation. However, the dump handlers to not use this logic. Instead they have to explicitly do the locking. There were apparent bugs in the conversion of nl80211_dump_wiphy() in that we were not dropping the RTNL mutex in all the return paths, and it seems we very much should be doing so. So I fixed that whilst handling the overlapping changes. To simplify the initial returns, I take the RTNL mutex after we try to allocate 'tb'. Signed-off-by: David S. Miller <davem@davemloft.net>
2013-06-20Merge tag 'zynq-dt-for-3.11' of git://git.xilinx.com/linux-xlnx into next/dtArnd Bergmann
From Michal Simek: arm: Xilinx Zynq dt changes for v3.11 The branch contains: - DT uart handling cleanup - Support for zc706 and zed board - Removal of board compatible string * tag 'zynq-dt-for-3.11' of git://git.xilinx.com/linux-xlnx: arm: dt: zynq: Add support for the zed platform arm: dt: zynq: Add support for the zc706 platform arm: dt: zynq: Use 'status' property for UART nodes arm: zynq: Remove board specific compatibility string clk: zynq: Remove deprecated clock code arm: zynq: Migrate platform to clock controller clk: zynq: Add clock controller driver clk: zynq: Factor out PLL driver Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2013-06-20Merge tag 'zynq-cleanup-for-3.11' of git://git.xilinx.com/linux-xlnx into ↵Arnd Bergmann
next/cleanup From Michal Simek: arm: Xilinx Zynq cleanup patches for v3.11 This branch contains two fixes: - Fix zynq smp code - Do not specify init_irq ptr * tag 'zynq-cleanup-for-3.11' of git://git.xilinx.com/linux-xlnx: ARM: zynq: Not to rewrite jump code when starting address is 0x0 ARM: zynq: Remove init_irq declaration in machine description Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2013-06-20ARM: sirf: use CONFIG_SIRF rather than CONFIG_PRIMA2 where necessaryArnd Bergmann
I got a build error today that made me realize that it is not possible to build a kernel for a SiRF platform without enabling CONFIG_PRIMA2, since a lot of common code depends on CONFIG_PRIMA2. This fixes all occurences that appear like common SiRF code. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Wolfram Sang <wsa@the-dreams.de> Acked-by: Mark Brown <broonie@linaro.org> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Acked-by: Barry Song <Baohua.Song@csr.com> Acked-by: Mike Turquette <mturquette@linaro.org>
2013-06-20Merge tag 'integrator-pci-for-arm-soc' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into next/soc From Linus Walleij: This is a patch series that: - Pulls the Integrator/AP PCI bridge driver into one file - Adds full device tree support for it - Keeps ATAG support around for the time being * tag 'integrator-pci-for-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator: ARM: integrator: basic PCIv3 device tree support ARM: integrator: move static ioremapping into PCIv3 driver ARM: integrator: move VGA base assignment ARM: integrator: remap PCIv3 base dynamically ARM: integrator: move V3 register definitions into driver ARM: integrator: move PCI base address grab to probe ARM: integrator: grab PCI error IRQ in probe() ARM: integrator: convert PCIv3 bridge to platform device ARM: integrator: merge PCIv3 driver into one file ARM: pci: create pci_common_init_dev() Documentation/devicetree: add a small note on PCI Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2013-06-19ARM: dts: omap5-uevm: Provide USB Host PHY clock frequencyRoger Quadros
USB Host PHY clock on port 2 must be configured to 19.2MHz. Provide this information. Cc: Sricharan R <r.sricharan@ti.com> Signed-off-by: Roger Quadros <rogerq@ti.com> Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>
2013-06-19ARM: dts: omap4-panda: Fix DVI EDID readsRoger Quadros
On Panda the +5V supply for DVI EDID is supplied by the same regulator that poweres the USB Hub. Currently, the DSS/DVI subsystem doesn't know how to manage this regulator and so DVI EDID reads will fail if USB Hub is not enabled. As a temporary fix we keep this regulator permanently enabled on boot. This fixes the DVI EDID read problem. CC: Tomi Valkeinen <tomi.valkeinen@ti.com> Signed-off-by: Roger Quadros <rogerq@ti.com> Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>
2013-06-19ARM: dts: omap4-panda: Add USB Host supportRoger Quadros
Provide the RESET and Power regulators for the USB PHY, the USB Host port mode and the PHY device. Also provide pin multiplexer information for the USB host pins. HACK: The reset control need to be replaced with the proper gpio-controlled reset driver as soon it will be merged [1]. [1] http://thread.gmane.org/gmane.linux.drivers.devicetree/36830 Signed-off-by: Roger Quadros <rogerq@ti.com> [benoit.cousson@linaro.org: Add disclaimer about the reset control inside changelog and code] Cc: Florian Vaussard <florian.vaussard@epfl.ch> Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>
2013-06-19Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-armLinus Torvalds
Pull ARM fixes from Russell King: "The larger changes this time are - "ARM: 7755/1: handle user space mapped pages in flush_kernel_dcache_page" which fixes more data corruption problems with O_DIRECT - "ARM: 7759/1: decouple CPU offlining from reboot/shutdown" which gets us back to working shutdown/reboot on SMP platforms - "ARM: 7752/1: errata: LoUIS bit field in CLIDR register is incorrect" which fixes a shutdown regression found in v3.10 on Versatile Express platforms. The remainder are the quite small, maybe one or two line changes" * 'fixes' of git://git.linaro.org/people/rmk/linux-arm: ARM: 7759/1: decouple CPU offlining from reboot/shutdown ARM: 7756/1: zImage/virt: remove hyp-stub.S during distclean ARM: 7755/1: handle user space mapped pages in flush_kernel_dcache_page ARM: 7754/1: Fix the CPU ID and the mask associated to the PJ4B ARM: 7753/1: map_init_section flushes incorrect pmd ARM: 7752/1: errata: LoUIS bit field in CLIDR register is incorrect
2013-06-19arm: mvebu: enable mini-PCIe connectors on Armada 370 RDThomas Petazzoni
The Armada 370 RD board has two internal mini-PCIe connectors. This commit adds the necessary Device Tree informations to enable the usage of those mini-PCIe connectors. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Florian Fainelli <florian@openwrt.org> Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-06-19ARM: dts: add pinctrl support to EXYNOS5420Leela Krishna Amudala
Add the required pin configuration support to EXYNOS5420 using pinctrl interface. Signed-off-by: Leela Krishna Amudala <l.krishna@samsung.com> Reviewed-by: Doug Anderson <dianders@chromium.org> Acked-by: Tomasz Figa <t.figa@samsung.com> Tested-by : Sunil Joshi <joshi@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2013-06-19ARM: dts: AM43x EPOS EVM supportAfzal Mohammed
Add AM43x ePOS EVM minimal DT source - this is a minimal one to get it booting. Also include it in omap2plus dtbs and document bindings. The hardware is under development. Signed-off-by: Afzal Mohammed <afzal@ti.com> Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>
2013-06-19ARM: dts: OMAP5: Add bandgap DT entryEduardo Valentin
Add bandgap device DT entry for OMAP5 dtsi. Cc: Tony Lindgren <tony@atomide.com> Cc: Russell King <linux@arm.linux.org.uk> Signed-off-by: Eduardo Valentin <eduardo.valentin@ti.com> Signed-off-by: J Keerthy <j-keerthy@ti.com> [benoit.cousson@linaro.org: Fix alignement and use the macros for IRQ attributes] Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>
2013-06-19ARM: dts: AM33XX: Add pinmux configuration for CPSW to am335x EVMMugunthan V N
Add pinmux configurations for RGMII based CPSW ethernet to am335x-evm. Default mode is nothing but the values required for the module during active state. With this configurations module is functional as expected. Sleep mode is nothing but the values required for the module during inactive state. The pins are configured to its reset state to optimize energy usage for the pins for the suspend/resume cycle Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>
2013-06-19ARM: dts: AM33XX: Add pinmux configuration for CPSW to EVMskMugunthan V N
Add pinmux configurations for RGMII based CPSW ethernet to AM335x EVMsk. Default mode is nothing but the values required for the module during active state. With this configurations module is functional as expected. Sleep mode is nothing but the values required for the module during inactive state. The pins are configured to its reset state to optimize energy usage for the pins for the suspend/resume cycle Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>
2013-06-19ARM: dts: AM33XX: Add pinmux configuration for CPSW to beagleboneMugunthan V N
Add pinmux configurations for MII based CPSW ethernet to am335x-bone. Default mode is nothing but the values required for the module during active state. With this configurations module is functional as expected. Sleep mode is nothing but the values required for the module during inactive state. The pins are configured to its reset state to optimize energy usage for the pins for the suspend/resume cycle Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>
2013-06-19ARM: dts: omap3-overo: Add default trigger for TWL4030 LEDFlorian Vaussard
Commit c971ff1 'leds: leds-pwm: Defer led_pwm_set() if PWM can sleep' fixed a crash when using a trigger with a pwm-led provided by an external chip. Now it is safe to add the default trigger according to board-overo.c. Signed-off-by: Florian Vaussard <florian.vaussard@epfl.ch> Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>
2013-06-19ARM: dts: omap3-tobi: Correct polarity for GPIO LEDFlorian Vaussard
The LED is active low, not active high. Signed-off-by: Florian Vaussard <florian.vaussard@epfl.ch> Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>
2013-06-19ARM: dts: omap3-tobi: Add SMSC911X nodeFlorian Vaussard
The Tobi expansion boards embeds a SMSC LAN8700 PHY. Add the corresponding node into the DT. The regulators are not designed to be turned off. Signed-off-by: Florian Vaussard <florian.vaussard@epfl.ch> Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>
2013-06-19ARM: dts: OMAP3: Include IRQ headerFlorian Vaussard
Some nodes in OMAP3 DTS now use edge or level sensitive interrupts. Signed-off-by: Florian Vaussard <florian.vaussard@epfl.ch> Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>
2013-06-19ARM: multi_v7: Enable Allwinner EMAC in multi_v7_defconfigMaxime Ripard
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2013-06-19ARM: sunxi: Add Olimex A10s-Olinuxino-micro device treeMaxime Ripard
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Tested-by: Emilio López <emilio@elopez.com.ar> Acked-by: Emilio López <emilio@elopez.com.ar>
2013-06-18Input: pxa27x-keypad - use matrix_keymap for matrix keysChao Xie
pxa27x-keypad includes matrix keys. Make use of matrix_keymap for the matrix keys. Signed-off-by: Chao Xie <chao.xie@marvell.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2013-06-18ARM: AM33XX: clock data: Enable clkout2 as part of initVaibhav Hiremath
clkout2 comes out on the pad and is being used by various external on-board peripherals like, Audio codecs and stuff. So enable the clkout2 by default during init sequence itself. Also, add the missing entry of "clkout2_ck" to the clock table. Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com> Acked-by: Paul Walmsley <paul@pwsan.com> Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>
2013-06-18ARM: AM33XX: clock: Add debugSS clock nodesVaibhav Hiremath
Represent debugSS clock interface as provided in CM_WKUP_DEBUGSS_CLKCTRL register, includes - Clock gate for optional DEBUG_CLKA and DBGSYSCLK - Clock Mux for TRC_PMD and STM_PMD - Clock divider for STM and TPIU Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com> Acked-by: Paul Walmsley <paul@pwsan.com> Cc: Tony Lindgren <tony@atomide.com> Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>
2013-06-18ARM: dts: OMAP5: Add Palmas MFD node and regulator nodesJ Keerthy
Add Palmas MFD node and the regulator nodes for OMAP5. The node definitions are based on: https://lkml.org/lkml/2013/6/6/25 Boot tested on omap5-uevm board. Signed-off-by: Graeme Gregory <gg@slimlogic.co.uk> Signed-off-by: J Keerthy <j-keerthy@ti.com> Reviewed-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>
2013-06-18ARM: dts: AM33XX: Add PWM backlight DT data to am335x-evmskPhilip Avinash
PWM output from ecap2 uses as backlight source. Also adds low threshold value to have a uniform divisions in brightness-levels scales with inverse polarity. Signed-off-by: Philip Avinash <avinashphilip@ti.com> Reviewed-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>
2013-06-18ARM: dts: AM33XX: Add PWM backlight DT data to am335x-evmPhilip Avinash
PWM output from ecap0 uses as backlight source. Also adds low threshold value to have a uniform divisions in brightness-levels scales. Signed-off-by: Philip Avinash <avinashphilip@ti.com> Reviewed-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>
2013-06-18ARM: dts: AM33XX: Add PWMSS device tree nodesPhilip Avinash
Add PWMSS device tree nodes in relation with ECAP & EHRPWM DT nodes to AM33XX SoC family. Also populates device tree nodes for ECAP & EHRPWM by adding necessary properties like pwm-cells, base reg & set disabled as status. Signed-off-by: Philip Avinash <avinashphilip@ti.com> Reviewed-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>
2013-06-18ARM: dts: OMAP4460: Add bandgap entry for OMAP4460 devicesEduardo Valentin
Add bandgap devices for OMAP4460 devices. Signed-off-by: Eduardo Valentin <eduardo.valentin@ti.com> Cc: Tony Lindgren <tony@atomide.com> Cc: Russell King <linux@arm.linux.org.uk> Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>
2013-06-18ARM: dts: OMAP443x: Add bandgap entry for OMAP443x devicesEduardo Valentin
Add the bandgap entry for OMAP4430 devices. Signed-off-by: Eduardo Valentin <eduardo.valentin@ti.com> Cc: Tony Lindgren <tony@atomide.com> Cc: Russell King <linux@arm.linux.org.uk> [benoit.cousson@linaro.org: Add blank line and fix reg presentation] Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>
2013-06-18ARM: dts: TWL4030: fix mux and wakeup for SYS_NIRQ lineKevin Hilman
On most OMAP3 platforms, the twl4030 IRQ line is connected to the SYS_NIRQ line on OMAP. Add another DTS include file (twl4030_omap3.dtsi) for boards that hook up the twl4030 this way to include. This allows RTC wake from off-mode to work again on OMAP3-based platforms with twl4030. Tested on 3530/Beagle, 3730/Beagle-xM, 3530/Overo, 3730/Overo-STORM. Special thanks to Florian Vaussard for suggesting use of preprocessor feature. Cc: Florian Vaussard <florian.vaussard@epfl.ch> Cc: Benoit Cousson <b-cousson@ti.com> Cc: Nishanth Menon <nm@ti.com> Signed-off-by: Kevin Hilman <khilman@linaro.org> Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>
2013-06-18ARM: dts: OMAP3: beagle: enable user button via gpio_keys, enable wakeupKevin Hilman
Using the gpio-keys bindings, configure the user button on Beagle boards. Since the user button is enabled as a wakeup source, also ensure the GPIO pin is mux'd correctly and has IO ring wakeups enabled, so it can also wakeup from off mode. Special thanks to Florian Vaussard for suggesting the preprocessor feature. Cc: Florian Vaussard <florian.vaussard@epfl.ch> Signed-off-by: Kevin Hilman <khilman@linaro.org> Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>
2013-06-18ARM: dts: OMAP3: beagle/overo: mux console UART, enable wakeupKevin Hilman
Ensure the console uart (UART3) on these boards is mux'd correctly, and IO ring wakeup is enabled. This is needed for serial console wakeups when using DT boot. Thanks to Florian Vaussard for suggestion to use preprocessor features. Cc: Florian Vaussard <florian.vaussard@epfl.ch> Signed-off-by: Kevin Hilman <khilman@linaro.org> Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>
2013-06-18ARM: dts: omap5-uevm: Add uart pinctrl dataSourav Poddar
Booting omap5 uevm results in the following error "did not get pins for uart error: -19" This happens because omap5 uevm dts file is not adapted to use uart through pinctrl framework. Populate uart pinctrl data to get rid of the error. Signed-off-by: Sourav Poddar <sourav.poddar@ti.com> [r.sricharan@ti.com: Replaced constants with preprocessor macros] Signed-off-by: Sricharan R <r.sricharan@ti.com> Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>
2013-06-18ARM: dts: omap5-uevm: Add LED support for uEVM blue LEDDan Murphy
Add support for blue LED 1 off of GPIO 153. Make the LED a heartbeat LED Configure the MUX for GPIO output. Signed-off-by: Dan Murphy <dmurphy@ti.com> [r.sricharan@ti.com: Replaced constants with preprocessor macros] Signed-off-by: Sricharan R <r.sricharan@ti.com> Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>
2013-06-18ARM: dts: omap5-uevm: Add USB Host supportRoger Quadros
Provide the RESET regulators for the USB PHYs, the USB Host port modes and the PHY devices. Also provide pin multiplexer information for the USB host pins. Signed-off-by: Roger Quadros <rogerq@ti.com> [r.sricharan@ti.com: Replaced constants with preprocessor macros] Signed-off-by: Sricharan R <r.sricharan@ti.com> Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>
2013-06-18ARM: dts: omap5: Make uevm as the official board and deprecate sevm supportSricharan R
The uevm is the only official board supported for the OMAP5 soc in mainline. The existent sevm platform will no more be supported. Hence cleaning up the board dts file to have only the data required for uevm. Renaming the board dts file and adding the following cleanups. * There are no devices connected on I2C 2,3,4 buses. So remove the pinmux data for the same. * OMAP5432 and DDR3 memory is used in the uevm. Temperature polling is not supported with DDR3 memories. Because of DDR3 phy limitation the voltage change across DVFS and all shadow registers for DVFS on DDR3 is not supported. Hence the emif kernel driver is not required, so removing the DDR3 device file and emif nodes for uevm. * Keypad is not supported on uevm. So remove the device node. Signed-off-by: Sricharan R <r.sricharan@ti.com> Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>
2013-06-18ARM: dts: OMAP4/AM35xx: Add missing dtb in the dtbs targetFlorian Vaussard
When making the dtbs target on OMAP/AM35xx, some trees are not built. Signed-off-by: Florian Vaussard <florian.vaussard@epfl.ch> Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>
2013-06-18ARM: dts: AM33XX: Use pinctrl constantsFlorian Vaussard
Using constants for pinctrl allows a better readability, and removes redundancy with comments. Signed-off-by: Florian Vaussard <florian.vaussard@epfl.ch> Tested-by: Afzal Mohammed <afzal@ti.com> Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>