The missing license showed up as a randconfig warning now, no idea
why we never saw that earlier.
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Olof Johansson <olof@lixom.net>
gpio-ep93xx.h, hardware.h, and platform.h are only used in
arch/arm/mach-ep93xx, so we can move them one there and no
longer expose them to device drivers.
Acked-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Acked-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Olof Johansson <olof@lixom.net>
ep93xx does not have a proper pinctrl driver, but does things
ad-hoc through mach/platform.h, which is also used for setting
up the boards.
To avoid using mach/*.h headers completely, let's move the interfaces
into include/linux/soc/. This is far from great, but gets the job
done here, without the need for a proper pinctrl driver.
Acked-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Acked-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Olof Johansson <olof@lixom.net>
We can communicate the clock rate using platform data rather than setting
a flag to use a particular value in the driver, which is cleaner and
avoids the dependency.
No platform in the kernel currently defines the ep93xx keypad device
structure, so this is a rather pointless excercise. Any out of tree
users are probably dead now, but if not, they have to change their
platform code to match the new platform_data structure.
Acked-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Olof Johansson <olof@lixom.net>
The header file is the only thing preventing us from building the
driver in a cross-platform configuration, so move the structure
we are interested in to the global platform_data location
and enable compile testing.
Acked-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Acked-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Olof Johansson <olof@lixom.net>
and overcurrent handling code in DA8XX OHCI driver by modeling
vbus GPIO as a regulator. This unifies code for all users, device
tree and non-device-tree.
The OHCI driver patches have been acked by its maintainer.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJctKWDAAoJEGFBu2jqvgRN7rsP/iIM7h+mmny5r3pcEj/ALiLL
iLo2FBgLokRYZnLSg+Ar7Rx3tNxWxwTB/N6yy1bS05Ozpbw0YD4sFoZ1h1CEa7eH
Ez5WU2E+rcR4EtA06LDe/e0Dzhzjy9OAbV9cUsvUgWpjwlRPPKQ9Z5/yWUx4RRmc
GsFNjYvUvxYTrydr11vnMdz/MKwXq/TRTRoGSRTgP5fUzlQSWW0sj/IEtP/54ANN
iqH2RQlPRFzGhjpnpxym0yv1owIO81WzoxW0jat1JfnJE/KnfepSSyuBRXhW2s1d
owWuh/0T8dSvkayGAQiPpZlfH8QjM84RJwLEDfNbnftvOx3whbP9SnwON3USmE/7
qraIbbkEizF5tlMcd1gDHBdssuYEREm0Ea337L6pFIFv89Mos1C0BsReJCnqIwXs
yREGYkaStNkb/QIa1VZv6EqhHlop6l03Gm7afXAt6Q887ER9GjurmcndPy58hfId
B3F+ipzDxVMttdH5zZaL2PVcztNDRsHzRQEatd7jgn/hKHluLHsA/LHUEndXhjyZ
uZkHomgEUwSNrrl4z3oPN536PaWHoKlJLkY33RZLeljDo9wC90pWY67DVGAHQywV
c2Mkdqdo1WGWsNGFYncsW2M27h7y5g0N/T/DDlT3cm1J0qR2wRVH9UjnMRInPesO
P9vjCf0LidxgJcIjLeTY
=JFVt
-----END PGP SIGNATURE-----
Merge tag 'davinci-for-v5.2/soc' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into arm/soc
This update for DaVinci SoC support simplifies the VBUS enable
and overcurrent handling code in DA8XX OHCI driver by modeling
vbus GPIO as a regulator. This unifies code for all users, device
tree and non-device-tree.
The OHCI driver patches have been acked by its maintainer.
* tag 'davinci-for-v5.2/soc' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci:
usb: ohci-da8xx: drop the vbus GPIO
ARM: davinci: da830-evm: add a fixed regulator for ohci-da8xx
ARM: davinci: omapl138-hawk: add a fixed regulator for ohci-da8xx
usb: ohci-da8xx: disable the regulator if the overcurrent irq fired
usb: ohci-da8xx: let the regulator framework keep track of use count
ARM: davinci: add missing sentinels to GPIO lookup tables
Signed-off-by: Olof Johansson <olof@lixom.net>
- only a little fix the PXA SSP removal path
-----BEGIN PGP SIGNATURE-----
iQJLBAABCgA1FiEExgkueSa0u8n4Ls+HA/Z63R24yxIFAlyzlOwXHHJvYmVydC5q
YXJ6bWlrQGZyZWUuZnIACgkQA/Z63R24yxLbcw/9HV2semvHJfnqx3h10nOTL0nw
Ot47vWACO/vQcnn+n+j9hSRWPzPsnkY/sAHYhyHXNmNd0PKjsejUYJWZkw920B9E
FzIkqNomolHuJ8kXoy5vQFPw+u18fWdsypq32qUFIFgeA4KnmFp/wFoymcmUmR43
iNIcsdJn2hYEpoZ6q8Ezn219HSvuh5jCSiMGBvL9jbMMK6k6v/ZYlT1t4squMIcm
yatkLnWb2IOwzxk1brvaCgjtWQ/CTHYZEzLOhWYUqo5G6i9WQbFm5gFisc1RChkX
57GJE4TF3S4gVxF40oBWMHUHtCgdzdfM+x1MHcpLjsgiuPn8VZTAY90N5RVo/6yu
1Xt33+Rfipasxb5/LKkSLXp0MjB/Gn90vFJSMRCkGEnZ0J6URHsWgVRI3hly9/Ve
7raOwzZer5jo1CJSXomgBdYCaMz+EmTORtOX9fYS9nbQTt2Gg6Z0tVKequkbAEey
LG2b2xp1HJABU3EvVITSrCBXTZoCeFCVmiAPjoIIyDcRLmm2E6bUVjgoQZ04UDIW
AITpusGllKkhmsN1rxOgGtC6wyyXLxk7T0wCNnJ8c2oyYvXwxl10Js+J4sclE87K
0CazQMlSWwSB0Rg9ezTzKESakYF4Rtly6KQAzvlJNLQrWEvUptA7vim1FGOWrwZi
jcRtmS+JixjMqGOCOsc=
=sEkB
-----END PGP SIGNATURE-----
Merge tag 'pxa-for-5.2' of https://github.com/rjarzmik/linux into arm/soc
This is the pxa changes for 5.2 cycle :
- only a little fix the PXA SSP removal path
* tag 'pxa-for-5.2' of https://github.com/rjarzmik/linux:
ARM: pxa: ssp: Fix "WARNING: invalid free of devm_ allocated data"
Signed-off-by: Olof Johansson <olof@lixom.net>
1. Cleanup in mach code.
2. Add necessary fixes for Suspend to RAM on Exynos5422 boards (tested
with Odroid XU3/XU4/HC1 family). Finally this brings a working S2R
on these Odroid boards (still other drivers might have some issues
but mach code seems to be finished).
3. Require MCPM for Exynos542x boards because otherwise not all of cores
will come online.
4. GPIO regulator cleanup on S3C6410 Craig.
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAlyzVXYQHGtyemtAa2Vy
bmVsLm9yZwAKCRDBN2bmhouD12kSD/45XOQOV51X81HJ1ztxsMrNBQJqY2kGJJrq
s3QUo184nCJT9muJ9QXLRCgqzU7fsI5UUb5k7BnJAX5XpV7nWzHuZd7MHoVlyNJH
p7YKzmHLxrzbFbRx+MQoRlaYjwXa9QD+OB/wACHId3cxmY2UneM7Zjp1dB/pJz+p
zvGO6nORntFHE3Cdk0hp+j9iyXA/JoUaPQUMsIETqPup+Cql0mM11/UDqI/YCI9N
E3GmieXYAboENRdZ0yStLjh5d5V4kTPAUh4YLQzhqDZKYlwbb36OBRbxhUdTMBOM
zPM3sU0x95yWSJwEgXkk4FRdEcjneXG6+9WreyYipLiu9OP1fE/b3UinjmdS6tqt
h+9xG+tKusDiUMFKxtOg5eQyncAyZMzFRxSbfO83+T8xEEM7MjydO8lpke0+/vf3
+Hi+GgYR5XLiRViPjQZTc7AvJICDJwncWtSPty+Z62rUb0wNf5EEWO85KE9N2wmK
vrNQrf4zzQMlDUGDWSeRhApxkZke48koLTU6+FoS6POmdFv1QD5UjFEsr4KF1r22
J2rK3fTC/R5qM4MZb+OHTBG0/mnY/+dzLBUa/JKaIrTacr1Ghml9DaFwePraAEp1
a0c5lGtmsYHnnb+tnR/jK8T9qaNN9H1/oNJYC+COENXNGUsyc9cd3SIVmSSvG/wh
nU6S+wbXPQ==
=v6It
-----END PGP SIGNATURE-----
Merge tag 'samsung-soc-5.2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into arm/soc
Samsung mach/soc changes for v5.2
1. Cleanup in mach code.
2. Add necessary fixes for Suspend to RAM on Exynos5422 boards (tested
with Odroid XU3/XU4/HC1 family). Finally this brings a working S2R
on these Odroid boards (still other drivers might have some issues
but mach code seems to be finished).
3. Require MCPM for Exynos542x boards because otherwise not all of cores
will come online.
4. GPIO regulator cleanup on S3C6410 Craig.
* tag 'samsung-soc-5.2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
ARM: s3c64xx: Tidy up handling of regulator GPIO lookups
ARM: exynos: Set MCPM as mandatory for Exynos542x/5800 SoCs
ARM: exynos: Fix infinite loops on CPU powerup failure
ARM: exynos: Fix a leaked reference by adding missing of_node_put
ARM: exynos: Fix undefined instruction during Exynos5422 resume
ARM: exynos: Add CPU state management for Exynos542x under secure firmware
ARM: exynos: Add Exynos SMC values for secure memory write
ARM: exynos: Move Exynos542x CPU state reset to pm_prepare()
Signed-off-by: Olof Johansson <olof@lixom.net>
This series of changes for ti-sysc interconnect target module driver
gets us to the point where we can actually drop legacy platform data
for many devices in favor of device tree data.
To do this, we improve ti-sysc driver not to rely on platform data
callbacks to manage module clocks, and handle more quirks needed for
some devices. Also few minor fixes are needed, but were considered
not needed to be sent separately as they only show up with this series.
Then we drop several thousands of lines of legacy platform data for
omap4, omap5, dra7, am335x and am437x. We drop platform data for mmc,
i2c, gpio and uart devices to start with as those are typically
easily tested on all devices. In case of unexpected issues, we can just
add back the legacy platform data for a single device type if needed.
Finally we add initial support for enabling and disabling some devices
without legacy platform data callbacks. I was planning on sending the
dropping of legacy platform data as a separate series, but already
applied Roger's patch on top and pushed it out.
Note that this series depends on related SoC and is based on those.
-----BEGIN PGP SIGNATURE-----
iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAlywvZERHHRvbnlAYXRv
bWlkZS5jb20ACgkQG9Q+yVyrpXNkVBAAqFcPgl/OGYOp1xWHnKRXMJfYLYzHEn8v
V05UPodmSeszU3SUEonxCW14fiAxy3tp082Bl4Zp31Q0yKodzjC5ZOF57zGt6ZHg
Twkgs5TAIgpFJwzbb104FXGgZH6Lj//IEhMAnwXzcT5YxNYdOU5bhFffQbxmunvb
pQFX2x436BBWHnbIiI4zb/CKobgPNRQwoz8ndlKiqk20qLTUmzSLrKI8WPkFdste
E1WD8HC+BSxvCq78sr3qDqdEJ7klWABkrjNJr8BOGPHyQuzTpuqOnQP+I83IKPmG
6v0kH9u8Ik7TN6ald/AfaRD5qhiKrhL5tQm+U/pODQ9cVNE8cPpWqWbV/cWUtXka
yPWJtOC9NKuULZxvHrZdGoYTKHPdSdrfBOKGLIOBhuYi6Do8Hhvrg/ZrKN+hjkNz
v9iUbL9ssSr96zuAz5PrwFXk7lYWVgq/Xpb+/LZgCiMb6ww3akuioYCVdjNbbT7Y
Dzd1Gu+UtBut17BxpSimuoB6ZGLffzrXaD4ThRmxdZ/CVbdFxbw58Sam/i2E6Hqw
sXAGLrFXGO7hT2QOpppw7+zZJQXKd2g9V6MXCMTW9hkqyfopn6J2vK/sPqQGPzTs
SstCgqG5ubkAwQ18piTmveFwQKFYVO4CHjdmTmxGmO+gDtdDfChVo6+YG+1wSImE
SWPEEgkrHDs=
=HJlq
-----END PGP SIGNATURE-----
Merge tag 'omap-for-v5.2/ti-sysc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/soc
Driver changes for ti-sysc for v5.2 merge window
This series of changes for ti-sysc interconnect target module driver
gets us to the point where we can actually drop legacy platform data
for many devices in favor of device tree data.
To do this, we improve ti-sysc driver not to rely on platform data
callbacks to manage module clocks, and handle more quirks needed for
some devices. Also few minor fixes are needed, but were considered
not needed to be sent separately as they only show up with this series.
Then we drop several thousands of lines of legacy platform data for
omap4, omap5, dra7, am335x and am437x. We drop platform data for mmc,
i2c, gpio and uart devices to start with as those are typically
easily tested on all devices. In case of unexpected issues, we can just
add back the legacy platform data for a single device type if needed.
Finally we add initial support for enabling and disabling some devices
without legacy platform data callbacks. I was planning on sending the
dropping of legacy platform data as a separate series, but already
applied Roger's patch on top and pushed it out.
Note that this series depends on related SoC and is based on those.
* tag 'omap-for-v5.2/ti-sysc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (33 commits)
bus: ti-sysc: Add generic enable/disable functions
ARM: OMAP2+: Drop mcspi platform data for omap4
ARM: OMAP2+: Drop uart platform data for dra7
ARM: OMAP2+: Drop gpio platform data for dra7
ARM: OMAP2+: Drop i2c platform data for dra7
ARM: OMAP2+: Drop mmc platform data for dra7
ARM: OMAP2+: Drop uart platform data for omap5
ARM: OMAP2+: Drop gpio platform data for omap5
ARM: OMAP2+: Drop i2c platform data for omap5
ARM: OMAP2+: Drop mmc platform data for omap5
ARM: OMAP2+: Drop uart platform data for am33xx and am43xx
ARM: OMAP2+: Drop gpio platform data for am33xx and am43xx
ARM: OMAP2+: Drop i2c platform data for am33xx and am43xx
ARM: OMAP2+: Drop mmc platform data for am330x and am43xx
ARM: OMAP2+: Drop uart platform data for omap4
ARM: OMAP2+: Drop gpio platform data for omap4
ARM: OMAP2+: Drop i2c platform data for omap4
ARM: OMAP2+: Drop mmc platform data for omap4
Documentation: bus: ti-sysc: fix spelling mistakes "multipe" and "interconnet"
bus: ti-sysc: Detect DMIC for debugging
...
Signed-off-by: Olof Johansson <olof@lixom.net>
This series of changes mostly consists of ti-sysc interconnect driver
related preparation work. With these changes and the related ti-sysc
driver changes, we can start dropping legacy omap_hwmod_*data.c platform
data for many devices.
There are also two am335x and am437x related PM changes for secure
devices that have ROM handling some parts and needs EFUSE power domain
active.
-----BEGIN PGP SIGNATURE-----
iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAlywuEIRHHRvbnlAYXRv
bWlkZS5jb20ACgkQG9Q+yVyrpXPoiQ/+MfNIZ9QBirmX+l8JKQfsb7GYXeza6LR0
InU9Olc2iai+2LJ9ArC1xctrZoV+CSzm+TIrnaCZYXNsx7VKJ+Vc6V+iq+VzqPWe
8KQ92kzkz12j5ohajp3L82Hnk7vsLRU+LMdC4OxqeQGnvrz2p8JtbsvqxkCgRUIU
ZC/plF16SdcAXiVvQ/vFoGj37oo5UI3pX4CsXTsnjrFiRMh9BIAGzpmIorKn5ows
FQ6spUExtSFAZ4rIHhjaP0KTcGGv2ltdBvPZFjczGIGnxSScF8augcADJDOzrinO
Pt1rXUaDzCbmYGOS0QP070Xx0eVIWQom0MLIA+x8mrXBcVL2jQ4vuN/d7DzM5XNs
PSWhDN6OtN/D9ocZ3S5JcnZJLYcnfNIi0L0CbQPZgS844YYSRkAYFmbrLYAskSO4
wrixYjyme+CofeD2fEItESaNVHYw7PH78zmdY9RDHK3cQxqshaOfdZLNhnAF/TZ7
dGKnRyl6hWpn0O1rAqstvno4XIg18URJQrtx3EV21eBnmHSs2FRSjfrpCEjnODk6
YkD3X/hF01DLxV5Hh97Hj6F351KDqL27g1+Md69ktfdprqMwpTMTQHCSgogCg3yN
0bLe6x7KijKtWkM/JnTkNU8S5iEDK6+4CvCHfBUTx86t01mSfOWg6JcVLmUL87lF
pQM1Lr5LHoo=
=WkV8
-----END PGP SIGNATURE-----
Merge tag 'omap-for-v5.2/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/soc
SoC changes for omap variants for v5.2 merge window
This series of changes mostly consists of ti-sysc interconnect driver
related preparation work. With these changes and the related ti-sysc
driver changes, we can start dropping legacy omap_hwmod_*data.c platform
data for many devices.
There are also two am335x and am437x related PM changes for secure
devices that have ROM handling some parts and needs EFUSE power domain
active.
* tag 'omap-for-v5.2/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: OMAP2+: pm33xx-core: Do not Turn OFF CEFUSE as PPA may be using it
ARM: OMAP2+: Wakeupgen: AM43xx HS devices should save context like non-HS
ARM: OMAP2+: Handle reset quirks for dynamically allocated modules
ARM: OMAP2+: Remove hwmod .rev data and use local SoC checks instead
ARM: OMAP2+: Allocate struct omap_hwmod based on dts data
ARM: OMAP2+: Define _HWMOD_STATE_DEFAULT and use it
ARM: OMAP2+: Prepare class allocation for dynamically allocated modules
ARM: OMAP2+: Make interconnect target module allocation functions static
ARM: OMAP2+: Fix potentially uninitialized return value for _setup_reset()
ARM: dts: Fix dcan clkctrl clock for am3
Signed-off-by: Olof Johansson <olof@lixom.net>
This patch enables AMBA support for stm32 family.
stm32 family embeds different amba pl180 variants.
Signed-off-by: Ludovic Barre <ludovic.barre@st.com>
Signed-off-by: Alexandre Torgue <alexandre.torgue@st.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
Rather than unconditionally registering the GPIO lookup table only do so
for devices that require it.
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
[Fixed up to also handle wm5102 and wm5102 reva]
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
All users now setup a fixed regulator for the vbus supply. We can drop
the vbus GPIO code.
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Instead of directly using the vbus GPIO we should model it as a fixed
regulator. Add all necessary fix-ups for the regulator to be registered
and configure the vbus GPIO as its enable pin.
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Instead of directly using the vbus GPIO we should model it as a fixed
regulator. Add all necessary fix-ups for the regulator to be registered
and configure the vbus GPIO as its enable pin.
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Historically the power supply management in this driver has been handled
in two separate places in parallel. Device-tree users simply defined an
appropriate regulator, while two boards with no DT support (da830-evm and
omapl138-hawk) passed functions defined in their respective board files
over platform data. These functions simply used legacy GPIO calls to
watch the oc GPIO for interrupts and disable the vbus GPIO when the irq
fires.
Commit d193abf1c9 ("usb: ohci-da8xx: add vbus and overcurrent gpios")
updated these GPIO calls to the modern API and moved them inside the
driver.
This however is not the optimal solution for the vbus GPIO which should
be modeled as a fixed regulator that can be controlled with a GPIO.
In order to keep the overcurrent protection available once we move the
board files to using fixed regulators we need to disable the enable_reg
regulator when the overcurrent indicator interrupt fires. Since we
cannot call regulator_disable() from interrupt context, we need to
switch to using a oneshot threaded interrupt.
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
There's no reason to have a separate variable to keep track of the
regulator state. The regulator core already does that. Remove
reg_enabled from struct da8xx_ohci_hcd.
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Some GPIO lookup tables defined in davinci board files are missing
array sentinels. If an entry for given device cannot be found, this
will cause a kernel panic.
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Support for Exynos5420/5422/5800 SoCs requires MCPM to properly boot all
CPU cores on all currectly supported platforms: Peach Pit (Exynos5420),
Odroid XU3/XU3lite/XU4/HC1 (Exynos5422) and Peach Pi (Exynos5800).
Without it some CPU cores fail to come online. Remove then the ability to
disable MCPM and make it mandatory when Exynos542x/5800 support is
enabled.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
For non legacy cases, add generic sysc_enable_module()
and sysc_disable_module() functions.
Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
This area is used to store keys by HSPPA in case of AM438x SOC. Leave it
active.
Signed-off-by: Kabir Sahane <x0153567@ti.com>
Signed-off-by: Andrew F. Davis <afd@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Unlike some previous generation devices, AM43xx HS IRQ and Wakegen
context is handled by the ROM for us, and no secure service call
is needed or supported. Non-GP AM43xx devices should take the
same path as GP.
Signed-off-by: Andrew F. Davis <afd@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Add timeout to infinite loops during the CPU powerup procedures. It
is better to report an error instead of busylooping for infinite time
in case of failure.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
We can now drop legacy platform data one interconnect target module at
a time in favor of the device tree based data that has been added earlier.
Signed-off-by: Tony Lindgren <tony@atomide.com>
We can now drop legacy platform data one interconnect target module at
a time in favor of the device tree based data that has been added earlier.
Signed-off-by: Tony Lindgren <tony@atomide.com>
We can now drop legacy platform data one interconnect target module at
a time in favor of the device tree based data that has been added earlier.
Signed-off-by: Tony Lindgren <tony@atomide.com>
We can now drop legacy platform data one interconnect target module at
a time in favor of the device tree based data that has been added earlier.
Signed-off-by: Tony Lindgren <tony@atomide.com>
We can now drop legacy platform data one interconnect target module at
a time in favor of the device tree based data that has been added earlier.
Signed-off-by: Tony Lindgren <tony@atomide.com>
We can now drop legacy platform data one interconnect target module at
a time in favor of the device tree based data that has been added earlier.
Signed-off-by: Tony Lindgren <tony@atomide.com>
We can now drop legacy platform data one interconnect target module at
a time in favor of the device tree based data that has been added earlier.
Signed-off-by: Tony Lindgren <tony@atomide.com>
We can now drop legacy platform data one interconnect target module at
a time in favor of the device tree based data that has been added earlier.
Signed-off-by: Tony Lindgren <tony@atomide.com>
We can now drop legacy platform data one interconnect target module at
a time in favor of the device tree based data that has been added earlier.
Signed-off-by: Tony Lindgren <tony@atomide.com>
We can now drop legacy platform data one interconnect target module at
a time in favor of the device tree based data that has been added earlier.
Signed-off-by: Tony Lindgren <tony@atomide.com>
We can now drop legacy platform data one interconnect target module at
a time in favor of the device tree based data that has been added earlier.
Signed-off-by: Tony Lindgren <tony@atomide.com>
We can now drop legacy platform data one interconnect target module at
a time in favor of the device tree based data that has been added earlier.
Signed-off-by: Tony Lindgren <tony@atomide.com>
We can now drop legacy platform data one interconnect target module at
a time in favor of the device tree based data that has been added earlier.
Signed-off-by: Tony Lindgren <tony@atomide.com>
We can now drop legacy platform data one interconnect target module at
a time in favor of the device tree based data that has been added earlier.
Signed-off-by: Tony Lindgren <tony@atomide.com>
We can now drop legacy platform data one interconnect target module at
a time in favor of the device tree based data that has been added earlier.
Signed-off-by: Tony Lindgren <tony@atomide.com>
We can now drop legacy platform data one interconnect target module at
a time in favor of the device tree based data that has been added earlier.
Signed-off-by: Tony Lindgren <tony@atomide.com>
We can now drop legacy platform data one interconnect target module at
a time in favor of the device tree based data that has been added earlier.
Signed-off-by: Tony Lindgren <tony@atomide.com>
There is are a couple of spelling mistakes in the Documentation. Fix them.
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Reviewed-by: Mukesh Ojha <mojha@codeaurora.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
In preparation of dropping interconnect target module platform data in
favor of devicetree based data, we must pass swsup idle quirks to the
platform data functions.
For now, let's only tag the UART modules with the SWSUP_SIDLE_ACT quirk.
The other modules will get tagged with swsup quirks as we drop the
platform data and test the changes.
Signed-off-by: Tony Lindgren <tony@atomide.com>
We already have the clockactivity quirk set for some modules like i2c,
timers and smartreflex. But we're not passing it to the platform functions
yet. Let's start doing that in preparation of dropping interconnect target
module platform data in favor of device tree based data.
Signed-off-by: Tony Lindgren <tony@atomide.com>
We cannot access mcpdm registers at all unless there is an optional pdmclk
configured. As this is currently only needed for mcpdm, let's check for
mcpdm in sysc_get_clocks(). If it turns out to be needed for other modules
too, we can add more flags to the quirks table for this.
Signed-off-by: Tony Lindgren <tony@atomide.com>
At least mcpdm needs an optional external clock enabled to function and
this clock typically comes from the PMIC. We can detect mcpdm based on
the interconnect target module address and set a quirk flag early.
To do this, let's initialize the clocks a bit later and add a new
function for sysc_init_early_quirks(). Note that we cannot yet enable
the early quirks for mcpdm until the optional external clocks are
handled in the in the following patch.
Signed-off-by: Tony Lindgren <tony@atomide.com>
We can do the rsstctrl a bit later, but need to deassert rstctrl reset
before the clocks are enabled if asserted. Let's only init restctrl
in sysc_init_resets() and do the reset later on just before we enable
the device clocks.
Signed-off-by: Tony Lindgren <tony@atomide.com>
We are currently not managing interconnect target module clocks in the
for legacy platform data based case. This causes a problem for using the
platform data based functions when dropping the platform data for the
interconnect target module configuration.
To avoid a situation where we need to populate the main and optional
clocks also for the platform data based functions, let's just manage the
clocks directly in ti-sysc driver. This means that until the interconnect
target module confugration platform data is dropped our use count for
clk_enable() will be 2 instead of 1.
Signed-off-by: Tony Lindgren <tony@atomide.com>
The platform data based init functions typically reset the interconnect
target module configure the registers. As we may need the interconnect
target module specific quirks configured based on the revision register,
we want to move the platform data based init to happen later.
Let's allocate mdata as needed so it's available for sysc_legacy_init()
that we call with module clocks enabled from sysc_init_module().
Signed-off-by: Tony Lindgren <tony@atomide.com>