imx6q gets 5 uart ports in total. Different board design may choose
different port as debug uart. For example, imx6q-sabresd uses UART1,
imx6q-sabrelite uses UART2 and imx6q-arm2 uses UART4. Rather than
bloating DEBUG_LL choice list with all these uart ports, the patch
introduces DEBUG_IMX6Q_UART_PORT for users to input uart port number
when DEBUG_IMX6Q_UART is selected inside DEBUG_LL choice.
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Setup the GPIO7_11 pin as interrupt to the DA9053 and also rename the regulator nodes
so that they match with the datasheet.
This allows probing of DA9053 to succeed.
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Since commit 8fe4554f (leds: leds-gpio: adopt pinctrl support) gpio-led driver
has pinctrl support, so setup the gpio led pin via pinctrl and avoid the
following warning:
leds-gpio leds.2: pins are not configured from the driver
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
According to Documentation/devicetree/bindings/mmc/mmc.txt bus-width
is a mandatory property. While this is currently enforced nowhere, it's
a good habit to just add the property now to allow to add common helper
functionality for the mmc property parsing later.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
With being part of multi-platform support, SMP can be enabled by other
platform even when SOC_IMX6Q is deselected. It leads to a situation
that arch/arm/mach-imx/platsmp.c is built without HAVE_IMX_SRC selection
which will cause build error. For example, the following link errors
will be seen when building imx5 with other v7 platforms.
arch/arm/mach-imx/built-in.o: In function `imx_cpu_die':
platform-ahci-imx.c:(.text+0x219c): undefined reference to `imx_enable_cpu'
arch/arm/mach-imx/built-in.o: In function `imx_boot_secondary':
platform-ahci-imx.c:(.cpuinit.text+0x14): undefined reference to `imx_set_cpu_jump'
platform-ahci-imx.c:(.cpuinit.text+0x20): undefined reference to `imx_enable_cpu'
Select HAVE_IMX_SRC as long as SMP is enabled to fix the problem.
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Since commit c5a0d497(ARM: imx: enable multi-platform build),
ARCH_MXC is selected by the following logic:
config ARCH_MXC
def_bool y if ARCH_MULTI_V4_V5 || ARCH_MULTI_V6_V7
, which causes build error on vexpress_defconfig:
arch/arm/mach-imx/hotplug.c:49: undefined reference to `imx_enable_cpu'
arch/arm/mach-imx/platsmp.c:57: undefined reference to `imx_set_cpu_jump'
arch/arm/mach-imx/platsmp.c:58: undefined reference to `imx_enable_cpu'
Make ARCH_MXC a user selectable option, so that it does not get built
by default on other defconfigs that select ARCH_MULTI_V4_V5 or ARCH_MULTI_V6_V7.
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
It enables multi-platform build for imx. With ARCH_MULTI_* options
coming to play, ARCH_MXC becomes an user invisible option, while
ARCH_IMX_V4_V5 and ARCH_IMX_V6_V7 get removed. Both imx_v4_v5_defconfig
and imx_v6_v7_defconfig get updated to adopt the changes.
AUTO_ZRELADDR and ARM_PATCH_PHYS_VIRT are selected by ARCH_MXC now to
save the duplication.
Headers timex.h and uncompress.h are not needed for multi-platform
build. Remove them.
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
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>
The only mach/irqs.h user outside arch/arm/mach-imx is
sound/soc/fsl/imx-pcm-fiq.c, which refers to mxc_set_irq_fiq().
Move the declaration into include/linux/platform_data/asoc-imx-ssi.h,
so that we can remove mach/irqs.h includsion from imx-pcm-fiq.c.
Inside arch/arm/mach-imx, the only users to mach/irqs.h are avic.c
and tzic.c for referring to macro FIQ_START. Let's move the macro
into irq-common.h and get rid of mach/irqs.h completely.
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: alsa-devel@alsa-project.org
It moves a bunch of header files included in hardware.h and itself
from mach-imx/include/mach to mach-imx, and updates users to include
hardware.h rather than mach/hardware.h. The files in mach-imx/devices
will need to include "../hardware.h".
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Move imx debug-macro.S over to common debug macro directory. It
removes the inclusion to hardware.h by hard-coding the physical
address of uart port and copying IMX_IO_P2V from hardware.h.
Since we will need a common solution, which might use a fixed virtual
address for uart port across platforms, we make a copy of IMX_IO_P2V
here as a temporary solution to enable low-level debug for imx
multi-platform build.
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Acked-by: Arnd Bergmann <arnd@arndb.de>
It changes the driver to use platform_device_id rather than cpu_is_xxx
to determine the controller type, and updates the platform code
accordingly.
As the result, mach/hardware.h inclusion gets removed from the driver.
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Cc: linux-fbdev@vger.kernel.org
It changes the driver to use platform_device_id rather than cpu_is_xxx
to determine the controller type, and updates the platform code
accordingly.
As the result, mach/hardware.h inclusion gets removed from the driver.
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Tested-by: Javier Martin <javier.martin@vista-silicon.com>
Cc: Vinod Koul <vinod.koul@linux.intel.com>
It changes the driver to use platform_device_id rather than cpu_is_xxx
to determine the controller type, and updates the platform code
accordingly.
As the result, mach/hardware.h inclusion gets removed from the driver.
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: rtc-linux@googlegroups.com
This is some amount of work left/forgot from device tree conversion.
Instead of checking cpu_is_xxx to determine the controller type, the
driver should use platform_device_id, which should match the device
tree compatible string.
The patch changes the driver to use platform_device_id rather than
cpu_is_xxx to determine the controller type/version. It also updates
the platform code and device tree source accordingly.
As the result, mach/hardware.h inclusion gets removed from the driver.
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Cc: Wolfram Sang <w.sang@pengutronix.de>
Cc: linux-i2c@vger.kernel.org