summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-09-08Merge branch 'pull/v3.18/for-omap-soc' of ↵Tony Lindgren
https://github.com/nmenon/linux-2.6-playground into omap-for-v3.18/soc
2014-09-08Merge branch 'pull/v3.18/powerdomain-fixes' of ↵Tony Lindgren
https://github.com/nmenon/linux-2.6-playground into omap-for-v3.18/fixes-not-urgent
2014-09-08ARM: OMAP5: Add hook in SoC initcalls to enable pm initializationSantosh Shilimkar
With consolidated code, now we can add the required hooks for OMAP5 to enable power management. Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com> [nm@ti.com: minor rebase updates] Signed-off-by: Nishanth Menon <nm@ti.com> Reviewed-by: Kevin Hilman <khilman@linaro.org> Tested-by: Kevin Hilman <khilman@linaro.org>
2014-09-08ARM: OMAP5 / DRA7: Enable CPU RET on suspendRajendra Nayak
On OMAP5 / DRA7, prevent a CPU powerdomain OFF and resulting MPU OSWR and instead attempt a CPU RET and side effect, MPU RET in suspend. NOTE: the hardware was originally designed to be capable of achieving deep power states such as OFF and OSWR, however due to various issues and risks, deepest valid state was determined to be CSWR - hence we use the errata framework to handle this case. Signed-off-by: Rajendra Nayak <rnayak@ti.com> [nm@ti.com: updates] Signed-off-by: Nishanth Menon <nm@ti.com> Reviewed-by: Kevin Hilman <khilman@linaro.org> Tested-by: Kevin Hilman <khilman@linaro.org>
2014-09-08ARM: OMAP5 / DRA7: PM: Provide a dummy startup function for CPU hotplugSantosh Shilimkar
Dont assume that all OMAP4+ code will be able to use OMAP4 hotplug logic. On OMAP5, DRA7, we do not need this in place yet, also, currently the CPU startup pointer is located in omap4_cpu_pm_info instead of cpu_pm_ops. So, isolate the function to hotplug_restart pointer in cpu_pm_ops where it should have belonged, initalize them as per valid startup pointers for OMAP4430/60 as in current logic, however provide dummy_cpu_resume to be the startup location as well. Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com> [nm@ti.com: split this out of original code and isolate it] Signed-off-by: Nishanth Menon <nm@ti.com> Reviewed-by: Kevin Hilman <khilman@linaro.org> Tested-by: Kevin Hilman <khilman@linaro.org>
2014-09-08ARM: OMAP5 / DRA7: PM: Avoid all SAR savesRajendra Nayak
Get rid of all assumptions about always having a sar base on *all* OMAP4+ platforms. We dont need one on DRA7 and it is not necessary at this point for OMAP5 either. Signed-off-by: Rajendra Nayak <rnayak@ti.com> [nm@ti.com: Split and optimize] Signed-off-by: Nishanth Menon <nm@ti.com> Reviewed-by: Kevin Hilman <khilman@linaro.org> Tested-by: Kevin Hilman <khilman@linaro.org>
2014-09-08ARM: OMAP5 / DRA7: PM: Enable Mercury retention mode on CPUx powerdomainsSantosh Shilimkar
In addition to the standard power-management technique, the OMAP5 / DRA7 MPU subsystem also employs an SR3-APG (mercury) power management technology to reduce leakage. It allows for full logic and memories retention on MPU_C0 and MPU_C1 and is controlled by the PRCM_MPU. Only "Fast-mode" is supported on the OMAP5 and DRA7 family of processors. Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com> [nm@ti.com: minor consolidation] Signed-off-by: Nishanth Menon <nm@ti.com> Reviewed-by: Kevin Hilman <khilman@linaro.org> Tested-by: Kevin Hilman <khilman@linaro.org>
2014-09-08ARM: OMAP5 / DRA7: PM / wakeupgen: Enables ES2 PM mode by defaultSantosh Shilimkar
Enables MPUSS ES2 power management mode using ES2_PM_MODE in AMBA_IF_MODE register. 0x0: OMAP5 ES1 behavior, CPU cores would enter and exit OFF mode together. Broken! Fortunately, we do not support this anymore. 0x1: OMAP5 ES2, DRA7 behavior, CPU cores are allowed to enter/exit OFF mode independently. This is one time settings thanks to always ON domain. Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com> [nm@ti.com: minor conflict resolutions, consolidation for DRA7] Signed-off-by: Nishanth Menon <nm@ti.com> Reviewed-by: Kevin Hilman <khilman@linaro.org> Tested-by: Kevin Hilman <khilman@linaro.org>
2014-09-08ARM: OMAP5 / DRA7: PM: Set MPUSS-EMIF clock-domain static dependencySantosh Shilimkar
With EMIF clock-domain put under hardware supervised control, memory corruption and untraceable crashes are observed on OMAP5. Further investigation revealed that there is a weakness in the PRCM on this specific dynamic depedency. The recommendation is to set MPUSS static dependency towards EMIF clock-domain to avoid issues. This recommendation holds good for DRA7 family of devices as well. Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com> [rnayak@ti.com: DRA7] Signed-off-by: Rajendra Nayak <rnayak@ti.com> [nm@ti.com: conflict resolution, dra7] Signed-off-by: Nishanth Menon <nm@ti.com> Reviewed-by: Kevin Hilman <khilman@linaro.org> Tested-by: Kevin Hilman <khilman@linaro.org>
2014-09-08ARM: OMAP5 / DRA7: PM: Update CPU context register offsetSantosh Shilimkar
On OMAP5, RM_CPUi_CPUi_CONTEXT offset has changed. Update the code so that same code works for OMAP4+ devices. DRA7 and OMAP5 have the same context offset as well. Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com> [rnayak@ti.com: for DRA7] Signed-off-by: Rajendra Nayak <rnayak@ti.com> [nm@ti.com: rebase, split/merge etc..] Signed-off-by: Nishanth Menon <nm@ti.com> Reviewed-by: Kevin Hilman <khilman@linaro.org> Tested-by: Kevin Hilman <khilman@linaro.org>
2014-09-08ARM: AM437x: use pdata quirks for pinctrl informationKeerthy
Provide pdata-quirks for Am437x processor family. Signed-off-by: Keerthy <j-keerthy@ti.com>
2014-09-08ARM: DRA7: use pdata quirks for pinctrl informationNishanth Menon
Provide pdata-quirks for DRA7 processor family. Signed-off-by: Nishanth Menon <nm@ti.com>
2014-09-08ARM: OMAP5: use pdata quirks for pinctrl informationNishanth Menon
Provide pdata-quirks for OMAP5 processor family. Signed-off-by: Nishanth Menon <nm@ti.com>
2014-09-08ARM: OMAP4+: PM: Use only valid low power state for CPU hotplugNishanth Menon
Not all SoCs support OFF mode - for example DRA74/72. So, use valid power state during CPU hotplug. Signed-off-by: Nishanth Menon <nm@ti.com> Reviewed-by: Kevin Hilman <khilman@linaro.org> Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
2014-09-08ARM: OMAP4+: PM: use only valid low power state for suspendNishanth Menon
We are using power domain state as RET and logic state as OFF. This state is OSWR. This may not always be supported on ALL power domains. In fact, on certain power domains, this might result in a hang on certain platforms. Instead, depend on powerdomain data to provide accurate information about the supported powerdomain states and use the appropriate function to query and use it as part of suspend path. Signed-off-by: Nishanth Menon <nm@ti.com> Reviewed-by: Kevin Hilman <khilman@linaro.org> Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
2014-09-08ARM: OMAP4+: PM: Make logic state programmableNishanth Menon
Move the logic state as different for each power domain. This allows us to customize the deepest power state we should target over all for each powerdomain in the follow on patches. Signed-off-by: Nishanth Menon <nm@ti.com> Reviewed-by: Kevin Hilman <khilman@linaro.org> Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
2014-09-08ARM: OMAP2+: powerdomain: introduce logic for finding valid power domainNishanth Menon
powerdomain configuration in OMAP is done using PWRSTCTRL register for each power domain. However, PRCM lets us write any value we'd like to the logic and power domain target states, however the SoC integration tends to actually function only at a few discrete states. These valid states are already in our powerdomains_xxx_data.c file. So, provide a function to easily query valid low power state that the power domain is allowed to go to. Based on work originally done by Jean Pihet <j-pihet@ti.com> https://patchwork.kernel.org/patch/1325091/ . There is no attempt to create a new powerdomain solution here, except fixing issues seen attempting invalid programming attempts. Future consolidation to the generic powerdomain framework should consider this requirement as well. Similar solutions have been done in product kernels in the past such as: https://android.googlesource.com/kernel/omap.git/+blame/android-omap-panda-3.0/arch/arm/mach-omap2/pm44xx.c Signed-off-by: Nishanth Menon <nm@ti.com> Reviewed-by: Kevin Hilman <khilman@linaro.org> Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
2014-09-08ARM: OMAP2+: powerdomain: pwrdm_for_each_clkdm iterate only valid clkdmsNishanth Menon
No need to invoke callback when the clkdm pointer is NULL. Signed-off-by: Nishanth Menon <nm@ti.com> Reviewed-by: Kevin Hilman <khilman@linaro.org> Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
2014-09-08ARM: OMAP5: powerdomain data: fix powerdomain powerstateNishanth Menon
Update the power domain power states for final production chip capability. OFF mode, OSWR etc have been descoped for various domains. Signed-off-by: Nishanth Menon <nm@ti.com> Reviewed-by: Kevin Hilman <khilman@linaro.org> Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
2014-09-08ARM: OMAP: DRA7: powerdomain data: fix powerdomain powerstateNishanth Menon
DRA7 supports only CSWR for CPU, MPU power domains. Core power domain supports upto INA. Signed-off-by: Nishanth Menon <nm@ti.com> Reviewed-by: Kevin Hilman <khilman@linaro.org> Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
2014-09-08ARM: OMAP3+: PRM: register interrupt information from DTNishanth Menon
Allow the PRM interrupt information to be picked up from device tree. OMAP3 may use legacy boot and needs to be compatible with old dtbs (without interrupt populated), for these, we use the value which is pre-populated. Signed-off-by: Nishanth Menon <nm@ti.com> Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
2014-09-08ARM: OMAP4+: PRM: Enable wakeup capability for OMAP5, DRA7Nishanth Menon
OMAP5 and DRA7 can now use pinctrl based I/O daisychain wakeup capability. So, enable the support. Signed-off-by: Nishanth Menon <nm@ti.com> Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
2014-09-08ARM: OMAP4+: PRM: remove "wkup" eventNishanth Menon
"wkup" event at bit offset 0 exists only on OMAP3. OMAP4430/60 PRM_IRQSTATUS_A9, OMAP5/DRA7 PRM_IRQSTATUS_MPU register bit 0 is DPLL_CORE_RECAL_ST not wakeup event like OMAP3. The same applies to AM437x as well. Remove the wrong definition. Signed-off-by: Nishanth Menon <nm@ti.com> Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
2014-09-08ARM: OMAP4+: PRM: register interrupt information from DTNishanth Menon
Allow the PRM interrupt information to be picked up from device tree. the only exception is for OMAP4 which uses values pre-populated and allows compatibility with older dtb. Signed-off-by: Nishanth Menon <nm@ti.com> Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
2014-09-08ARM: OMAP4: PRM: use the generic prm_inst to allow logic to be abstractedNishanth Menon
use the generic function to pick up the prm_instance for a generic logic which can be reused from OMAP4+ Signed-off-by: Nishanth Menon <nm@ti.com> Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
2014-09-08ARM: OMAP4+: prminst: provide function to find prm_dev instance offsetNishanth Menon
PRM device instance can vary depending on SoC. We already handle the same during reset of the device, However, this is also needed for other logic instances. So, first abstract this out to a generic function. Signed-off-by: Nishanth Menon <nm@ti.com> Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
2014-09-05Merge tag 'integrator-for-v3.18-1' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into next/soc Merge "single Integrator patch" from Linus Walleij: This sets up the dynamically detected IM-PD1 GPIO lines by way of GPIO descriptors, avoiding any use of the GPIO global numberspace. Signed-off-by: Arnd Bergmann <arnd@arndb.de> * tag 'integrator-for-v3.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator: ARM: integrator: add MMCI device to IM-PD1
2014-09-05Merge tag 'renesas-clk-for-v3.18' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Merge "Renesas ARM Based SoC Clk Updates for v3.18" from Simon Horman: * Add r8a7794 support Signed-off-by: Arnd Bergmann <arnd@arndb.de> * tag 'renesas-clk-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: clk: shmobile: Add r8a7794 support
2014-09-05Merge tag 'renesas-cleanup-for-v3.18' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Merge "Renesas ARM Based SoC Cleanup Updates for v3.18" from Simon Horman: * Remove Genmai board code Signed-off-by: Arnd Bergmann <arnd@arndb.de> * tag 'renesas-cleanup-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: r7s72100: Remove legacy board support ARM: shmobile: r7s72100: genmai: Remove legacy board file ARM: shmobile: r7s72100: genmai: Remove reference board file
2014-09-05Merge tag 'renesas-dt-timers-for-v3.18' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Merge "Renesas ARM Based SoC DT Timers Updates for v3.18" from Simon Horman: * Enable timers using DT when booting boards without Legacy-C code Signed-off-by: Arnd Bergmann <arnd@arndb.de> * tag 'renesas-dt-timers-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: genmai-reference: Enable MTU2 in device tree ARM: shmobile: r7s72100: Add MTU2 device to DT ARM: shmobile: marzen-reference: Enable TMU0 in device tree ARM: shmobile: koelsch-reference: Enable CMT0 in device tree ARM: shmobile: lager-reference: Enable CMT0 in device tree ARM: shmobile: r8a7779: Add TMU devices to DT ARM: shmobile: r8a7791: Add CMT devices to DT ARM: shmobile: r8a7790: Add CMT devices to DT Conflicts: arch/arm/mach-shmobile/setup-r8a7779.c
2014-09-05Merge tag 'renesas-r8a7740-ccf-and-timers-for-v3.18' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Merge "Renesas ARM Based SoC R8a7740 CCF and Timers Updates for v3.18" from Simon Horman: When booting using the r8a7740/armadillo800eva using dt-reference: * Use CCF to initialise clocks via DT * Initialise timers via DT Signed-off-by: Arnd Bergmann <arnd@arndb.de> * tag 'renesas-r8a7740-ccf-and-timers-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: r8a7740: Remove r8a7740_add_standard_devices_dt ARM: shmobile: armadillo800eva-reference: Do not use r8a7740_add_standard_devices_dt() ARM: shmobile: armadillo800eva-reference: Enable CMT1 in device tree ARM: shmobile: r8a7740: Add CMT1 device to DT ARM: shmobile: armadillo800eva-reference: add clock overrides to DTS ARM: shmobile: r8a7740: add MSTP clock assignments to DT ARM: shmobile: r8a7740: add SoC clocks to DTS ARM: shmobile: r8a7740: clock register bits
2014-09-05Merge tag 'renesas-soc2-for-v3.18' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Merge "Second Round Of Renesas ARM Based SoC Updates For v3.18" from Simon Horman: * Move legacy INTC definitions from irqs.h to intc.h * Remove duplicate CPUFreq bits on r8a73a0/ape6evm Signed-off-by: Arnd Bergmann <arnd@arndb.de> * tag 'renesas-soc2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: Move legacy INTC definitions from irqs.h to intc.h ARM: shmobile: ape6evm: Remove duplicate CPUFreq bits ARM: shmobile: sh73a0: Remove duplicate CPUFreq bits
2014-09-05Merge tag 'renesas-init-delay-for-v3.18' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Merge "Renesas ARM Based SoC Init Delay Updates For v3.18" from Simon Horman: * Use shmobile_init_delay across a wider range of SoCs Signed-off-by: Arnd Bergmann <arnd@arndb.de> * tag 'renesas-init-delay-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: kzm9g: Use shmobile_init_delay() ARM: shmobile: bockw: Use shmobile_init_delay() ARM: shmobile: r8a7778: Use shmobile_init_delay() ARM: shmobile: sh73a0: Use shmobile_init_delay() ARM: shmobile: Remove shmobile_setup_delay() ARM: shmobile: r8a73a4: Use shmobile_init_delay() ARM: shmobile: sh7372: Use shmobile_init_delay() ARM: shmobile: r8a7778: Update DTS to include CPU frequency ARM: shmobile: sh73a0: Update DTS to include CPU frequency ARM: shmobile: sh7372: Update DTS to include CPU frequency ARM: shmobile: kzm9g-reference: Remove unneeded nr_irqs initialization ARM: shmobile: kzm9g: Remove unneeded nr_irqs initialization ARM: shmobile: marzen: Remove NR_IRQS_LEGACY ARM: shmobile: ape6evm: Use shmobile_init_delay() ARM: shmobile: ape6evm: Add shmobile_init_late() ARM: shmobile: bockw: Add shmobile_init_late() ARM: shmobile: marzen: Add shmobile_init_late() ARM: shmobile: kzm9g: Add shmobile_init_late()
2014-09-05Merge tag 'renesas-soc-for-v3.18' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Merge "Renesas ARM Based SoC Updates for v3.18" from Simon Horman: * Remove unnecessary nr_irqs initialisation on sh73a0, sh7372, and r8a7779 SoCs * Use defines hardcoded numbers for DMA * Rework multiplatform include workaround * Correctly use shmobile_init_late on a wider range of SoCs Signed-off-by: Arnd Bergmann <arnd@arndb.de> * tag 'renesas-soc-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: sh73a0: Remove unneeded nr_irqs initialization ARM: shmobile: sh7372: Remove unneeded nr_irqs initialization ARM: shmobile: r8a7779: Remove NR_IRQS_LEGACY ARM: shmobile: dma: Use defines instead of hardcoded numbers ARM: shmobile: Rework multiplatform include workaround ARM: shmobile: r7s72100: Add shmobile_init_late() ARM: shmobile: r8a73a4: Add shmobile_init_late() ARM: shmobile: r8a7778: Fix shmobile_init_late() ARM: shmobile: r8a7779: Fix shmobile_init_late() ARM: shmobile: sh73a0: Add shmobile_init_late() ARM: shmobile: r8a7778: Add missing call to shmobile_init_late()
2014-09-05ARM: shmobile: Initial r8a7794 SoC supportUlrich Hecht
Initial support for the r8a7794 SoC, based on work by Hisashi Nakamura. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@gmail.com> Acked-by: Magnus Damm <damm+renesas@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-09-05ARM: shmobile: support Cortex-A7 in shmobile_init_delay()Ulrich Hecht
Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@gmail.com> Acked-by: Magnus Damm <damm+renesas@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-09-04ARM: clps711x: Add SOC BUS supportAlexander Shiyan
Add SOC BUS support with CPU family, machine name and unique ID. Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-09-04ARM: clps711x: edb7211: Use new PWM driver for backlightAlexander Shiyan
Remove existing tricks for handling PWM and use CLPS711X PWM driver. Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-09-04ARM: shmobile: armadillo800eva reference: Remove DTSMagnus Damm
The r8a7740 Armadillo800EVA DTS can now be used both for DT Multiplatform and the legacy case. Because of that remove the r8a7740 Armadillo800EVA DT reference DTS file. Signed-off-by: Magnus Damm <damm+renesas@opensource.se> Tested-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-09-04ARM: shmobile: armadillo800eva reference: Remove C board codeMagnus Damm
Now when the r8a7740 generic multiplatform case has the same features as the DT reference board code then get rid of the Armadillo800EVA DT reference C board code. DT Reference code in the future shall make use of the r8a7740 Multiplatform support code with the generic SoC machine vector. Signed-off-by: Magnus Damm <damm+renesas@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-09-03ARM: dts: am335x-bone*: Fix model name and update compatibility informationNishanth Menon
Beaglebone white and beaglebone black differ in tiny little aspects. This is the reason why we maintain seperate dts for these platforms. However, there is no real way to decode from dtb which platform it is since compatible and model name are the same for both platforms. Fix this so that beaglebone black and beaglebone are identifiable, while maintaining compatibility for older zImages which might use old beaglebone compatible flag for black as well. Reported-by: Tom Rini <trini@ti.com> Signed-off-by: Nishanth Menon <nm@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2014-09-03ARM: dts: omap4-panda: Fix model and SoC family detailsNishanth Menon
Currently we claim that omap4-panda and omap4-panda-es are essentially the same, but they are not since PandaBoard-ES uses OMAP4460 and PandaBoard uses OMAP4430. So, split the common definition and make the model name available. Signed-off-by: Nishanth Menon <nm@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2014-09-03ARM: debug: add HiP04 debug uartHaojian Zhuang
Add the support of Hisilicon HiP04 debug uart. Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org> Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2014-09-03ARM: config: enable hisilicon hip04Haojian Zhuang
Enable CONFIG_ARCH_HIP04 in both hi3xxx_defconfig & multi_v7_defconfig. Since CONFIG_ARM_LPAE is disabled by default, only 3GB memory could be support by this defconfig. User should enable CONFIG_ARM_LPAE locally to support 16GB memory on hip04 platform. Since hip04 doesn't belong to hi3xxx series, rename hi3xxx_defconfig to hisi_defconfig. Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org> Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2014-09-03ARM: dts: add hip04 dtsHaojian Zhuang
Add hip04-d01.dts & hip04.dtsi for hip04 SoC platform. Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org> Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2014-09-03document: dt: add the binding on HiP04Haojian Zhuang
Add Hisilicon HiP04 SoC platform & Fabric controller. Fabric controller could be used to configure snoop filter among multiple clusters. Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org> Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2014-09-03ARM: hisi: enable HiP04Haojian Zhuang
Support HiP04 SoC what supports 16 cores. And it relies on MCPM framework. Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org> Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2014-09-03ARM: hisi: enable MCPM implementationHaojian Zhuang
Multiple CPU clusters are used in Hisilicon HiP04 SoC. Now use MCPM framework to manage power on HiP04 SoC. Changelog: v20: * Disable L2 prefetch when the whole cluster is down. * Move disabling snoop filter into power_down() after L2 prefetch disabled. * Remove delay in wait_for_power_down() after L2 prefetch disabled. * Add the sleep polling in wait_for_power_down() again since we need to wait L2 when the cluster is down. v19: * Add comments on those delay hacks. * Update on checking core enabled counts in wait_for_power_down(). v18: * Fix to release resource in probe(). * Check whether cpu is already up in the process of making cpu down. * Add udelay in power up/down sequence. * Optimize on setting relocation entry. * Optimize on polling status in wait_for_power_down(). * Add mcpm critical operations. v17: * Parse bootwrapper parameters in DTS file. * Fix to use msleep() in spinlock region. v16: * Parse bootwrapper parameters in command line instead. v13: * Restore power down operation in MCPM. * Fix disabling snoop filter issue in MCPM. v12: * Use wfi as power down state in MCPM. * Remove wait_for_powerdown() in MCPM because wfi is used now. Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org> Reviewed-by: Nicolas Pitre <nico@linaro.org> Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2014-09-03ARM: mcpm: support 4 clustersHaojian Zhuang
Add the CONFIG_MCPM_QUAD_CLUSTER configuration to enlarge cluster number from 2 to 4. Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org> Reviewed-by: Nicolas Pitre <nico@linaro.org> Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2014-09-02ARM: shmobile: r8a7740: Add restart callbackMagnus Damm
Port the r8a7740 restart handling from the Armadillo code to the r8a7740 generic multiplatform case. Signed-off-by: Magnus Damm <damm+renesas@opensource.se> Tested-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>