MXC_IRQ_PRIOR, MXC_PWM and ARCH_HAS_RNGA are all defined in an "if
ARCH_MXC" ... "endif" block, so they depend on ARCH_MXC anyhow.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
This is broken since at least one year when
ec996ba (mxc timer: make compile time independent)
removed the symbol MXC_TCN.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Now if the problem occurs that triggered the BUG_ON before, the machine
runs in a NULL pointer dereference. So it wouldn't be much harder now
to debug the situation if it occured.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
As in most cases only few irqs are pending using fls is more effective
than looping over all bits.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
GPIO_INT_LOW_LEV is defined as
(cpu_is_mx1_mx2() ? 0x3 : 0x0)
so depending on compiler optimisation and enabled SoCs this doesn't
qualify as a constant expression as needed by a switch statement.
Ditto for GPIO_INT_HIGH_LEV.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
This removes some #ifdefs and prepares moving the files in a directory
with more than imx21 and imx27 support.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
The previous commits cleaned up arch/arm/mach-mx2/devices.c such that it
doesn't rely on deprecated symbols any more.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
As the gpio ports have different addresses on imx21 and imx27 there are
two different port descriptions needed if not relying on the overloaded
cpp macro IO_ADDRESS. So some cpp magic is added to minimize code
duplication.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
The previous commit introduced one nand device per SoC. Use this
directly instead of the compatibility macro that will break for
multi-SoC kernels. And while at it remove the compatibility macro now
that all in-tree users are fixed.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
As the NFC controller has different addresses on imx21 and imx27 there
are two different devices needed if not relying on the overloaded cpp
macro NFC_BASE_ADDR. So some cpp magic is added to minimize code
duplication.
As obviously these two defines need different names, the name of the old
device is #defined to the new one when building for only one of imx21 or
imx27.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
This makes the source shorter and easier to verify. While at it switch
to use the SoC-prefixed constants.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
This makes the source shorter and easier to verify. While at it switch
to use the SoC-prefixed constants.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
This makes the source shorter and easier to verify. While at it switch
to use the SoC-prefixed constants.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
This makes the source shorter and easier to verify. While at it switch
to use the SoC-prefixed constants.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
This makes the source shorter and easier to verify. While at it switch
to use the SoC-prefixed constants.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
This simplifies the macro and makes is similar to the other
..._IO_ADDRESS macros defined for imx SOCs.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Apart from MXC91231_IO_ADDRESS itself this was the only usage of
MXC91231_AIPS1_IO_ADDRESS. Now MXC91231_IO_ADDRESS can be recoded with
IMX_IO_ADDRESS and all helper macros can go away.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Daniel Schaeffer <daniel.schaeffer@timesys.com>
Cc: Alberto Panizzo <maramaopercheseimorto@gmail.com>
Cc: Ivo Clarysse <ivo.clarysse@gmail.com>
The old names are defined only if the cpp symbol
IMX_NEEDS_DEPRECATED_SYMBOLS exists, which is defined (for now) for all
files below arch/arm/mach-mx1.
This was done earlier for mx2 and mx3, too.
USBD_INT0 is for now defined unconditionally to prevent breaking
drivers/usb/gadget/imx_udc.
While at it use IMX_IO_ADDRESS to define MX1_IO_ADDRESS which
adds a cast to the IO_ADDRESS macro fixing many warnings like
arch/arm/mach-mx1/generic.c:51: warning: passing argument 1 of 'mxc_init_irq' makes pointer from integer without a cast
.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
This fixes:
arch/arm/kernel/debug.S:147: Error: constant expression expected -- `ldrne r3,=(((UART1_BASE_ADDR)-AIPI_BASE_ADDR)+AIPI_BASE_ADDR_VIRT)'
arch/arm/kernel/debug.S:163: Error: constant expression expected -- `ldrne r3,=(((UART1_BASE_ADDR)-AIPI_BASE_ADDR)+AIPI_BASE_ADDR_VIRT)'
when compiling for mx2 with CONFIG_DEBUG_LL=y. A similar error exists
on mx3 and is fixed by this commit, too.
These were introduced by aae7019382.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This makes the FEC clock configuration consistent with the UART one.
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
The gpt_clk rate function doesn't consider the PER divider. This causes a
significant drift in time accounting. Fix this by introducing the correct rate
calculation function.
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This patch disables all unnecessary clock in mx25_clocks_init() to make a clean
start, the same as is being done for the rest of the i.MX chips.
This patch was tested on i.MX25 PDK.
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
The fref is needless on mx25 since the reference clock is fixed at 24MHz.
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
To distinguish between mx31lite and mx31lilly boards better to use
different enum types.
Signed-off-by: Vladimir Zapolskiy <vzapolskiy@gmail.com>
Acked-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>