summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-imx/common.h
Commit message (Collapse)AuthorAgeFilesLines
...
* ARM: imx: remove stale mx53_display_revision() declarationShawn Guo2013-10-211-1/+0
| | | | | | | The mx53_display_revision() declaration in common.h is stale and used nowhere, so remove it. Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
* ARM: imx6: report soc info via soc deviceShawn Guo2013-10-211-0/+1
| | | | | | | | | | | | | | | | | | The patch enables soc bus infrastructure and adds a function imx_soc_device_init() to report soc info via soc device interface for imx6qdl and imx6sl. With the support, user space can get soc related info by looking at sysfs like below. $ cat /sys/devices/soc0/machine Freescale i.MX6 Quad SABRE Smart Device Board $ cat /sys/devices/soc0/family Freescale i.MX $ cat /sys/devices/soc0/soc_id i.MX6Q $ cat /sys/devices/soc0/revision 1.2 Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
* ARM: imx: add a common function to initialize revision from anatopShawn Guo2013-10-211-1/+1
| | | | | | | | | The patch creates a common function imx_init_revision_from_anatop() by merging imx6q_init_revision() and imx_anatop_get_digprog(), so that any SoC that encodes revision info in anatop can use it to initialize revision. Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
* ARM: imx6q: use common soc revision helpersShawn Guo2013-10-211-1/+0
| | | | | | | | It calls imx_set_soc_revision() to set up soc revision in imx6q_init_revision(), and replaces all the occurrences of imx6q_revision() with common helper imx_get_soc_revision(). Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
* ARM: imx: add soc revision helper functionsShawn Guo2013-10-211-0/+2
| | | | | | | | Similar to what we do for cpu type, the patch adds helper functions imx_set_soc_revision() and imx_get_soc_revision() to maintain imx_soc_revision in cpu.c. Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
* ARM: imx: remove custom .init_time hookSebastian Hesselbarth2013-09-291-4/+0
| | | | | | | | With arch/arm calling of_clk_init(NULL) from time_init(), we can now remove custom .init_time hooks. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Acked-by: Shawn Guo <shawn.guo@linaro.org>
* ARM: imx: Move anatop related from board file to anatop driverPeter Chen2013-08-221-1/+0
| | | | | | | Move anatop related (For USB) from board file to anatop driver Signed-off-by: Peter Chen <peter.chen@freescale.com> Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
* ARM: mx53: Allow suspend/resumeFabio Estevam2013-08-221-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current imx53_pm_init() implementation is incomplete as it lacks calling suspend_set_ops(). Use a single imx5_pm_init() function to handle both mx51 and mx53. This allows mx53 to enter in low-power mode. Tested on a mx53qsb: root@freescale /$ echo mem > /sys/power/state PM: Syncing filesystems ... done. mmc0: card e624 removed Freezing user space processes ... (elapsed 0.001 seconds) done. Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done. Suspending console(s) (use no_console_suspend to debug) ... (Press Power button) PM: suspend of devices complete after 17.067 msecs PM: suspend devices took 0.020 seconds PM: late suspend of devices complete after 0.954 msecs PM: noirq suspend of devices complete after 1.288 msecs Disabling non-boot CPUs ... PM: noirq resume of devices complete after 0.680 msecs PM: early resume of devices complete after 0.914 msecs PM: resume of devices complete after 44.955 msecs PM: resume devices took 0.050 seconds Restarting tasks ... done. mmc0: host does not support reading read-only switch. assuming write-enable. mmc0: new SDHC card at address e624 mmcblk0: mmc0:e624 SU04G 3.69 GiB mmcblk0: p1 p2 p3 libphy: 63fec000.etherne:00 - Link is Down libphy: 63fec000.etherne:00 - Link is Up - 100/Full root@freescale /$ Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
* ARM: imx: let L2 initialization be a common functionShawn Guo2013-08-161-0/+6
| | | | | | | | | Move imx6q L2 initialization function imx6q_init_l2cache() into system.c, and rename it imx_init_l2cache(), so that other platforms other than imx6q can also use the function. Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Acked-by: Dirk Behme <dirk.behme@de.bosch.com>
* reboot: arm: change reboot_mode to use enum reboot_modeRobin Holt2013-07-091-1/+3
| | | | | | | | | | | | | | | | Preparing to move the parsing of reboot= to generic kernel code forces the change in reboot_mode handling to use the enum. [akpm@linux-foundation.org: fix arch/arm/mach-socfpga/socfpga.c] Signed-off-by: Robin Holt <holt@sgi.com> Cc: Russell King <rmk+kernel@arm.linux.org.uk> Cc: Russ Anderson <rja@sgi.com> Cc: Robin Holt <holt@sgi.com> Cc: H. Peter Anvin <hpa@zytor.com> Cc: Guan Xuetao <gxt@mprc.pku.edu.cn> Acked-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* ARM: imx6: use common of_clk_init() call to initialize clocksShawn Guo2013-06-171-2/+0
| | | | | | | | Instead of explicitly calling clock initialization functions, we can declare the functions with CLK_OF_DECLARE() and then call common of_clk_init() to have them invoked properly. Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
* ARM: imx: add initial support for imx6slShawn Guo2013-06-171-0/+1
| | | | | | Add initial support for i.MX6 SoloLite. Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
* ARM: imx: create mxc_arch_reset_init_dt() for DT bootShawn Guo2013-06-171-0/+1
| | | | | | | | | | The mxc_arch_reset_init() uses static mapping and calls clk_get_sys() to get clock. It's suitable for non-DT boot but not for DT boot where dynamic mapping and of_clk_get() should be used instead. Create mxc_arch_reset_init_dt() as the DT variant of mxc_arch_reset_init(), and change DT platforms to use it. Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
* ARM: imx: compile fix for hotplug.cShawn Guo2013-05-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Commit bca7a5a (ARM: cpu hotplug: remove majority of cache flushing from platforms) removes include of <asm/cacheflush.h> and hence discovers a few indirect inclusion and declaration problems as below. CC arch/arm/mach-imx/hotplug.o In file included from arch/arm/mach-imx/hotplug.c:16:0: arch/arm/mach-imx/common.h:100:29: warning: ‘struct pt_regs’ declared inside parameter list [enabled by default] arch/arm/mach-imx/common.h:100:29: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default] arch/arm/mach-imx/common.h:101:29: warning: ‘struct pt_regs’ declared inside parameter list [enabled by default] arch/arm/mach-imx/hotplug.c: In function ‘imx_cpu_die’: arch/arm/mach-imx/hotplug.c:53:2: error: implicit declaration of function ‘cpu_do_idle’ [-Werror=implicit-function-declaration] arch/arm/mach-imx/hotplug.c: In function ‘imx_cpu_kill’: arch/arm/mach-imx/hotplug.c:58:26: error: ‘jiffies’ undeclared (first use in this function) arch/arm/mach-imx/hotplug.c:58:26: note: each undeclared identifier is reported only once for each function it appears in arch/arm/mach-imx/hotplug.c:58:2: error: implicit declaration of function ‘msecs_to_jiffies’ [-Werror=implicit-function-declaration] arch/arm/mach-imx/hotplug.c:61:3: error: implicit declaration of function ‘time_after’ [-Werror=implicit-function-declaration] Fix them by adding the needed inclusion and declaration. Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Acked-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Olof Johansson <olof@lixom.net>
* ARM i.MX6q: export imx6q_revisionPhilipp Zabel2013-04-121-0/+1
| | | | | | | So it can be used in clk-imx6q.c for revision dependent clock tree setup. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
* ARM: imx: enable RBC to support anatop LPM modeAnson Huang2013-04-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | RBC is to control whether some ANATOP sub modules can enter lpm mode when SOC is into STOP mode, if RBC is enabled and PMIC_VSTBY_REQ is set, ANATOP will have below behaviors: 1. Digital LDOs(CORE, SOC and PU) are bypassed; 2. Analog LDOs(1P1, 2P5, 3P0) are disabled; As the 2P5 is necessary for DRAM IO pre-drive in STOP mode, so we need to enable weak 2P5 in STOP mode when 2P5 LDO is disabled. For RBC settings, there are some rules as below due to hardware design: 1. All interrupts must be masked during operating RBC registers; 2. At least 2 CKIL(32K) cycles is needed after the RBC setting is changed. Signed-off-by: Anson Huang <b20788@freescale.com> Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
* ARM: imx: enable anatop suspend/resumeAnson Huang2013-04-121-1/+6
| | | | | | | | | | | | | | Anatop module have sereval configurations for user to reduce the power consumption in suspend, provide suspend/resume interface for further use and enable fet_odrive to reduce CORE LDO leakage during suspend. As we have a common anatop file, remove all the operations of anatop module in other files, use anatop interfaces to do that. Signed-off-by: Anson Huang <b20788@freescale.com> Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
* Merge tag 'imx-cleanup-3.10' into imx/socShawn Guo2013-04-121-3/+0
|\ | | | | | | | | | | | | | | | | | | | | The imx cleanup for 3.10: * Clean up a couple of unneeded function declarations * Remove imx specific cpufreq driver as generic cpufreq-cpu0 works well as the replacement * Remove platform ahci support * Clean up unused ARCH/MACH Kconfig symbols * Remove a couple of unused files
| * ARM: imx: remove pl310_get_save_ptr() declarationShawn Guo2013-04-011-1/+0
| | | | | | | | | | | | | | | | Commit a1f1c7e (arm/imx6q: add suspend/resume support) added declaration for a non-existing function pl310_get_save_ptr() by mistake. Remove it. Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
| * ARM: imx: remove duplicated function declarationShawn Guo2013-04-011-2/+0
| | | | | | | | | | | | | | | | Commit 13eed98 (arm/imx6q: add device tree machine support) added duplicated function declaration for imx_enable_cpu() and imx_set_cpu_jump(). Remove them. Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
* | ARM: imx: fix sync issue between imx_cpu_die and imx_cpu_killShawn Guo2013-03-261-0/+2
|/ | | | | | | | | | | | | | | There is a sync issue with hotplug operation. It's possible that when imx_cpu_kill gets running on primary core, the imx_cpu_die execution on the core which is to be killed hasn't been finished yet. The problem will very likely be hit when running suspend without no_console_suspend setting on kernel cmdline. It uses cpu jumping argument register to sync imx_cpu_die and imx_cpu_kill. The register will be set in imx_cpu_die and imx_cpu_kill will wait for the register being cleared to actually kill the cpu. Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Cc: <stable@vger.kernel.org>
* Merge tag 'v3.8-rc6' into next/socOlof Johansson2013-02-041-0/+1
|\ | | | | | | Linux 3.8-rc6
| * ARM: imx: disable cpu in .cpu_kill hookShawn Guo2013-01-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | It's buggy to disable the cpu that is being hot-unplugged in .cpu_die hook which runs on the cpu itself. Instead, it should be done in .cpu_kill which runs on the thread (another cpu) that asks for shutting down the cpu. Move imx_enable_cpu(cpu, false) call into .cpu_kill hook, and leave the cpu to be hot-unplugged in WFI within .cpu_die, so that we can get a more stable cpu hot-plug operation. Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
* | Merge tag 'imx6q-cpudile-3.9' of ↵Olof Johansson2013-02-041-11/+3
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.linaro.org/people/shawnguo/linux-2.6 into next/soc From Shawn Guo: imx6q cpuidle support for 3.9 - It's based on imx-cleanup-3.9 to avoid conflicts. * tag 'imx6q-cpudile-3.9' of git://git.linaro.org/people/shawnguo/linux-2.6: ARM: imx6q: support WAIT mode using cpuidle ARM: imx: move imx6q_cpuidle_driver into a separate file ARM: imx: mask gpc interrupts initially ARM: imx: return zero in case next event gets a large increment ARM: imx: Remove mx508 support ARM: imx: Remove mach-mx51_3ds board ARM: imx: use debug_ll_io_init() for imx6q ARM: imx: remove unused imx6q_clock_map_io() ARM: mach-imx: Kconfig: Do not select Babbage for MACH_IMX51_DT Signed-off-by: Olof Johansson <olof@lixom.net> Still, two delete/change conflicts caused by imx/cleanup: arch/arm/mach-imx/mach-mx50_rdp.c arch/arm/mach-imx/mach-mx51_3ds.c
| * | ARM: imx6q: support WAIT mode using cpuidleShawn Guo2013-01-301-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | Add WAIT mode (ARM core clock gating) support to imx6q cpuidle driver. As WAIT mode is broken on imx6q TO 1.0 and 1.1, it only enables the support for revision 1.2 with chicken bit set. Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
| * | ARM: imx: Remove mx508 supportFabio Estevam2013-01-291-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Only mx508 based board is mach-mx50_rdp and it has been marked as BROKEN for several releases. mx508 currently lacks clock support. In case someone needs to add mx508 support back, then the recommended approach is to use device tree. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
| * | ARM: imx: use debug_ll_io_init() for imx6qShawn Guo2013-01-291-5/+0
| | | | | | | | | | | | | | | | | | | | | Use debug_ll_io_init() to map low level debug port for imx6q, so that arch/arm/mach-imx/lluart.c can be removed. Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
| * | ARM: imx: remove unused imx6q_clock_map_io()Shawn Guo2013-01-291-1/+0
| |/ | | | | | | | | | | | | imx6q_clock_map_io() becomes an empty function since imx6q clock driver is moved to common clock framework. It's used nowhere now. Remove it. Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
* | ARM: remove mach .handle_irq for GIC usersRob Herring2013-01-121-1/+0
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | Now that the GIC initialization sets up the handle_arch_irq pointer, we can remove it for all machines and make it static. Signed-off-by: Rob Herring <rob.herring@calxeda.com> Cc: Russell King <linux@arm.linux.org.uk> Cc: Anton Vorontsov <avorontsov@mvista.com> Cc: Kyungmin Park <kyungmin.park@samsung.com> Cc: Sascha Hauer <kernel@pengutronix.de> Cc: David Brown <davidb@codeaurora.org> Cc: Daniel Walker <dwalker@fifo99.com> Cc: Bryan Huntsman <bryanh@codeaurora.org> Acked-by: Tony Lindgren <tony@atomide.com> Cc: Paul Mundt <lethal@linux-sh.org> Cc: Magnus Damm <magnus.damm@gmail.com> Cc: Dinh Nguyen <dinguyen@altera.com> Cc: Shiraz Hashim <shiraz.hashim@st.com> Acked-by: Stephen Warren <swarren@nvidia.com> Cc: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com> Cc: Linus Walleij <linus.walleij@linaro.org> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Acked-by: Kukjin Kim <kgene.kim@samsung.com> Acked-by: Shawn Guo <shawn.guo@linaro.org> Acked-by: Olof Johansson <olof@lixom.net> Acked-by: Arnd Bergmann <arnd@arndb.de>
* ARM i.MX25: Add devicetree supportSascha Hauer2012-11-121-0/+1
| | | | | | | | This adds a i.MX25 dt machine descriptor and changes the clock support to optionally initialize from dt. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Shawn Guo <shawn.guo@linaro.org>
* ARM: imx: call mxc_device_init() in soc specific functionShawn Guo2012-10-151-0/+1
| | | | | | | | | | | | | mxc_device_init() is a core_initcall function used to register devices for mxc_aips_bus and mxc_ahb_bus, which are needed by gpio and dma device registration. Instead of being a core_initcall function, we have it called in soc specific initialization function before gpio and dma devices get registered, so that it will not be called for other platforms when we enable multi-platform support for imx. Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
* ARM: imx: include common.h rather than mach/common.hShawn Guo2012-10-151-0/+162
Rename mach-imx/include/mach/common.h to mach-imx/common.h and update all users to include common.h rather than mach/common.h. It also removes an unneeded inclusion to common.h in mach-imx/devices/devices.c. Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Acked-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Arnd Bergmann <arnd@arndb.de>
OpenPOWER on IntegriCloud