Commit Graph

856637 Commits

Author SHA1 Message Date
Bartosz Golaszewski f962396ce2 ARM: davinci: support multiplatform build for ARM v5
Add modifications necessary to make davinci part of the ARM v5
multiplatform build.

Move the arch-specific configuration out of arch/arm/Kconfig and
into mach-davinci/Kconfig. Remove the sub-menu for DaVinci
implementations (they'll be visible directly under the system type.
Select all necessary options not already selected by ARCH_MULTI_V5.
Update davinci_all_defconfig. Explicitly include the mach-specific
headers in mach-davinci/Makefile.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Acked-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-09-09 21:36:47 +02:00
Pankaj Dubey a6fe8c77c5 arm64: exynos: Enable exynos-chipid driver
Enable Exynos Chipid driver for accessing SoC related information.

Link: https://lore.kernel.org/r/20190904175002.10487-6-krzk@kernel.org
Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-09-04 22:43:26 +02:00
Arnd Bergmann 504e6bee72 Samsung mach/soc changes for v5.4
1. Minor fixup in plat and mach code (S3C platforms),
 2. Enable exynos-chipid driver to provide SoC related information,
 3. Extend the patterns for Samsung maintainer entries to cover all
    important files.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAl1v9dkQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD157/D/9+CFtxnIzEOBUwkyEpHQYBINj8+Y1zGrSW
 xKDWSSQ0oGAt/0wnCz/7g08YMKy0XPP9fsUOGK6iqNmKQfw9Q3dIGxftLjnK1Pbl
 iiV81Xx2sJdOWhd0QEjcfjboSSZK622XnmdEdnCuRYnP5HUMvL0gK6QF9GCrhGUI
 KmpBbDk4DF/31gDvwLOoASo4hNhgm0hLK7uEKdzLHpA48jlN8lEq3Vc6c11ARdHj
 J0Mnfdq1bBO1XQh0nk3yE/GXrJrGv6mb9bNkZGE7AJM8bENdTiLqe60vfomqHoCP
 XDyRbcgp9lHvE1wm7U5/U9UWOJNBUmFOpZ4RRalmUn2qol2hfU6NxTHeEwfgKiHj
 vYU/dDgJ17BHqrjLBDYnTHVhBStuNZvtPW0CZwSvuoP1pMT/pmHMskj3ZBHwJALb
 uaW0JxmlLNaMw9WSfvHhZHRV7ZFM52n6IEWtzkH1JcOHWJJPkeLYK0FcCyYPgeSt
 Y4Upc7lcxk5YMn0iGRcNYSWK5KFXItyRD9oBHJ4Oeubh0UEhEqfI+TEEIOfGYyXX
 VOiOqOuekW5l2OOQvEhG0lK9rbxRfFR5d8qhQSin0AN/sW5h9GepHSqU3WavPV1T
 5DtWVZVx/U5fXkqd6om71/b5mNjSfGL1Pq3peXNmQy0AA1UXYIjG6PnGUfY9YNuI
 mzQq6ufXcg==
 =S0YI
 -----END PGP SIGNATURE-----

Merge tag 'samsung-soc-5.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into arm/soc

Samsung mach/soc changes for v5.4

1. Minor fixup in plat and mach code (S3C platforms),
2. Enable exynos-chipid driver to provide SoC related information,
3. Extend the patterns for Samsung maintainer entries to cover all
   important files.

* tag 'samsung-soc-5.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  MAINTAINERS: Extend patterns for Samsung SoC, Security Subsystem and clock drivers
  ARM: s3c64xx: squash samsung_usb_phy.h into setup-usb-phy.c
  ARM: exynos: Enable exynos-chipid driver
  ARM: samsung: Include GPIO driver header

Link: https://lore.kernel.org/r/20190904175002.10487-5-krzk@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-09-04 22:33:50 +02:00
Arnd Bergmann cc1770a65e This converts all DaVinci SoCs except DM365 to use new clocksource
driver. DM365 conversion is still under debug and will be part of a
 future pull request.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJdZpejAAoJEGFBu2jqvgRNvrkP/iFUl3+bWgFpwFGRI2tXOF2i
 ZWWKAvFXEWgHD95lznVNpAJ0gfT0CEbCLevlSBtfCVx9iijCgGY/qNyGyIp2kwM7
 seWnfFr6teGAw6PPxVF5znzuBx+OJYpe2hhDDxyyU9pIOG0ZhSW6f3sQ6uRqxG0A
 fP2nHeX8oOmdUlrlZVMf2RkeEImpYRS61tzXlbkdhaCKs1ThWHMXAP3YxVZohnbJ
 aKdXGgloVo9jVP0caT5Gep4LGYTvdBDHoeAaPlRQ+tO2hhSI7n0dq0YI0YfYWKqd
 nAitoPKwCbJlCYg+sUWAyr53Iy7Bh9HP++JYiR99aU2RtRch1ih86zmhKnKWVuR5
 J72kSGz2TY6JeAs0WhT8e+g3u4xLo7E4IiDPQ4h0RKLjgFdOacfZv5IdSlwUOHmg
 Sawwtfbp2Ps8jMmwR8bTVSIE3AAEwQSDTY738MPsAX51dIqwdJaMWZmdW69WAeMF
 6V9XI3bpwGI/xKfn9L0OPBOGayRgTCaMKpk15qx16xi+cZ10ZgMJwrGmN+qFvfmu
 h6sdjOGdFND3BrqE4uOpDvQUtFCDxqwfPBSkLGJ4uJzzREOPSn1dKqk4BmWzb9Iw
 AwWmOFEgnihESIAOr+aCyHay9QIf8XtHCX5lbJwTYHILFuVmNfNNb5IMK+IQOrH2
 yrnLzNZmPpES2s26P5ti
 =7VBk
 -----END PGP SIGNATURE-----

Merge tag 'davinci-for-v5.4/soc' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into arm/soc

This converts all DaVinci SoCs except DM365 to use new clocksource
driver. DM365 conversion is still under debug and will be part of a
future pull request.

* tag 'davinci-for-v5.4/soc' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci:
  ARM: davinci: dm646x: Fix a typo in the comment
  ARM: davinci: dm646x: switch to using the clocksource driver
  ARM: davinci: dm644x: switch to using the clocksource driver
  ARM: davinci: dm355: switch to using the clocksource driver
  ARM: davinci: move timer definitions to davinci.h
  ARM: davinci: da830: switch to using the clocksource driver
  ARM: davinci: da850: switch to using the clocksource driver
  ARM: davinci: WARN_ON() if clk_get() fails
  ARM: davinci: enable the clocksource driver for DT mode

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-09-04 15:13:48 +02:00
Arnd Bergmann 9e38081e5d Renesas ARM SoC updates for v5.4
- Low-level debugging support for RZ/A2M.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCXV/PyQAKCRCKwlD9ZEnx
 cPvMAQCJ+/oDXHyg48BknWJd2HRMpGAkv4/YS+TM7GWkeVc5YQEA4vF2sQV8Q1zf
 NmMRB9sAHnROZb7GiLHkynHDDpjYYQk=
 =r42g
 -----END PGP SIGNATURE-----

Merge tag 'renesas-arm-soc-for-v5.4-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into arm/soc

Renesas ARM SoC updates for v5.4

  - Low-level debugging support for RZ/A2M.

* tag 'renesas-arm-soc-for-v5.4-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  ARM: debug-ll: Add support for r7s9210

Link: https://lore.kernel.org/r/20190823123643.18799-3-geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-09-03 23:12:58 +02:00
Arnd Bergmann e8606cd481 ARM: Xilinx Zynq SoC patches for v5.4
- Add support for SMP in thumb mode
 - Fix SMP trampoline code when FORTIFY_SOURCE is enabled
 -----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQQbPNTMvXmYlBPRwx7KSWXLKUoMIQUCXW5yWgAKCRDKSWXLKUoM
 ISrxAJ4vzP6qLTLr2vN9qDQ4XM63kQ/RiQCdEEBejxseeXtdj1xO+s4NebRlkiA=
 =0zGR
 -----END PGP SIGNATURE-----

Merge tag 'zynq-soc-for-v5.4' of https://github.com/Xilinx/linux-xlnx into arm/soc

ARM: Xilinx Zynq SoC patches for v5.4

- Add support for SMP in thumb mode
- Fix SMP trampoline code when FORTIFY_SOURCE is enabled

* tag 'zynq-soc-for-v5.4' of https://github.com/Xilinx/linux-xlnx:
  ARM: zynq: Use memcpy_toio instead of memcpy on smp bring-up
  ARM: zynq: Support smp in thumb mode

Link: https://lore.kernel.org/r/8e00ba70-9403-4bf7-2870-a94758e37346@monstr.eu
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-09-03 23:09:33 +02:00
Arnd Bergmann a3a2902fb8 SoC changes for omap variants for v5.4
The first change moves platform-specific asm-offsets.h to arch/arm/mach-omap2
 to fix iessu with parallel build with CONFIG_IKHEADERS, and the second change
 removes a useless kfree.
 
 Note that the first change causes a trivial merge conflict with the iommu
 changes for arch/arm/mach-omap2/Makefile.
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAl1kCcERHHRvbnlAYXRv
 bWlkZS5jb20ACgkQG9Q+yVyrpXPOfhAA3yv95lG1eyrhJ+E/kOWrinDARIDJvh+2
 Ha1A3HkyJ+qzNg1GdeQ5exU3/ZsJRvKdU5MSmldnrvg9jWYFcBMeF8vtR7ZMEdzJ
 GDW4o211WEmca/ni9ChNmfVWPF5WSoeMQLa3Ytg40lc1v7CuHYSrmrB2Rqjtpnon
 uokTt3hjJHCX/Q5wvf8sWdhAynPbxq7zcCMNbyGxzaoKolWas6bpLmcNwHp4zDi0
 JE+bd7sc9ZvBt8mnsJ9XUMVdQQ75jD3LeJyYzixMxNxpfUsnc3WZDZgaxFpW1hCK
 eBTRNQLiwZ9MsbgWCUdY7Brd+GIW15HPX+r5s2GhtXXqex+abfSRRqH6P7uneAmn
 9CfxzYshITfl7R7nSd1HzGKg4DjNmsktFFFyKWd/H8xvjI5lnt9M1VSyRVJiY+1z
 bw4IV+ag+n3NfOzhpi3ddB9uFhSZtpJ1SH7Ynj7NS3YSfWamJs93Z0RXVAZXYNM0
 Vwj+g/YfgtY7qnSGcbfoBPLh7gmGRpsVOxOOmuMlkwcVjN1Pvb3wqT+JGUiCxm6d
 rdcazAxjc2rvnJuJc1stzrSBMT5AZdxAw+DOTTLRfEcBnf6C5mhGFRyOCxhxL2QB
 Q2MWI1aHWqjmu1QTnBLDoUNyaKyxrZm00cq2b4U8lh7xO4v3ACks2jXuD5zQjzjo
 nTReIX6lPeQ=
 =DRR4
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v5.4/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.4

The first change moves platform-specific asm-offsets.h to arch/arm/mach-omap2
to fix iessu with parallel build with CONFIG_IKHEADERS, and the second change
removes a useless kfree.

Note that the first change causes a trivial merge conflict with the iommu
changes for arch/arm/mach-omap2/Makefile.

* tag 'omap-for-v5.4/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP2+: Delete an unnecessary kfree() call in omap_hsmmc_pdata_init()
  ARM: OMAP2+: move platform-specific asm-offset.h to arch/arm/mach-omap2

Link: https://lore.kernel.org/r/pull-1567016893-318461@atomide.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-09-03 14:24:59 +02:00
Arnd Bergmann 7bbf869310 AT91 SoC for 5.4
- MAINTAINERS updates
  - a generated headers parallel build fix
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEycoQi/giopmpPgB12wIijOdRNOUFAl1i7TUACgkQ2wIijOdR
 NOWiLA/7BEmdnsnrfDxK+fKvAP1h7U+r/5SXeIrDfBZ5BVeYKR2hiF6go8UoNuaQ
 LWcB6GFTSj+Js26qrmgMs7S9eb8u4OkLN6j9mI6TaWpvsWKZyR3ffpb4SYgLqgPK
 GHVB7xI2GyJzlGklmGX63NkBDcBAaol+oOO8YznXkruxASfZzCes/ibCQfj5Ce7x
 PTKZppASsOhUo+bEipyBTyYnu9xotmPD6CHYZ4kKL9IOqOJkXJHf5su/pgBMkHGd
 Sa3SGFOWPw5PqZLZdC/VN98oiaFC7/AiF/YNV1VuJ+Fj/VZ9yk4F9wHGPoG3Sv+7
 x8INFPw9gDkAy1Fuoh87ImVkaTpCWJYLpurGhSj77WwaUdq1D0ciPn2yf3BTq6Kl
 pUBi8sRq5pr45/oKkVQ191VLtkMO2FXhzyriCu+NdRmI7OEiuQ47bdysC/kcOg+Z
 lrGveqWOa+aOPI3ZyHA3vQMmNaR1yxRhU6CyWJn9skAFIQUAbi7dDF4b1+32nQvm
 8u1ydE4vYt0OJpMJIJkpUB6NIC3vF1USp83OKKc6D3OpiFXi0d9hgx/GMyWuiSvt
 w01JGwQ9j3KiyCvi1YsIhlzhuAThiOPbLAsutWB2t9/kgsXHWD48GgzovsJDbIld
 pmh0enifJXjpJLAsHMGrL1m6ITdpUqFyaBAJRV2Df3THWlC/ZdE=
 =pqcm
 -----END PGP SIGNATURE-----

Merge tag 'at91-5.4-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into arm/soc

AT91 SoC for 5.4

 - MAINTAINERS updates
 - a generated headers parallel build fix

* tag 'at91-5.4-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  mailmap: map old company name to new one @microchip.com
  MAINTAINERS: at91: remove the TC entry
  MAINTAINERS: at91: Collect all pinctrl/gpio drivers in same entry
  ARM: at91: move platform-specific asm-offset.h to arch/arm/mach-at91

Link: https://lore.kernel.org/r/20190825203222.GA22800@piout.net
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-09-03 14:23:44 +02:00
Arnd Bergmann e6dde5cc39 i.MX SoC changes for 5.4:
- Drop AR8031 PHY TX delay adjusting from i.MX7D machine code, as
    it's superfluous due to the recent changes to Atheros AT803X driver.
  - Select TIMER_IMX_SYS_CTR for arm64 ARCH_MXC platform, since the
    system counter is needed as broadcast timer for cpuidle support.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABAgAGBQJdYoI2AAoJEFBXWFqHsHzOxAsH/iKDF5cqmAOdNbD/0stFIxCV
 ic+OX45aXyzbtSmD44sp0zuqGVA5RRu/OwYWlKA7WZHoeUUfbKMsMw9knO/ZaQTD
 m9CwMuuA8bZhJUWSjbSpqlLJfdqzhnzkGuyq9A6IDqjf0y7eILD7km+YAZPNTBvo
 LvvJnLhCI7FKY8miWpMe1pAY3XvzPTqlb1J0LywrJowXyVU9fJWVh7wSPTeDYsS1
 +PQCTsnTX5Lm5rvV7px9ADwIzYq7qwuIVOfXwG+H1yMJRefQaWKePGb36KOHU+9S
 isHiSYFSKw0BzLIGr2uap54LKaaprJiHdvUMncU8c3M+2hjWWNtlDkgZwUULluM=
 =8VOJ
 -----END PGP SIGNATURE-----

Merge tag 'imx-soc-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/soc

i.MX SoC changes for 5.4:
 - Drop AR8031 PHY TX delay adjusting from i.MX7D machine code, as
   it's superfluous due to the recent changes to Atheros AT803X driver.
 - Select TIMER_IMX_SYS_CTR for arm64 ARCH_MXC platform, since the
   system counter is needed as broadcast timer for cpuidle support.

* tag 'imx-soc-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  ARM: imx: stop adjusting ar8031 phy tx delay
  arm64: Enable TIMER_IMX_SYS_CTR for ARCH_MXC platforms

Link: https://lore.kernel.org/r/20190825153237.28829-2-shawnguo@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-09-03 14:21:52 +02:00
Arnd Bergmann bf0b0eee4b ASPEED architecture updates for 5.4
This adds support for the new ASPEED AST2600 BMC SoC.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE+nHMAt9PCBDH63wBa3ZZB4FHcJ4FAl1ik9UACgkQa3ZZB4FH
 cJ7tiQ/+MBcqjS9mutOpfQ7dyUEmwNuauehpHkz/3pv5xBMcV3dEnn6ZGSsHqg+5
 m8HUpALdrytfDAoNfOuSg+oJnUaKLZ9n2HEycwcOVvtFAeOjEKRxAKQZfseS5BF9
 nSXy4aE8EkjzwNGSrhCISM+4Gh82Ms/a+wnQ0Oe4O0UEopPz0n89Sw8Synw5MO6+
 +BbtY49y4yQKLYRhNBRT0+g0NQNDwrztoxwI1goYYZd8QgLAFQZdaHansumRPXbx
 xKiqOQYCjB1jc7xMgTibqg57W1uzGFCJniy022QZ4ZDNFYynV9fSKFXiJaT7Eac0
 4qOm/2Q3jBLPbzclIAeAYttmtSZEFPSiLukdQJ2yYLuNRJf7EtUXRaUZjXtve+u4
 BON4/hcZ69e5Hklp52ztdGp42AymTuqdjNkHI3mWaxo+Be8fAz2nBy+FWq3j5pkt
 v068jEjqjOunJ/F5QNHfHAS5PvdlM0Nrl7Rc5iCFn2KVYaqDWxJvkwUBO09D3IsZ
 CN2J0y3LgTkTp6cCW8K7doZgdHtbEzu6wT12iseGnF4IIfg1g7wqI9gM4Ee8u3ey
 4YQqdce34hCn9QrLquqZAtmEj+csyASg+lFY1vOsveDDbQPzpQem7dfMGmabghNJ
 qWgVwDSk4i3Tsy4TedOxE5WlDRzJnB7UBVZxNnQzBjz8Utzg/jo=
 =KLEf
 -----END PGP SIGNATURE-----

Merge tag 'aspeed-5.4-arch' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/aspeed into arm/soc

ASPEED architecture updates for 5.4

This adds support for the new ASPEED AST2600 BMC SoC.

* tag 'aspeed-5.4-arch' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/aspeed:
  ARM: aspeed: Enable SMP boot
  ARM: aspeed: Add ASPEED AST2600 architecture
  ARM: aspeed: Select timer in each SoC
  dt-bindings: arm: cpus: Add ASPEED SMP

Link: https://lore.kernel.org/r/CACPK8Xc1aSp5fXL3cEzC9SJsCXG2JwsSPpQrW3a09dkvhCyHHA@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-09-03 14:17:24 +02:00
Arnd Bergmann 98d868415f ARMv7 Vexpress update for v5.4
Single cleanup patch handling type checks using cppcheck tool
 (bitwise shift by more than 31 on a 32 bit type)
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEunHlEgbzHrJD3ZPhAEG6vDF+4pgFAl1T44QACgkQAEG6vDF+
 4picTRAAnSvwq6SMWQtwEonJ+tHhiwHgfdyU6lbWg2nqmugU4QezrKhWI8047vD2
 IY8bS0m4PRxWLa5lSAIOpKv2zpl/+TTkApun66RpdVhKzS6JnmuVQyoe+lhZUKbF
 MPeKAk82HTresu/jQN4D9OuPFSC6/NbOEMi3NwPIT2ncV+UVzrxZ3LR9lBrJRviV
 hjOv7gN48tThBepUoJjhLdjfddAdrqOYhfXPE95OhNBzQ9mg+3Gk9kH4JBfFm0Q4
 SdL3fBznhJtw2KyvqM480nxO2BPvWo425EGX1T8R2CuoApoPk9D3jgk6anlJIhP8
 1A5rDQWsuQAmGHmf2dbyWBFk4Mylf1Vo+IWrClPrNwzCfPoKK1IDEQQ6vIheP2pt
 RrrGgGTj13aU8xbH3VYTF58u71YytwexUFU5RfnNcj1v3MWdrnxPekrCuazxE6dC
 CJ+NANZr8GYvA1eKwu5pfRWrkYkcFqHYiHIQtWb6pvP/WetYNUjmM+L7epWesrk3
 eyJqUKXmQoA1Vdd9L9QYUaicRUCMrDwuUBcQSF7DzZal8KaUBgOlwQVO1Pihbt0+
 IdE8vTZLeIryY8Q88z/b42nH9IAjFj9+FCoCfkHrfAnH1c3Lv9vUd4pTDbf9RV5n
 NdPSlYQYK+9xu0yVnF62eN3h4iJWUG2lRczmPdpEEfth22TRZFo=
 =JqeJ
 -----END PGP SIGNATURE-----

Merge tag 'vexpress-update-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into arm/soc

ARMv7 Vexpress update for v5.4

Single cleanup patch handling type checks using cppcheck tool
(bitwise shift by more than 31 on a 32 bit type)

* tag 'vexpress-update-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
  ARM: vexpress: Cleanup cppcheck shifting warning

Link: https://lore.kernel.org/r/20190814172441.26143-1-sudeep.holla@arm.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-09-03 14:00:37 +02:00
Markus Elfring 50f57ef83d ARM: OMAP2+: Delete an unnecessary kfree() call in omap_hsmmc_pdata_init()
A null pointer would be passed to a call of the function "kfree" directly
after a call of the function "kzalloc" failed at one place.
Remove this superfluous function call.

This issue was detected by using the Coccinelle software.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2019-08-26 08:59:48 -07:00
Masahiro Yamada ccf4975dca ARM: OMAP2+: move platform-specific asm-offset.h to arch/arm/mach-omap2
<generated/ti-pm-asm-offsets.h> is only generated and included by
arch/arm/mach-omap2/, so it does not need to reside in the globally
visible include/generated/.

I renamed it to arch/arm/mach-omap2/pm-asm-offsets.h since the prefix
'ti-' is just redundant in mach-omap2/.

My main motivation of this change is to avoid the race condition for
the parallel build (-j) when CONFIG_IKHEADERS is enabled.

When it is enabled, all the headers under include/ are archived into
kernel/kheaders_data.tar.xz and exposed in the sysfs.

In the parallel build, we have no idea in which order files are built.

 - If ti-pm-asm-offsets.h is built before kheaders_data.tar.xz,
   the header will be included in the archive. Probably nobody will
   use it, but it is harmless except that it will increase the archive
   size needlessly.

 - If kheaders_data.tar.xz is built before ti-pm-asm-offsets.h,
   the header will not be included in the archive. However, in the next
   build, the archive will be re-generated to include the newly-found
   ti-pm-asm-offsets.h. This is not nice from the build system point
   of view.

 - If ti-pm-asm-offsets.h and kheaders_data.tar.xz are built at the
   same time, the corrupted header might be included in the archive,
   which does not look nice either.

This commit fixes the race.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Tested-by: Keerthy <j-keerthy@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2019-08-26 08:56:38 -07:00
Christophe JAILLET 93eae12c9f ARM: davinci: dm646x: Fix a typo in the comment
The driver is dedicated to DM646x. So update the description in the top
most comment accordingly.

It must have been derived from dm644x.c, but looks DM646 speecific now.

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
2019-08-26 17:51:28 +05:30
Bartosz Golaszewski d7d91d2647 ARM: davinci: dm646x: switch to using the clocksource driver
We now have a proper clocksource driver for davinci. Switch the dm646x
platform to using it.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Reviewed-by: David Lechner <david@lechnology.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
2019-08-26 17:49:07 +05:30
Bartosz Golaszewski 135ce780b7 ARM: davinci: dm644x: switch to using the clocksource driver
We now have a proper clocksource driver for davinci. Switch the dm644x
platform to using it.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Reviewed-by: David Lechner <david@lechnology.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
2019-08-26 17:49:07 +05:30
Joel Stanley 87dfe49691 ARM: aspeed: Enable SMP boot
This brings the secondary CPU into Linux. It depends on the setup
performed by ASPEED's u-boot.

Signed-off-by: Joel Stanley <joel@jms.id.au>
2019-08-25 23:26:52 +09:30
Joel Stanley 9afe2c0a37 ARM: aspeed: Add ASPEED AST2600 architecture
The AST2600 is a Cortex A7 dual core CPU that uses the ARM GIC for
interrupts and ARM timer as a clocksource.

Reviewed-by: Andrew Jeffery <andrew@aj.id.au>
Signed-off-by: Joel Stanley <joel@jms.id.au>
2019-08-25 23:26:50 +09:30
Joel Stanley e35d7db994 ARM: aspeed: Select timer in each SoC
In preparation for adding the ast2600 which does not use this timer.

Reviewed-by: Andrew Jeffery <andrew@aj.id.au>
Signed-off-by: Joel Stanley <joel@jms.id.au>
2019-08-25 23:26:48 +09:30
Joel Stanley 5177cabf5c dt-bindings: arm: cpus: Add ASPEED SMP
The AST2600 SoC contains two CPUs and requires the operating system to
bring the second one out of firmware.

Acked-by: Rob Herring <robh@kernel.org>
Reviewed-by: Andrew Jeffery <andrew@aj.id.au>
Signed-off-by: Joel Stanley <joel@jms.id.au>
2019-08-25 23:26:45 +09:30
André Draszik acf993a0f2 ARM: imx: stop adjusting ar8031 phy tx delay
Recent changes to the Atheros at803x driver cause
the approach taken here to stop working because
commit 6d4cd041f0
("net: phy: at803x: disable delay only for RGMII mode")
and commit cd28d1d6e5
("net: phy: at803x: Disable phy delay for RGMII mode")
fix the AR8031 driver to configure the phy's (RX/TX)
delays as per the 'phy-mode' in the device tree.

In particular, the phy tx (and rx) delays are updated
again as per the 'phy-mode' *after* the code in here
runs.

Things worked before above commits, because the AR8031
comes out of reset with RX delay enabled, and the
at803x driver didn't touch the delay configuration at
all when "rgmii" mode was selected.

It appears the code in here tries to make device
trees work that incorrectly specify "rgmii", but
that can't work any more and it is imperative since
above commits to have the phy-mode configured
correctly in the device tree.

I suspect there are a few imx7d based boards using
the ar8031 phy and phy-mode = "rgmii", but given I
don't know which ones exactly, I am not in a
position to update the respective device trees.

Hence this patch is simply removing the superfluous
code from the imx7d initialisation. An alternative
could be to add a warning instead, but that would
penalize all boards that have been updated already.

Signed-off-by: André Draszik <git@andred.net>
CC: Russell King <linux@armlinux.org.uk>
CC: Shawn Guo <shawnguo@kernel.org>
CC: Sascha Hauer <s.hauer@pengutronix.de>
CC: Pengutronix Kernel Team <kernel@pengutronix.de>
CC: Fabio Estevam <festevam@gmail.com>
CC: NXP Linux Team <linux-imx@nxp.com>
CC: Kate Stewart <kstewart@linuxfoundation.org>
CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
CC: Thomas Gleixner <tglx@linutronix.de>
CC: Leonard Crestez <leonard.crestez@nxp.com>
CC: linux-arm-kernel@lists.infradead.org
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2019-08-24 20:30:22 +02:00
Nicolas Ferre 2cb831e0f1 mailmap: map old company name to new one @microchip.com
Map my old email address @atmel.com to my new company name. It happened 3
years ago but I realized the existence of this file recently.

Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Link: https://lore.kernel.org/r/20190823083158.2649-3-nicolas.ferre@microchip.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2019-08-23 21:53:40 +02:00
Nicolas Ferre 44015a8181 MAINTAINERS: at91: remove the TC entry
"MICROCHIP TIMER COUNTER (TC) AND CLOCKSOURCE DRIVERS" is better
removed because one file entry is outdated and basically, the
maintainer's pool of Alexandre, Ludovic and myself is better suited.

drivers/misc/atmel_tclib.c file is going away in a patch to come and
drivers/clocksource/tcb_clksrc.c file is actually named timer-atmel-tcb.c.
This new name matches the AT91 entry regular expression.

Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Link: https://lore.kernel.org/r/20190823083158.2649-2-nicolas.ferre@microchip.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2019-08-23 21:52:58 +02:00
Nicolas Ferre ec8005339b MAINTAINERS: at91: Collect all pinctrl/gpio drivers in same entry
Andrei's address is not valid anymore, collect all pinctrl/gpio
entries in the common "PIN CONTROLLER - MICROCHIP AT91" one
and remove the PIOBU specific one.

Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Link: https://lore.kernel.org/r/20190823083158.2649-1-nicolas.ferre@microchip.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2019-08-23 21:52:31 +02:00
Masahiro Yamada 9fac85a6db ARM: at91: move platform-specific asm-offset.h to arch/arm/mach-at91
<generated/at91_pm_data-offsets.h> is only generated and included by
arch/arm/mach-at91/, so it does not need to reside in the globally
visible include/generated/.

I renamed it to arch/arm/mach-at91/pm_data-offsets.h since the prefix
'at91_' is just redundant in mach-at91/.

My main motivation of this change is to avoid the race condition for
the parallel build (-j) when CONFIG_IKHEADERS is enabled.

When it is enabled, all the headers under include/ are archived into
kernel/kheaders_data.tar.xz and exposed in the sysfs.

In the parallel build, we have no idea in which order files are built.

 - If at91_pm_data-offsets.h is built before kheaders_data.tar.xz,
   the header will be included in the archive. Probably nobody will
   use it, but it is harmless except that it will increase the archive
   size needlessly.

 - If kheaders_data.tar.xz is built before at91_pm_data-offsets.h,
   the header will not be included in the archive. However, in the next
   build, the archive will be re-generated to include the newly-found
   at91_pm_data-offsets.h. This is not nice from the build system point
   of view.

 - If at91_pm_data-offsets.h and kheaders_data.tar.xz are built at the
   same time, the corrupted header might be included in the archive,
   which does not look nice either.

This commit fixes the race.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Link: https://lore.kernel.org/r/20190823024346.591-1-yamada.masahiro@socionext.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2019-08-23 21:50:10 +02:00
Krzysztof Kozlowski c663d542bf MAINTAINERS: Extend patterns for Samsung SoC, Security Subsystem and clock drivers
Extend the patterns to cover all related files in respective
categories:
1. Samsung Exynos ARM architecture: add soc drivers headers and make
   directory matches consistent,
2. Samsung Security SubSystem driver (crypto): add bindings,
3. Samsung SoC clock drivers: add S3C24xx, S3C64xx and S5Pv210 bindings.

Cc: Kukjin Kim <kgene@kernel.org>
Cc: Vladimir Zapolskiy <vz@mleia.com>
Cc: Kamil Konieczny <k.konieczny@partner.samsung.com>
Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
Cc: Tomasz Figa <tomasz.figa@gmail.com>
Cc: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Acked-by: Chanwoo Choi <cw00.choi@samsung.com>
Acked-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
2019-08-22 21:04:45 +02:00
Masahiro Yamada d1dec5ca5f ARM: s3c64xx: squash samsung_usb_phy.h into setup-usb-phy.c
This is only used by arch/arm/mach-s3c64xx/setup-usb-phy.c

$ git grep samsung_usb_phy_type
include/linux/usb/samsung_usb_phy.h:enum samsung_usb_phy_type {
$ git grep USB_PHY_TYPE_DEVICE
arch/arm/mach-s3c64xx/setup-usb-phy.c:  if (type == USB_PHY_TYPE_DEVICE)
arch/arm/mach-s3c64xx/setup-usb-phy.c:  if (type == USB_PHY_TYPE_DEVICE)
include/linux/usb/samsung_usb_phy.h:    USB_PHY_TYPE_DEVICE,
$ git grep USB_PHY_TYPE_HOST
include/linux/usb/samsung_usb_phy.h:    USB_PHY_TYPE_HOST,

Actually, 'enum samsung_usb_phy_type' is unused; the 'type' parameter
has 'int' type. Anyway, there is no need to declare this enum in the
globally visible header. Squash the header.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2019-08-21 19:50:40 +02:00
Geert Uytterhoeven e9670ccb39 ARM: debug-ll: Add support for r7s9210
Enable low-level debugging support for RZ/A2M (r7s9210).

The RZA2MEVB board uses either SCIF2 (SDRAM enabled) or SCIF4 (HyperRAM
only) for the serial console.

Note that "SCIFA" serial ports on RZ/A2 SoCs use a compressed register
layout, hence add support for that to renesas-scif.S.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
2019-08-21 11:15:26 +02:00
Arnd Bergmann d64a1fd852 Merge branch 'lpc32xx/multiplatform' into arm/soc
I revisited some older patches here, getting two of the remaining
ARM platforms to build with ARCH_MULTIPLATFORM like most others do.

In case of lpc32xx, I created a new set of patches, which seemed
easier than digging out what I did for an older release many
years ago.

* lpc32xx/multiplatform:
  ARM: lpc32xx: allow multiplatform build
  ARM: lpc32xx: clean up header files
  serial: lpc32xx: allow compile testing
  net: lpc-enet: allow compile testing
  net: lpc-enet: fix printk format strings
  net: lpc-enet: fix badzero.cocci warnings
  net: lpc-enet: move phy setup into platform code
  net: lpc-enet: factor out iram access
  gpio: lpc32xx: allow building on non-lpc32xx targets
  serial: lpc32xx_hs: allow compile-testing
  watchdog: pnx4008_wdt: allow compile-testing
  usb: udc: lpc32xx: allow compile-testing
  usb: ohci-nxp: enable compile-testing

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-08-15 21:35:22 +02:00
Arnd Bergmann 75bf1bd7d2 ARM: lpc32xx: allow multiplatform build
All preparation work is done, so the platform can finally
be moved into ARCH_MULTIPLATFORM. This requires a small
change to the defconfig file to enable the platform.

Link: https://lore.kernel.org/r/20190809144043.476786-14-arnd@arndb.de
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-08-15 21:34:08 +02:00
Arnd Bergmann d353291003 ARM: lpc32xx: clean up header files
All device drivers have stopped relying on mach/*.h headers,
so move the remaining headers into arch/arm/mach-lpc32xx/lpc32xx.h
to prepare for multiplatform builds.

The mach/entry-macro.S file has been unused for a long time now
and can simply get removed.

Link: https://lore.kernel.org/r/20190809144043.476786-13-arnd@arndb.de
Acked-by: Sylvain Lemieux <slemieux.tyco@gmail.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-08-15 21:34:05 +02:00
Arnd Bergmann ffba29c9eb serial: lpc32xx: allow compile testing
The lpc32xx_loopback_set() function in hte lpc32xx_hs driver is the
one thing that relies on platform header files. Move that into the
core platform code so we only need a variable declaration for it,
and enable COMPILE_TEST building.

Link: https://lore.kernel.org/r/20190809144043.476786-12-arnd@arndb.de
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-08-15 21:34:02 +02:00
Arnd Bergmann 35974a7cc2 net: lpc-enet: allow compile testing
The lpc-enet driver can now be built on all platforms, so
allow compile testing as well.

Add one missing header inclusion that is required in some
configurations.

Link: https://lore.kernel.org/r/20190809144043.476786-11-arnd@arndb.de
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-08-15 21:34:00 +02:00
Arnd Bergmann de6f97b2ba net: lpc-enet: fix printk format strings
compile-testing this driver on other architectures showed
multiple warnings:

  drivers/net/ethernet/nxp/lpc_eth.c: In function 'lpc_eth_drv_probe':
  drivers/net/ethernet/nxp/lpc_eth.c:1337:19: warning: format '%d' expects argument of type 'int', but argument 4 has type 'resource_size_t {aka long long unsigned int}' [-Wformat=]

  drivers/net/ethernet/nxp/lpc_eth.c:1342:19: warning: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'dma_addr_t {aka long long unsigned int}' [-Wformat=]

Use format strings that work on all architectures.

Link: https://lore.kernel.org/r/20190809144043.476786-10-arnd@arndb.de
Reported-by: kbuild test robot <lkp@intel.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-08-15 21:33:57 +02:00
kbuild test robot 772775c1df net: lpc-enet: fix badzero.cocci warnings
drivers/net/ethernet/nxp/lpc_eth.c:1316:31-32: WARNING comparing pointer to 0

 Compare pointer-typed values to NULL rather than 0

Semantic patch information:
 This makes an effort to choose between !x and x == NULL.  !x is used
 if it has previously been used with the function used to initialize x.
 This relies on type information.  More type information can be obtained
 using the option -all_includes and the option -I to specify an
 include path.

Generated by: scripts/coccinelle/null/badzero.cocci

Link: https://lore.kernel.org/r/20190809144043.476786-9-arnd@arndb.de
Fixes: e42016eb3844 ("net: lpc-enet: allow compile testing")
Signed-off-by: kbuild test robot <lkp@intel.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-08-15 21:33:54 +02:00
Arnd Bergmann ecca1a6277 net: lpc-enet: move phy setup into platform code
Setting the phy mode requires touching a platform specific
register, which prevents us from building the driver without
its header files.

Move it into a separate function in arch/arm/mach/lpc32xx
to hide the core registers from the network driver.

Link: https://lore.kernel.org/r/20190809144043.476786-8-arnd@arndb.de
Acked-by: Sylvain Lemieux <slemieux.tyco@gmail.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-08-15 21:33:52 +02:00
Arnd Bergmann 9dc03ffd99 net: lpc-enet: factor out iram access
The lpc_eth driver uses a platform specific method to find
the internal sram. This prevents building it on other machines.

Rework to only use one function call and keep the other platform
internals where they belong. Ideally this would look up the
sram location from DT, but as this is a rarely used driver,
I want to keep the modifications to a minimum.

Link: https://lore.kernel.org/r/20190809144043.476786-7-arnd@arndb.de
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-08-15 21:33:49 +02:00
Arnd Bergmann d88ce24a0f gpio: lpc32xx: allow building on non-lpc32xx targets
The driver uses hardwire MMIO addresses instead of the data
that is passed in device tree. Change it over to only
hardcode the register offset values and allow compile-testing.

Link: https://lore.kernel.org/r/20190809144043.476786-6-arnd@arndb.de
Acked-by: Sylvain Lemieux <slemieux.tyco@gmail.com>
Tested-by: Sylvain Lemieux <slemieux.tyco@gmail.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-08-15 21:33:07 +02:00
Arnd Bergmann 5711e41b68 serial: lpc32xx_hs: allow compile-testing
The only thing that prevents building this driver on other
platforms is the mach/hardware.h include, which is not actually
used here at all, so remove the line and allow CONFIG_COMPILE_TEST.

Link: https://lore.kernel.org/r/20190809144043.476786-5-arnd@arndb.de
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: Sylvain Lemieux <slemieux.tyco@gmail.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-08-15 21:33:04 +02:00
Arnd Bergmann 0a453d527b watchdog: pnx4008_wdt: allow compile-testing
The only thing that prevents building this driver on other
platforms is the mach/hardware.h include, which is not actually
used here at all, so remove the line and allow CONFIG_COMPILE_TEST.

Link: https://lore.kernel.org/r/20190809144043.476786-4-arnd@arndb.de
Acked-by: Sylvain Lemieux <slemieux.tyco@gmail.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-08-15 21:33:02 +02:00
Arnd Bergmann 50ad15282e usb: udc: lpc32xx: allow compile-testing
The only thing that prevents building this driver on other
platforms is the mach/hardware.h include, which is not actually
used here at all, so remove the line and allow CONFIG_COMPILE_TEST.

Link: https://lore.kernel.org/r/20190809144043.476786-3-arnd@arndb.de
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: Sylvain Lemieux <slemieux.tyco@gmail.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-08-15 21:32:59 +02:00
Arnd Bergmann 23565baece usb: ohci-nxp: enable compile-testing
The driver hardcodes a hardware I/O address the way one should
generally not do, and this prevents both compile-testing, and
moving the platform to CONFIG_ARCH_MULTIPLATFORM.

Change the code to be independent of the machine headers
to allow those two. Removing the hardcoded address would
be hard and is not necessary, so leave that in place for now.

Link: https://lore.kernel.org/r/20190809144043.476786-2-arnd@arndb.de
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-08-15 21:32:56 +02:00
Pankaj Dubey 1fa70c7f49 ARM: exynos: Enable exynos-chipid driver
As now we have Chipid driver to initialize and expose SoC related
information let's include it in build by default.

Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2019-08-15 20:29:58 +02:00
Linus Walleij b552addc45 ARM: samsung: Include GPIO driver header
This file is using struct gpio_chip and needs to include
<linux/gpio/driver.h> to get that.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2019-08-15 20:15:46 +02:00
Arnd Bergmann 3584be9ec3 ARM: orion/mvebu: unify debug-ll virtual addresses
In a multiplatform configuration, enabling DEBUG_LL breaks booting
on all platforms with incompatible settings. In case of the Marvell
platforms of the Orion/MVEBU family, the physical addresses are
all the same, we just map them at different virtual addresses,
which makes it impossible to run a kernel with DEBUG_LL enabled on
a combination of the merged mvebu and the legacy boardfile based
platforms.

This is easily solved by using the same virtual address everywhere.
I picked the address that is already used by mach-mvebu for UART0:
0xfec12000. All these platforms have a 1MB region with their internal
registers, almost always at physical address 0xf1000000, so I'm
updating the iotable for that entry.

In case of mach-dove, this is slightly trickier, as the existing
mapping is 8MB and a second 8MB mapping is already at the 0xfec00000
address. I have verified from the datasheet that the last 7MB of the
physical mapping are "reserved" and nothing in Linux tries to use
it either. I'm putting this 1MB mapping at the same address as the
others, and the second 8MB register area immediately before that.

Link: https://lore.kernel.org/r/20190731195713.3150463-14-arnd@arndb.de
Link: https://lore.kernel.org/linux-arm-kernel/87si3eb1z8.fsf@free-electrons.com/
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-08-14 19:24:58 +02:00
Arnd Bergmann ce78179ea6 ARM: dove: clean up mach/*.h headers
This is a simple move of all header files that are no longer
included by anything else from the include/mach directory
to the platform directory itself as preparation for
multiplatform support.

The mach/uncompress.h headers are left in place for now,
and are mildly modified to be independent of the other
headers. They will be removed entirely when ARCH_MULTIPLATFORM
gets enabled and they become obsolete.

Rather than updating the path names inside of the comments
of each header, I delete those comments to avoid having to
update them again, should they get moved or copied another
time.

Link: https://lore.kernel.org/r/20190731195713.3150463-13-arnd@arndb.de
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-08-14 19:24:57 +02:00
Arnd Bergmann a3950da161 Merge tag 'ux500-v5.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson into arm/soc
This is a slew of Ux500 updates for the v5.4 kernel cycle:

- Stop populating the PRCMU devices from the core CPU
  file, it works just fine at device_initcall() level.

- Add a missing of_node_put() in the core file.

- Simplify the debug UART code.

- Add myself to MAINTAINERS

* tag 'ux500-v5.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson:
  MAINTAINERS: add soc/ux500
  ARM: ux500: simplify and move debug UART
  ARM: ux500: add missing of_node_put()
  ARM: ux500: Stop populating the PRCMU devices early

Link: https://lore.kernel.org/r/CACRpkdbH-h5fRwuidcpeOp8mtRoKUW65SAk8a4A==BCDzn3QMA@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-08-14 15:37:17 +02:00
Arnd Bergmann a1f487d75c ARM: iop32x: merge everything into mach-iop32x/
Various bits of iop32x are now in their traditional locations in plat-iop,
mach-iop/include/mach/ and in include/asm/mach/hardware. As nothing
outside of the iop32x mach code references these any more, this can all
be moved into one place now.

The only remaining things in the include/mach/ directory are now the
NR_IRQS definition, the entry-macros.S file and the the decompressor
uart access. After the irqchip code has been converted to SPARSE_IRQ
and GENERIC_IRQ_MULTI_HANDLER, it can be moved to ARCH_MULTIPLATFORM.

Link: https://lore.kernel.org/r/20190809163334.489360-7-arnd@arndb.de
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-08-14 15:36:22 +02:00
Arnd Bergmann ba9ef6afc4 ARM: iop32x: make mach/uncompress.h independent of mach/hardware.h
All supported uarts use the same address: IQ80321_UART and IQ31244_UART
are both defined to the default value of 0xfe800000. By using that as
the address unconditionally, all dependencies on other machine headers
can be avoided.

Link: https://lore.kernel.org/r/20190809163334.489360-6-arnd@arndb.de
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-08-14 15:36:22 +02:00
Arnd Bergmann c7b6804994 ARM: xscale: fix multi-cpu compilation
Building a combined ARMv4+XScale kernel produces these
and other build failures:

/tmp/copypage-xscale-3aa821.s: Assembler messages:
/tmp/copypage-xscale-3aa821.s:167: Error: selected processor does not support `pld [r7,#0]' in ARM mode
/tmp/copypage-xscale-3aa821.s:168: Error: selected processor does not support `pld [r7,#32]' in ARM mode
/tmp/copypage-xscale-3aa821.s:169: Error: selected processor does not support `pld [r1,#0]' in ARM mode
/tmp/copypage-xscale-3aa821.s:170: Error: selected processor does not support `pld [r1,#32]' in ARM mode
/tmp/copypage-xscale-3aa821.s:171: Error: selected processor does not support `pld [r7,#64]' in ARM mode
/tmp/copypage-xscale-3aa821.s:176: Error: selected processor does not support `ldrd r4,r5,[r7],#8' in ARM mode
/tmp/copypage-xscale-3aa821.s:180: Error: selected processor does not support `strd r4,r5,[r1],#8' in ARM mode

Add an explict .arch armv5 in the inline assembly to allow the ARMv5
specific instructions regardless of the compiler -march= target.

Link: https://lore.kernel.org/r/20190809163334.489360-5-arnd@arndb.de
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-08-14 15:36:22 +02:00