summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-02-16Merge branch 'tracking-ilp32' into merge-linux-linaroll-20150216.0linux-linaro-3.19-2015.02ll_20150216.0Andrey Konovalov
2015-02-16Merge branch 'tracking-llvm' into merge-linux-linaroAndrey Konovalov
2015-02-16thermal: qcom: Add 8960 thermal sensor supportSrinivas Kandagatla
This patch add thermal sensor support for Qualcomm SOCs like APQ8064 and MSM8960. TODO: - Get Slopes from DT. - Add support to other socs like 8016 Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
2015-02-16WIP: Add wrappers for qfprom access via sysconSrinivas Kandagatla
Syscon fits very well to access qfprom. This also means drivers which needs to access qfprom have to talk to syscon and get regmap, offset, size and then do regmap reads. This will be kinda redone in every driver. Having a wrapper for this would avoid lot of code duplications and also provide a higher level and user friendly apis for qfprom. This patch attempt to provide such wrappers. This wrappers are easy way to use syscon for qfprom purposes. Advantages of this approch is: - driver need not have hardcoded qfprom offsets or have soc specific compatible strings to determine the offset. - access multiple qfprom resources which is kinda tricky with standard syscon. - no code duplication. - light weight, single call. - not a platform device driver level binding. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
2015-02-16WIP: mfd: syscon: Add register stride to DT bindings.Srinivas Kandagatla
This patch adds register stride to dt bindings so that the consumers of the syscon could change it to there need. One of the the use case for this feature is Qualcomm qfprom which needs a byte access to regmap returned from syscon. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
2015-02-16mmc: pwrseq_simple: Add optional reference clock supportJavier Martinez Canillas
Some WLAN chips attached to a SDIO interface, need a reference clock. Since this is very common, extend the prseq_simple driver to support an optional clock that is enabled prior the card power up procedure. Note: the external clock is optional. Thus an error is not returned if the clock is not found. Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
2015-02-16mmc: pwrseq: Document optional clock for the simple power sequenceJavier Martinez Canillas
Some WLAN chips attached to a SDIO interface, need an external clock to be operational. Since this is very common, extend the simple MMC power sequence DT binding to support an optional clock. Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
2015-02-16mmc: pwrseq_simple: Extend to support more pinsJavier Martinez Canillas
Many WLAN attached to a SDIO/MMC interface, needs more than one pin for their reset sequence. For example, is very common for chips to have two pins: one for reset and one for power enable. This patch adds support for more reset pins to the pwrseq_simple driver and instead hardcoding a fixed number, it uses the of_gpio_named_count() since the MMC power sequence is only built when CONFIG_OF is enabled. Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
2015-02-16mmc: pwrseq: Document that simple sequence support more than one GPIOJavier Martinez Canillas
Many SDIO/MMC attached WLAN chips need more than one ping for their reset sequence. Extend the pwrseq_simple binding to support more than one pin. Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
2015-02-16mmc: pwrseq_simple: Add support for a reset GPIO pinUlf Hansson
The need for reset GPIOs has several times been pointed out from erlier posted patchsets. Especially some WLAN chips which are attached to an SDIO interface may use a GPIO reset. The reset GPIO is asserted at initialization and prior we start the power up procedure. The GPIO will be de-asserted right after the power has been provided to the card, from the ->post_power_on() callback. Note, the reset GPIO is optional. Thus we don't return an error even if we can't find a GPIO for the consumer. Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2015-02-16mmc: pwrseq: Initial support for the simple MMC power sequence providerUlf Hansson
To add the core part for the MMC power sequence, let's start by adding initial support for the simple MMC power sequence provider. In this initial step, the MMC power sequence node are fetched and the compatible string for the simple MMC power sequence provider are verified. At this point we don't parse the node for any properties, but instead that will be handled from following patches. Since there are no properties supported yet, let's just implement the ->alloc() and the ->free() callbacks. Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2015-02-16mmc: pwrseq: Document DT bindings for the simple MMC power sequenceUlf Hansson
To support SOCs which specifies specific MMC power sequences, document some MMC DT bindings to be able to describe these hardwares. Let's also document bindings for a simple MMC power sequence provider, which purpose is to support a set of common properties between various SOCs. In this initial step, let's also document a top level description of the MMC power sequence and describe the compatible string used for the simple MMC power sequence provider. The simple MMC power sequence provider will initially support a reset GPIO. From several earlier posted patches, it's clear that such hardware exists. Especially some WLAN chips which are attached to an SDIO interface may use a GPIO reset. Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2015-02-16mmc: core: Initial support for MMC power sequencesUlf Hansson
System on chip designs may specify a specific MMC power sequence. To successfully detect an (e)MMC/SD/SDIO card, that power sequence must be followed while initializing the card. To be able to handle these SOC specific power sequences, let's add a MMC power sequence interface. It provides the following functions to help the mmc core to deal with these power sequences. mmc_pwrseq_alloc() - Invoked from mmc_of_parse(), to initialize data. mmc_pwrseq_pre_power_on()- Invoked in the beginning of mmc_power_up(). mmc_pwrseq_post_power_on()- Invoked at the end in mmc_power_up(). mmc_pwrseq_power_off()- Invoked from mmc_power_off(). mmc_pwrseq_free() - Invoked from mmc_free_host(), to free data. Each MMC power sequence provider will be responsible to implement a set of callbacks. These callbacks mirrors the functions above. This patch adds the skeleton, following patches will extend the core of the MMC power sequence and add support for a specific simple MMC power sequence. Do note, since the mmc_pwrseq_alloc() is invoked from mmc_of_parse(), host drivers needs to make use of this API to enable the support for MMC power sequences. Moreover the MMC power sequence support depends on CONFIG_OF. Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2015-02-16clk: Add safe switch hookStephen Boyd
Sometimes clocks can't accept their parent source turning off while the source is reprogrammed to a different rate. Most notably some CPU clocks require a way to switch away from the current PLL they're running on, reprogram that PLL to a new rate, and then switch back to the PLL with the new rate once they're done. Add a hook that drivers can implement allowing them to return a 'safe parent' that they can switch their parent to while the upstream source is reprogrammed. Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2015-02-16clk: mux: Split out register accessors for reuseStephen Boyd
We want to reuse the logic in clk-mux.c for other clock drivers that don't use readl as register accessors. Fortunately, there really isn't much to the mux code besides the table indirection and quirk flags if you assume any bit shifting and masking has been done already. Pull that logic out into reusable functions that operate on an optional table and some flags so that other drivers can use the same logic. Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2015-02-16clk: mux: Add unregistration APIStephen Boyd
Some drivers want to remove clocks they register with clk_unregister(). Unfortunately, calling clk_unregister() directly on the clock returned by clk_register_mux() would result in a memory leak of the clk_mux struct. Add an API to free that allocation and unregister the clock. Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2015-02-16devicetree: bindings: Document qcom,lccRajendra Nayak
Document the LPASS (low power audio subsystem) clock controller found on Qualcomm devices. Cc: <devicetree@vger.kernel.org> Signed-off-by: Rajendra Nayak <rnayak@codeaurora.org> Signed-off-by: Kumar Gala <galak@codeaurora.org> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2015-02-16clk: qcom: Add MSM8960/APQ8064 LPASS clock controller (LCC) driverStephen Boyd
Add an LCC driver for MSM8960/APQ8064 that supports the i2s, slimbus, and pcm clocks. Change-Id: I2549b821f7bf467c1bd80d4827a1a7621e725659 Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2015-02-16clk: qcom: Add IPQ806X LPASS clock controller (LCC) driverRajendra Nayak
Add an LCC driver for IPQ806x that supports the i2s, S/PDIF, and pcm clocks. Signed-off-by: Rajendra Nayak <rnayak@codeaurora.org> Signed-off-by: Kumar Gala <galak@codeaurora.org> Signed-off-by: Josh Cartwright <joshc@codeaurora.org> [sboyd@codeaurora.org: Reworded commit text, added Kconfig select, fleshed out Kconfig description a bit more, added pll4 configuration and reworked probe for it, added muxes, split out dt-binding file] Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Change-Id: Idf4d008306a98d75d914c5625b46d15c6f7921b4
2015-02-16dt-bindings: Add #defines for IPQ806x lpass clock controlRajendra Nayak
Add defines to make more human readable numbers for the lpass clock controller found on IPQ806x SoCs. Also remove the PLL4 define in gcc to avoid #define conflicts because that clock doesn't exist in gcc, instead it lives in lcc. Signed-off-by: Rajendra Nayak <rnayak@codeaurora.org> [sboyd@codeaurora.org: Split off into separate patch] Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2015-02-16clk: qcom: Add simple regmap based muxesStephen Boyd
Add support for muxes that use regmap instead of readl/writel directly. We don't support as many features as clk-mux.c, but this is good enough to support getting and setting parents. Adding a table based lookup can be added in the future if needed. Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2015-02-16clk: qcom: Add support for regmap divider clocksJosh Cartwright
Add support for dividers that use regmap instead of readl/writel. Signed-off-by: Josh Cartwright <joshc@codeaurora.org> Signed-off-by: Rajendra Nayak <rnayak@codeaurora.org> [sboyd@codeaurora.org: Switch to using generic divider code, drop enable/disable, reword commit text] Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2015-02-16clk: divider: Make generic for usage elsewhereStephen Boyd
Some devices don't use mmio to interact with dividers. Split out the logic from the register read/write parts so that we can reuse the division logic elsewhere. Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2015-02-16clk: Add __clk_mux_determine_rate_closestStephen Boyd
Some clock drivers want to find the closest rate on the input of a mux instead of a rate that's less than or equal to the desired rate. Add a generic mux function to support this. Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2015-02-16dts:qs600: add pwrseq support to SDCC4Srinivas Kandagatla
Add pwrseq support to sdcc4 which would enable a proper reset of WLAN without ugly hacks in the board support file. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
2015-02-16dts: ifc6410: Add pwrseq support for WLAN and BTSrinivas Kandagatla
This patch adds pwrseq for both BT and WLAN which resets the WLAN and BT just before the SDIO bus is up. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
2015-02-16dts: apq8064: add tsens supportSrinivas Kandagatla
This patch adds tsens support to DT.
2015-02-16dts: qcom-apq8064: add rpm clock and handoff nodes.Srinivas Kandagatla
This patch adds rpm clock and handoff nodes. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
2015-02-16ARM: dts: qcom: Add DT support for GSBI6 and for UART pin muxPramod Gurav
This change adds DT support for GSBI6 and muxes the gpio pins as UART lines. Also defines a alias for serial port on these lines. Signed-off-by: Pramod Gurav <pramod.gurav@smartplayin.com>
2015-02-16ARM: qcom: Add DT alias for serial portPramod Gurav
Define an alias for serial port present on ifc6410 which is used as console. Signed-off-by: Pramod Gurav <pramod.gurav@smartplayin.com>
2015-02-16ARM: DT: apq8064: Add Support for ext_3p3v regulator in pci nodePramod Gurav
Ethernet needs ext_3p3v regulator to function properly. This regulator being shared among modules, Ethernet fails when other modules which share this regulator are not enabled. Ethernet is connected on pcie bus and ext_3p3v regulator can be configured through pcie. This change adds support for ext_3p3v regulator in pci DT and make ethernet independent of others and functional. Signed-off-by: Pramod Gurav <pramod.gurav@smartplayin.com>
2015-02-16ARM: qcom: add description of KPSS WDT for APQ8064Pramod Gurav
Describe the Krait Processor Sub-system (KPSS) Watchdog timer in the APQ8064 device tree. Also, add a fixed-clock description of SLEEP_CLK, which will do for now. Signed-off-by: Josh Cartwright <joshc@codeaurora.org>
2015-02-16ARM: DT: apq8064: Add USB OTG support for CM QS-600Nicolas Dechesne
This patch adds USB OTG support on USB1 for Compulab QS-600 Board. Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
2015-02-16ARM: DT: apq8064: Add usb host support to CM QS-600Nicolas Dechesne
This patch adds device tree nodes to support two usb hosts on Compulab QS600 board. Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
2015-02-16ARM: DT: apq8064: add pci support in CM QS600Nicolas Dechesne
This patch adds PCIE support to APQ8064, tested with Ethernet on Compulab QS600 board. Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
2015-02-16arm: dts: qcom: Add idle state device nodes for 8064Lina Iyer
Add ARM common idle state device bindings for cpuidle support in APQ8064. Signed-off-by: Lina Iyer <lina.iyer@linaro.org>
2015-02-16arm: dts: qcom: Add idle states device nodes for 8084Lina Iyer
Add allowable C-States for each cpu using the cpu-idle-states node. Support standby and standalone power collapse (power down that does not affect any SoC idle states) for each cpu. Signed-off-by: Lina Iyer <lina.iyer@linaro.org>
2015-02-16arm: dts: qcom: Add idle states device nodes for 8974Lina Iyer
Add allowable C-States for each cpu using the cpu-idle-states node. Support Standby and Standalone power collapse (power down that does not affect any SoC idle states) for each cpu. Signed-off-by: Lina Iyer <lina.iyer@linaro.org>
2015-02-16arm: dts: qcom: Update power-controller device node for 8064 Krait CPUsLina Iyer
Update the SAW2 DT bindings to add qcom,apq8064-saw2-v1.1-cpu compatible binding string to configure SPM registers and allow the SPM to put the core in deeper idle states when the core is idle. Signed-off-by: Lina Iyer <lina.iyer@linaro.org>
2015-02-16arm: dts: qcom: Add power-controller device node for 8084 Krait CPUsLina Iyer
Each Krait CPU in the QCOM 8084 SoC has an SAW power controller to regulate the power to the cpu and aide the core in entering idle states. Reference the SAW instance and associate the instance with the CPU core. Signed-off-by: Lina Iyer <lina.iyer@linaro.org>
2015-02-16arm: dts: qcom: Add power-controller device node for 8974 Krait CPUsLina Iyer
Each Krait CPU in the QCOM 8974 SoC has an SAW power controller to regulate the power to the cpu and aide the core in entering idle states. Reference the SAW instance and associate the instance with the CPU core. Signed-off-by: Lina Iyer <lina.iyer@linaro.org>
2015-02-16ARM: DT: apq8064: Add Support for SD Card Detect for ifc6410 boardPramod Gurav
This changes muxes in gpio26 pin to function as gpio and adds support for sd card detect for apq8064 based IFC6410 board. Cc: Rob Herring <robh+dt@kernel.org> Cc: Pawel Moll <pawel.moll@arm.com> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Ian Campbell <ijc+devicetree@hellion.org.uk> Cc: Kumar Gala <galak@codeaurora.org> Cc: Russell King <linux@arm.linux.org.uk> Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Pramod Gurav <pramod.gurav@smartplayin.com>
2015-02-16ARM: dts: qcom: Add necessary DT data for Krait cpufreqStephen Boyd
Add the necessary DT nodes and data so we can probe the cpufreq driver on MSM devices with Krait CPUs. Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2015-02-16WIP: ARM: DT: ifc6410 : add lvds panelRob Clark
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
2015-02-16WIP: ARM: DT: APQ8064: Add iommuRob Clark
2015-02-16ARM: DT: APQ8064: Add MDP supportRob Clark
This patch adds MDP node to APQ8064 dt. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
2015-02-16ARM: DT: apq8064: Add pmic gpio nodeSrinivas Kandagatla
This patch adds pmic gpio node to the device tree, this node is necessary for devices like wlan to control reset gpio. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
2015-02-16ARM: DT: apq8064: add pci supportSrinivas Kandagatla
This patch adds PCIE support to APQ8064, tested on IFC6410 board. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
2015-02-16ARM: DT: apq8064: Add SATA controller support.Srinivas Kandagatla
This patch adds AHCI based SATA controller support to APQ8064. Tested on IFC6410 board. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
2015-02-16ARM: DT: apq8064: Add USB OTG supportSrinivas Kandagatla
This patch adds USB OTG support on USB1 of APQ8064 SOC. Tested on IFC6410 with ethernet gadget. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>