Nothing major, just handling the RTC driver changes needed for the A31/A23.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJUHeMwAAoJEBx+YmzsjxAg9SkQAKDnwNzCaE7X4xWaWFSwsQWG
57W79GuFBCQ5s4JLrEtzcR+z8BoiXTwc24fV9iJT9Ax8FJL+aDduLXc6wvWhyJhZ
PhT7noZewWrBQxaHWlFhT4rS/jhM4FLaFayXqogS5N/ZJD/youanxfk9b1oR+OOs
SG0DBpMf3n48YPQJIroE/zY4uKuMCHYpWNadyGulEtLw7Zpp3zLWGyxjLO5tZLUk
al3WkcASDp2ad+vDm02X8VKhtr1EG0TbaZPw3HXDa5rW3BR2LBABcDE9U69YCn/4
CtFpBbQ7h4oWId5/OdmbJaPdO9cVyiV8ClddG6IsGp9gC+bHZKPRz74E72B/eN3Q
e5wT8j2p/JE8mqEK9IUdosIDOc26I/7RQMgg3nqzlTQciwa1VUfS3IqHhdkSzuYk
pwEQFD0DAs0se01E4oyGH3zgcJtj978qsUz55ke1CBEGz6zz9sTfFAjH4M2NYYFl
CxlkHwP5l+yeoFVBjeHivlbrKYtN9x6VSwy3L7EPonr++xkNTuc5thQVt3ldkfkr
0lh64cuAujs0rKETr/QrY03TaqS23srycPO6oBdrwIXuI6EqHuzjSrR+sfLzpDbe
iFkaiHQWCm9esQO6vEz7lsLUauGLuwPhWsmRXRGDbxQLjuMhutEIU3/9QGFr7KCj
FFF7ndKUF8dcpJkWozKP
=kOAE
-----END PGP SIGNATURE-----
Merge tag 'sunxi-drivers-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into next/drivers
Pull "Allwinner drivers additions for 3.18" from Maxime Ripard:
Nothing major, just handling the RTC driver changes needed for the A31/A23.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
* tag 'sunxi-drivers-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux:
rtc: sunxi: Depend on platforms sun4i/sun7i that actually have the rtc
rtc: sun6i: Add sun6i RTC driver
Fixes below build break by not switching to stubs when the driver is a module:
drivers/soc/ti/knav_dma.c:418:7: error: redefinition of 'knav_dma_open_channel'
void *knav_dma_open_channel(struct device *dev, const char *name,
^
In file included from drivers/soc/ti/knav_dma.c:26:0:
include/linux/soc/ti/knav_dma.h:165:21: note: previous definition of 'knav_dma_open_channel' was here
static inline void *knav_dma_open_channel(struct device *dev, const char *name,
^
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
The Keystone Multi-core Navigator contains QMSS and packet DMA
subsystems which interwork together to form the Navigator cloud
used by various subsystems like NetCP, SRIO, SideBand Crypto
engines etc.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iQIcBAABAgAGBQJUIsw8AAoJEHJsHOdBp5c/tq0P/RBEgYnMBbv6RK6U3Vn3JkBn
8tB9165qNttrP63g437egXgEDt0AJeAZ6lvu3otLZZkOIekmkLb+xxs8Q7PCAt5H
SCHUpnfj+OcUnoqEm6u+ys9lWYkOL60PsFY/d8owZaHNVe4dBY67Y5iMTc4HnC8J
QXv6Te911vzMxMg4gSoXtRRISj6q7edAro1rfV9mFwFW2zHOrP2UQLnXYnBO266D
1KK7mlRquipHN/cU6yppOc1BvvSboLDInE7vn05O50LjkfZV5+RGLWsyFTkvxBPH
xcbZiJDyjDfibTBR52vynwMeB+jPd/FVH/G6lrr3hCJFGg9JCDHBx9vFwvZ0N/8T
+nlPW5bS1Jva90gIJAaydmRNOWNki7errCMQprM22AzhuFjjIkiqKFD005sEUoZd
qUCLSnTh3KafxpPW5/cUPcLAU0AMICafq90AW8fWchXPM/Msj8dnMUWY8e8CrbAP
kvW/85pk5iyTTibCAnCsuFhxw8huh8zOjIZVpsCclC5kMBxGWgIi9GrLPjlDAnk7
YFi2maPGAnSuOxYBPJXko1ORN1fOenkom2KnJZQG1Kvx45OGiZyCGO7fGZnwGzMm
Y/OZkln6m5s14KNaaVDoeLrpJ3KDawI6qogpXxMy7QrXlDkdwZykdG1lfbewzUyt
bIyN1sheqEGgFUowxvZT
=+EXH
-----END PGP SIGNATURE-----
Merge tag 'drivers-soc-ti-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone into next/drivers
Merge "soc: Keystone SOC Navigator drivers for 3.18" from Santosh Shilimkar:
Keystone SOC Navigator drivers for 3.18
The Keystone Multi-core Navigator contains QMSS and packet DMA
subsystems which interwork together to form the Navigator cloud
used by various subsystems like NetCP, SRIO, SideBand Crypto
engines etc.
* tag 'drivers-soc-ti-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone:
MAINTAINERS: Add Keystone Multicore Navigator drivers entry
soc: ti: add Keystone Navigator DMA support
Documentation: dt: soc: add Keystone Navigator DMA bindings
soc: ti: add Keystone Navigator QMSS driver
Documentation: dt: soc: add Keystone Navigator QMSS bindings
Signed-off-by: Olof Johansson <olof@lixom.net>
The Keystone Navigator DMA driver sets up the dma channels and flows for
the QMSS(Queue Manager SubSystem) who triggers the actual data movements
across clients using destination queues. Every client modules like
NETCP(Network Coprocessor), SRIO(Serial Rapid IO) and CRYPTO
Engines has its own instance of packet dma hardware. QMSS has also
an internal packet DMA module which is used as an infrastructure
DMA with zero copy.
Initially this driver was proposed as DMA engine driver but since the
hardware is not typical DMA engine and hence doesn't comply with typical
DMA engine driver needs, that approach was naked. Link to that
discussion -
https://lkml.org/lkml/2014/3/18/340
As aligned, now we pair the Navigator DMA with its companion Navigator
QMSS subsystem driver.
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Kumar Gala <galak@codeaurora.org>
Cc: Olof Johansson <olof@lixom.net>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Grant Likely <grant.likely@linaro.org>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Sandeep Nair <sandeep_n@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
The Keystone Navigator DMA driver sets up the dma channels and flows for
the QMSS(Queue Manager SubSystem) who triggers the actual data movements
across clients using destination queues. Every client modules like
NETCP(Network Coprocessor), SRIO(Serial Rapid IO) and CRYPTO
Engines has its own instance of packet dma hardware. QMSS has also
an internal packet DMA module which is used as an infrastructure
DMA with zero copy.
Initially this driver was proposed as DMA engine driver but since the
hardware is not typical DMA engine and hence doesn't comply with typical
DMA engine driver needs, that approach was naked. Link to that
discussion -
https://lkml.org/lkml/2014/3/18/340
As aligned, now we pair the Navigator DMA with its companion Navigator
QMSS subsystem driver.
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Kumar Gala <galak@codeaurora.org>
Cc: Olof Johansson <olof@lixom.net>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Grant Likely <grant.likely@linaro.org>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Sandeep Nair <sandeep_n@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
The QMSS (Queue Manager Sub System) found on Keystone SOCs is one of
the main hardware sub system which forms the backbone of the Keystone
Multi-core Navigator. QMSS consist of queue managers, packed-data structure
processors(PDSP), linking RAM, descriptor pools and infrastructure
Packet DMA.
The Queue Manager is a hardware module that is responsible for accelerating
management of the packet queues. Packets are queued/de-queued by writing or
reading descriptor address to a particular memory mapped location. The PDSPs
perform QMSS related functions like accumulation, QoS, or event management.
Linking RAM registers are used to link the descriptors which are stored in
descriptor RAM. Descriptor RAM is configurable as internal or external memory.
The QMSS driver manages the PDSP setups, linking RAM regions,
queue pool management (allocation, push, pop and notify) and descriptor
pool management. The specifics on the device tree bindings for
QMSS can be found in:
Documentation/devicetree/bindings/soc/keystone-navigator-qmss.txt
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Kumar Gala <galak@codeaurora.org>
Cc: Olof Johansson <olof@lixom.net>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Grant Likely <grant.likely@linaro.org>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Sandeep Nair <sandeep_n@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
The QMSS (Queue Manager Sub System) found on Keystone SOCs is one of
the main hardware sub system which forms the backbone of the Keystone
Multi-core Navigator. QMSS consist of queue managers, packed-data structure
processors(PDSP), linking RAM, descriptor pools and infrastructure
Packet DMA.
The Queue Manager is a hardware module that is responsible for accelerating
management of the packet queues. Packets are queued/de-queued by writing or
reading descriptor address to a particular memory mapped location. The PDSPs
perform QMSS related functions like accumulation, QoS, or event management.
Linking RAM registers are used to link the descriptors which are stored in
descriptor RAM. Descriptor RAM is configurable as internal or external memory.
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Kumar Gala <galak@codeaurora.org>
Cc: Olof Johansson <olof@lixom.net>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Grant Likely <grant.likely@linaro.org>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Sandeep Nair <sandeep_n@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
device tree.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJUEhQHAAoJEBvUPslcq6VzmwkP/2pgzQwgYGT+Bq7PHKO2ATKY
6F3/NKJJJiQhU264OcwK+/kR01j9giGOm6+c6KoVoT49S2c3SNFiSK13B7Z4xHh5
thh0kgwSgw1GLjHsP12SqTwNq9nxKjLXr1P4gHP/qER036Yu5cNedVnlII2Wysws
UR4E1OcIRtNhQRLJ4snpIepNsAKlzKK8/QfNC2G/5Q9invCVeNeqcxauHAU7DFj/
k0X9LTpSjjgW4IBhXUntSd78My2OLBl28LGO1sjrMlw8w+cs76Z63C4K+VFRLSKE
/AbU7dHowVuYgHQf9l86xZb/621aa3H1lvidgDaoa98LQnJAU6cnAp58fAoLGUKX
R+xWI8P1r5gC2mnD2icx6QnHLy3TvAfwPSo8X+OnpUZwLpfHUfWXQvyp/RlByWVz
BK/aX5dfhVtIH2qMGnwJohcfoZI+L/qrV7c98e5HytzvcDY4FkHsUhXzGyR+k93K
WEfx9pXJHAvXJilNBf1mEQlqRGkEvSA4xW8eOgYeUkeEWWPc9uQ5Zlw4x7WsFnyE
WJqRuZAAU1f40T9qFWG/nWWFnhKDpgzQHZ2r4pIB4/hxnhVsa47PK4tz8RnrZroK
iWbC8ILzAlhFAcjepGyOJ6rMCuKovvHgHgmHoUyWBX7p2RN6SLG9u5K8ckAu3I59
O8b0yMx7voacigN7H8ia
=Rph0
-----END PGP SIGNATURE-----
Merge tag 'mailbox-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/drivers
Mailbox related changes for omaps to get it to work with
device tree.
* tag 'mailbox-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
mailbox/omap: add support for parsing dt devices
Documentation: dt: add omap mailbox bindings
Signed-off-by: Olof Johansson <olof@lixom.net>
it ready to move to drivers/irqchip. Note that this series
does not yet move the interrupt code to drivers, that will
be posted separately as a follow-up series.
Note that this branch has a dependency to patches both
in fixes-v3.18-not-urgent and soc-for-v3.18 and is based on
a merge. Without doing the merge, off-idle would not work
properly for git bisect.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJUEhOaAAoJEBvUPslcq6VzdOIP/33RC/kf5aUMBvSM/lvie/ZF
Au9Ns6lmHvPagHtgPkbtlQvXjLBZXv3S3fSLvhvuGHQgwC/U7JvD7iBzTc5MQQmE
nIoKe3q6hwWHXUtx5M6zzAxUGNAkwd9ui0O/qIjK8j3F9p5w7f98m01fZEIbM8uD
iRr/PCjmxPLkvl4NsGQ4y6EnXOjy+9M3ZRzbLU57KZ+cMa1ntT5/SbwRCG8y8So9
7xcNc/gJ+kaHWmaztnSDadXJSdd9PuXohInYEDjnqG7Eg8zecbRGW2sJEYac4XIj
CvSxPXyyKFVEHjm6uVcIm7zRFWK7iQqlpugBJ4yQ6PfIP5aINEE+rU2T8a/cOSkR
NOKI58nV5jpT7+JcSnefg0OJYhzdr5QUYSh2m7bRwWCFLat8ZhU5eAWoIHUSgJgB
lgGGLxdeb+RgjJP5p+PWbP2xRZZ5THL3u8utgiSGFWL19RRV2OnipdqPtehKNHB9
rmndYjn2PU++wMATJmWzdr694a6Q9/vviXDPF46gbQsSYBO7bvBg9iLkt9xaBUuz
qnVyi7BcujOKcfmp0rz1JXOS4Rp0zXFnTebDN4sqYkWE0cvbmYGeX+26zhMswzYs
pASwfh3gY7knSdtyU7cZrN3yrRwFY/H8mcQo18W/mN+594gTz8tPgKgeiU25XxFD
Em9mXFuRQRtK9oqmPotc
=M+BY
-----END PGP SIGNATURE-----
Merge tag 'intc-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/drivers
Merge "omap intc changes for v3.18 merge window" from Tony Lindgren:
Interrupt code related clean-up for omap2 and 3 to make
it ready to move to drivers/irqchip. Note that this series
does not yet move the interrupt code to drivers, that will
be posted separately as a follow-up series.
Note that this branch has a dependency to patches both
in fixes-v3.18-not-urgent and soc-for-v3.18 and is based on
a merge. Without doing the merge, off-idle would not work
properly for git bisect.
* tag 'intc-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (325 commits)
arm: omap: intc: switch over to linear irq domain
arm: omap: irq: get rid of ifdef hack
arm: omap: irq: introduce omap_nr_pending
arm: omap: irq: remove nr_irqs argument
arm: omap: irq: remove unnecessary header
arm: omap: irq: drop omap2_intc_handle_irq()
arm: omap: irq: drop omap3_intc_handle_irq()
arm: omap: irq: call set_handle_irq() from .init_irq
arm: omap: irq: move some more code around
arm: boot: dts: omap2/3/am33xx: drop ti,intc-size
arm: omap: irq: drop ti,intc-size support
arm: boot: dts: am33xx/omap3: fix intc compatible flag
arm: omap: irq: use compatible flag to figure out number of IRQ lines
arm: omap: irq: add specific compatibles for omap3 and am33xx devices
arm: omap: irq: drop .handle_irq and .init_irq fields
arm: omap: irq: use IRQCHIP_DECLARE macro
arm: omap: irq: call set_handle_irq() from intc_of_init
arm: omap: irq: make intc_of_init static
arm: omap: irq: reorganize code a little bit
arm: omap: irq: always define omap3 support
...
Signed-off-by: Olof Johansson <olof@lixom.net>
- move of the PIT (basic timer) from mach-at91 to its proper location:
drivers/clocksource
- big cleanup of this driver along the way
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iQEcBAABAgAGBQJUFw4gAAoJEAf03oE53VmQAdwH+gIVjFww5vGjvfZqcOofmjlA
hzELgv1Jem2/OSQRkKX9ekY0hArca7POij+V9Ubz0LHag8JzEXhORq7KThx6vXbY
iUtx5hXkyXded5h8WqDJT0y7YFpM57Hv6Dgp7gXJQnNULwhQnafds0ucKr0fZVZK
64Zhf6YDQnHYotEoiE2zi+yAl2BI9uoO2tP+kWPezNWLQ5v89FnWtt828N+5Be/B
gujSX1ZHDtsIshdfjqhlZtm1eGDztajm/OxdWheU4qELsZ5QaSYe3klaExV93Hp4
LCFzczu54/krauAlLn01x/Kyjpi8S8Hc4Qj6AQU8LpAvoy/SMBy9xo0SIlX1ZX4=
=Zxt2
-----END PGP SIGNATURE-----
Merge tag 'at91-drivers2' of git://github.com/at91linux/linux-at91 into next/drivers
Merge " Second drivers series for AT91/3.18" from Nicolas Ferre:
- move of the PIT (basic timer) from mach-at91 to its proper location:
drivers/clocksource
- big cleanup of this driver along the way
* tag 'at91-drivers2' of git://github.com/at91linux/linux-at91:
ARM: at91: PIT: Move the driver to drivers/clocksource
ARM: at91: Give the PIT irq as an argument of at91sam926x_pit_init
ARM: at91: Convert the boards to the init_time callback
ARM: at91: soc: Add init_time callback
ARM: at91: PIT: (Almost) remove the global variables
ARM: at91: PIT: use request_irq instead of setup_irq
ARM: at91: PIT: Use pr_fmt
ARM: at91: PIT: Use consistent exit path in probe
ARM: at91: dt: Remove init_time definitions
ARM: at91: PIT: Rework probe functions
ARM: at91: PIT: Use of_have_populated_dt instead of CONFIG_OF
ARM: at91: PIT: Use DIV_ROUND_CLOSEST to compute the cycles
ARM: at91: generic.h: Add include safe guards
ARM: at91: PIT: Follow the general coding rules
Signed-off-by: Olof Johansson <olof@lixom.net>
Now that we have Kconfig options for individual sunxi platforms, let
the rtc-sunxi driver depend on the platforms that actually have this
hardware, sun4i and sun7i.
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
This patch introduces the driver for the RTC in the Allwinner A31 and
A23 SoCs.
Unlike the RTC found in A10/A20 SoCs, which was part of the timer, the
RTC in A31/A23 are a separate hardware block, which also contain a few
controls for the RTC block hardware (a regulator and RTC block GPIO pin
latches), while also having separate interrupts for the alarms.
The hardware is different enough to make a different driver for it.
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Reviewed-by: Varka Bhadram <varkabhadram@gmail.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Now that we don't depend on anyting in the mach-at91 directory, we can just
move the driver to where it belongs.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Boris BREZILLON <boris.brezillon@free-electrons.com>
Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Conflicts:
arch/arm/mach-at91/Kconfig
arch/arm/mach-at91/Makefile
This allows to remove the dependency of the timer driver on mach/hardware.h and
having an hardcoded interrupt number in the driver itself.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
now that we don't need to support legacy board-files,
we can completely switch over to a linear irq domain
and make use of irq_alloc_domain_generic_chips() to
allocate all generic irq chips for us.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
we don't need the ifdef if we have omap_nr_pending
telling us how many pending registers we have
on current platform. This solves a possible
problem where we could try to handle bogus
interrupts on OMAP2 and OMAP3 if using single
zImage kernel, because we would end up reading
the following pending FIQ register.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
that variable will tell us how many INTC_PENDING_IRQn
registers we have. It'll be used on a following patch
to cleanup omap_intc_handle_irq() a bit.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
we can set our global omap_nr_irqs early on
and drop the extra argument to omap_init_irq().
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
that was just a no-op wrapper around omap_intc_handle_irq
anyway.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
now that we're calling set_handle_irq() from
init_irq(), we can safely drop all callers to
omap3_intc_handle_irq() and its definition.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
the idea is that board-files won't need to set
.handle_irq on their machine_descs, which lets
us drop a little more pointless code.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
We want .init_irq to call set_irq_handle() for
legacy platforms. Note that this code will also
be dropped once omap2/3 devices are completely
moved to DT.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
we are now infering number of IRQ lines based
on correct compatible flag, which renders this
binding completely useless.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
we don't need that anymore since specific
devices are passing correct compatible flags.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
that way, our intc driver can figure out how
many IRQ lines INTC has.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
so far, only am33xx has 128 lines, all other devices
have only 96.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
with this, we can use a compatible flag to figure
out how many irq lines are wired up, no need for
our TI-specific ti,intc-size binding.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
now we can safely drop those fields from our machine_desc.
While at that, also drop the now unused omap_intc_of_init()
definition.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
IRQCHIP_DECLARE macro is used to declare the same
of_device_id structure for irqchips, it's just
a helper. No functional changes.
Note that we're temporarily including irqchip.h
with its full path, until we move this driver
to drivers/irqchip/.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
this will let us drop .handle_irq and .init_irq fields
from our generic machine_descs.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
nobody uses that function outside of this file,
so we don't need to expose it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
remove ifdef around omap3 INTC support. This
will make it easier to reuse code for PM.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
omap_intc_handle_irq now had an unnecessary
base_addr argument. Let's remove it and fix
all callers.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
an almost blind conversion from readl_relaxed
to our newly introduced intc_readl().
While at that, also remove some hardcoded
register addresses.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
this will cache number of irqs. Also in preparation
for removal of irq_banks array.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
We have a single bank in that array, this patch
is in preparation to remove that array. It just
shifts everything to a new set of functions
for register IO while also removing old ones.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
This is in preparation for removing the pointless
irq_banks array.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
of_device_ids (i.e. compatible strings and the respective data) are not
supposed to change at runtime. All functions working with of_device_ids
provided by <linux/of.h> work with const of_device_ids. So mark the
non-const function parameters and structs for OMAP2+ as const, too.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
The definition
static const char *omap3_boards_compat[] __initconst = {
defines a changable array of constant strings. That is you must not do:
*omap3_boards_compat[0] = 'f';
but
omap3_boards_compat[0] = "another string";
is fine. So the annotation __initconst is wrong and yields a compiler
error when other really const variables are added with __initconst.
As the struct machine_desc member dt_compat is declared as
const char *const *dt_compat;
making the arrays const is the better alternative over changing all
annotations to __initdata.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Logic has been added to the OMAP2+ mailbox code to parse the
mailbox dt nodes and construct the different sub-mailboxes
associated with the instance. The DT representation of the
sub-mailbox devices is different from legacy platform data
representation to allow flexibility of interrupt configuration
between Tx and Rx fifos (to also possibly allow simplex devices
in the future). The DT representation gathers similar information
that was being passed previously through the platform data, except
for the interrupt type information, which is gathered through driver
compatible match data.
The non-DT support has to be maintained for now to not break
OMAP3 legacy boot, and the legacy-style code will be cleaned
up once OMAP3 is also converted to DT-boot only.
Cc: Jassi Brar <jassisinghbrar@gmail.com>
Cc: Rob Herring <robh+dt@kernel.org>
Signed-off-by: Suman Anna <s-anna@ti.com>
Acked-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Add the device tree bindings document for OMAP2+ mailbox.
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>
Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iQIcBAABAgAGBQJUCLKbAAoJEBmUBAuBoyj0BuAQAJAmcEmqUbKlx94d2fVeLXRq
yr61Np+lv3kZoQlSUut8btWOAiYsEbx+HOXGx2cYdJHB4Nna3bfqZwEYIhopnpSn
4nll3PBOTJJ2Abi+mh9bBR/NpdIG6dQYYDGr3NKVVfKfiBFolHnfUSMypqjUicQh
zwdtb5VEeOdVCrbL8CNq1yTGBMEMI/itnSL6+zT2R6FOj8YyO/CbpTVhQX3+OdtR
dp0YW/WmBOoN0MfgbDsW41K+eI9sG/wG42j5V5zaIXwYXd9ZmsW8dBis6+pzqayy
8kX71TWHgp1MjEd0EVtxtBLh0+m2BgQzjvVp2h+N+Ok0oeiSkkTFgOlwgyirCYzi
ndFUi1ThJsujg5jcTN1AIDEgWZ4JclEE8uXm0/sQ9eMpuoLG3t9XaQtcZrRSevuM
GtBP8oeUAykdThfzXJ7qfNgTOa2HGi5DEVgJ9f/JHfz2cjyLBSEdWt3/isyPusrC
6D7VzvBzbp50hcPqk074lDc4eNNmT1DyCRO0IfSxVLk8HPvfdpgvrIhC+o6sbDcr
UcQQkLzW5IfUihVOlhnBnC/KKvWWg3hyvVGkMYJQOCNcp+LVOVaOUGdaVTA7D8St
CC1TTWLJkfIgD1XABeNqSxQVA7PbJPjSxkFlm32tqOq4jr4fx0rpHIXDGgxfNNCw
AFt/L4g4lLlmZbCygWV1
=Qe1q
-----END PGP SIGNATURE-----
Merge tag 'socfpga_driver_for_v3.18' of git://git.rocketboards.org/linux-socfpga-next into next/drivers
Pull "SOCFPGA driver update for v3.18" from Dinh Nguyen:
This is the EDAC driver for EDAC. Boris had given me permission to
take this patch together with it's DTS component. The DTS portion was in the
previous pull request.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
* tag 'socfpga_driver_for_v3.18' of git://git.rocketboards.org/linux-socfpga-next:
edac: altera: Add Altera SDRAM EDAC support