Commit Graph

13 Commits

Author SHA1 Message Date
Alexey Charkov
6cd594ed96 ARM: dts: vt8500: Add L2 cache controller on WM8850/WM8950
WonderMedia WM8850/WM8950 uses an ARM PL310 cache controller for its
L2 cache, add it.

The parameters have been deduced from vendor's U-boot environment
variables, which the downstream code uses to initialize the
controller. They set the following register values:

aux = 0x3e440000
prefetch_ctrl = 0x70000007

Their initialization code also unconditionally sets the flags
L2X0_DYNAMIC_CLK_GATING_EN | L2X0_STNDBY_MODE_EN, so encode those too

Signed-off-by: Alexey Charkov <alchark@gmail.com>
Link: https://lore.kernel.org/r/20250515-wmt-dts-updates-v2-5-246937484cc8@gmail.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-06-12 17:25:18 +02:00
Alexey Charkov
1918e51321 ARM: dts: vt8500: Fix the unit address of the VT8500 LCD controller
Set correct unit address of d800e400 for the via,vt8500-fb node
in vt8500.dtsi. Note that the reg property contained a correct
address, so it must have been a copy and paste error earlier.

While here, also update its node name to a generic one.

Signed-off-by: Alexey Charkov <alchark@gmail.com>
Link: https://lore.kernel.org/r/20250515-wmt-dts-updates-v2-4-246937484cc8@gmail.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-06-12 17:25:17 +02:00
Alexey Charkov
8b37e3c425 ARM: dts: vt8500: Use generic node name for the SD/MMC controller
Current guidelines recommend mmc@ node names, so use that instead.

Signed-off-by: Alexey Charkov <alchark@gmail.com>
Link: https://lore.kernel.org/r/20250515-wmt-dts-updates-v2-3-246937484cc8@gmail.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-06-12 17:25:17 +02:00
Alexey Charkov
ab46710603 ARM: dts: vt8500: Move memory nodes to board dts and fix addr/size
VIA/WonderMedia SoCs don't have on-chip memory, so their memory
nodes are better placed in per-board dts rather than per-SoC dtsi.

Move them accordingly, and also add correct node addresses and
sizes for each of the boards. Some boards were also available with
more memory than included in this commit - those would need a
separate DT or an appropriate kernel cmdline argument to reflect it,
as the bootloader on these devices doesn't handle DT at all nor does
it any runtime discovery of available memory size.

Signed-off-by: Alexey Charkov <alchark@gmail.com>
Link: https://lore.kernel.org/r/20250515-wmt-dts-updates-v2-2-246937484cc8@gmail.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-06-12 17:25:15 +02:00
Alexey Charkov
4ce310e733 ARM: dts: vt8500: Add node address and reg in CPU nodes
Adjust CPU nodes according to current guidelines, including address
and reg. Set #address-cells accordingly.

Signed-off-by: Alexey Charkov <alchark@gmail.com>
Link: https://lore.kernel.org/r/20250515-wmt-dts-updates-v2-1-246937484cc8@gmail.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-06-12 17:25:14 +02:00
Arnd Bergmann
2b183108bc VT8500 DTS ARM changes for v6.16
1. New board: VIA APC Rock/Paper.
 2. Add SCC ID register/socinfo node.
 3. List all timer interrupts.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmgjIKwQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD1yZWD/4hbdPRMYcnuokiDVpBNJqdY82OJCYcnMaC
 MtXyEgshHC97BYMPF6sQox09fg4IpJlAcRsEXsjh3vSQl5LvX7tqQwrckiOJvhXP
 LUH7XVEtL5fKgYf3THaFCDCjcwXxjcsiEyT6KD5ET37Z0czqMAl28ovRAV0kNuXM
 3x9TWkHKI/qlsYIRpRCl3cHQkqjFEXgfi6HNoIroIvR1wRBXxjJDiMnUEBHgEl7E
 xAgvNglD/fAubcbYjr+Kx0XMhMryBl4PoSgeP4OnTK05gIW81l7RrxuKMm+a2pb3
 aX+xtqs2sXBPykzp5lyosa0Nje9/5x31supSjF7I9pEA2OA9UPJjchkyRkqs8Inj
 tO8s7JrIZklOvB4Lp5Sc4sqylgH2HeWxr5yu4EH9ga9C+2KpdSgSktVF69SvmHII
 Zk+akeIyxd3hj/zGrqBwwrEP6udg/7PVlSqVKgwiJ71Zx8Xs6rrdtw0vZ5j49Bq4
 elTg/pvz1uVkhQ0nxWFYhZSFNDB/sx52TRV8Y0W/vk/QaHAZrBcQte4T7XSWlGAb
 KmgbIDJ9Osdl7iJN5gUxF+u8IwpA/u4vfORl3sgIs3vVez3wbthFA7fggwas+a8u
 boS6ooca3sBVzp/6qOs3IRZ+D68r6hQhFCSU4/rPw1o2NHveGCyZbZcC2Ahx7+Gi
 iFztjGc71w==
 =nARy
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmguSZoACgkQmmx57+YA
 GNngDBAAjDXbkuUaMbteNtBQVDPnhkrmQ/SZngb059p9RCzU94IHOgn2I8y3iIcH
 13XWOqxMRFXOdMlPbEr3krN0KOwWtRpPALE4S+/MqAoa5xlV3ul73R64oEBC4qy5
 5yPHrV6IOYNDn2o+aYUHanZuWVPuBdwIIzphjTudEf1Fpi1joL+JYaMLNwYIPLAT
 H97ORt/fJiYXbGfO8YpZEC2BTv2F0ym5aCJAkWGD1V3zj5hDw+kf8qQvZHEAtQGe
 Jbvgo9XdDUWrd7SJnn9uDSOA93bInCeEFTuPJlW4TEPGNSTF3YA1ZAnpcFYrjmux
 T/LY3HAT3gwUY+eJlttOmpuf/YQ2dUvU2+LJCanunlsAxiwqRLJij0d5IyAjdKzq
 d6XXtLTs5Nf4dh1p/E2BhRSNrnriP1ky5m1mDYvAHfJeEDFczc7Rpymppfo9aOlw
 ymV1U2LE2MxraLr9ty1l9EMJfBnPPTUkd1FomG/1ZfGi7Bt5GI71wsO+TRCRJN2M
 rhVSa3/cMealxvTTYZiMqJjo633HScCeuHKZkInx6xiBXB89x50DfkFw3GlYvSX5
 pN4xZ0QCfMTG6bbcxlQVKqAyEWIxB+JdsFU9S/Yh1Qn+M8hjvhZXDZXlqnip8gel
 nxhILM1cAic/aaUnGMO3rSDRwMU+XlHoe1xuhDfkMCwa8hZKY5Y=
 =bDf0
 -----END PGP SIGNATURE-----

Merge tag 'dt-vt8500-6.16' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-dt into soc/dt

VT8500 DTS ARM changes for v6.16

1. New board: VIA APC Rock/Paper.
2. Add SCC ID register/socinfo node.
3. List all timer interrupts.

* tag 'dt-vt8500-6.16' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-dt:
  ARM: dts: vt8500: list all four timer interrupts
  ARM: dts: vt8500: add DT nodes for the system config ID register
  ARM: dts: vt8500: Add VIA APC Rock/Paper board
  dt-bindings: arm: vt8500: Add VIA APC Rock/Paper boards

Link: https://lore.kernel.org/r/20250513104216.25803-5-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-05-21 23:46:02 +02:00
Alexey Charkov
e58afb3e1f ARM: dts: vt8500: list all four timer interrupts
VIA/WonderMedia SoC timer can generate up to four interrupts corresponding
to four timer match registers (firing when the 32-bit freerunning clock
source counter matches either of the match registers, respectively).

List all four interrupts in device trees.

This also enables the system event timer to use a match register other
than 0, which can then in turn be used as a system watchdog (watchdog
function is not available on other channels)

Signed-off-by: Alexey Charkov <alchark@gmail.com>
Link: https://lore.kernel.org/r/20250507-vt8500-timer-updates-v2-4-65e5d1b0855e@gmail.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-05-12 08:35:24 +02:00
Alexey Charkov
7314374c86 ARM: dts: vt8500: add DT nodes for the system config ID register
Every VIA/WonderMedia SoC has a 32-bit chip ID register at the
MMIO address 0xd8120000. Add respective device tree nodes to let
the system code access it at runtime for the selection of appropriate
hardware quirks where needed.

Signed-off-by: Alexey Charkov <alchark@gmail.com>
Link: https://lore.kernel.org/r/20250503-wmt-soc-driver-v3-3-2daa9056fa10@gmail.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-05-12 08:35:23 +02:00
Alexey Charkov
22488d6bd1 ARM: dts: vt8500: Add VIA APC Rock/Paper board
APC Rock is a development board based on WonderMedia WM8590 released
around 2013. Paper is the same board, but with the VGA port left
unpopulated, and shipped with a recycled cardboard case

Its hardware includes:
* Single-core Cortex-A9 CPU at 800 MHz
* 512MB DDR3 RAM
* 4GB NAND flash
* 8MB SPI NOR flash
* ARM Mali-400 GPU
* HDMI output (type A) capable of 1080p
* VGA output (on Rock, but not on Paper)
* 2x USB 2.0 type A
* 1x USB 2.0 OTG (microUSB connector)
* microSD slot
* 10/100M Ethernet
* 3.5mm minijack connector with combined headphones/mic
* Half-height miniPCIe slot (with only USB 2.0 signals)

Signed-off-by: Alexey Charkov <alchark@gmail.com>
Link: https://lore.kernel.org/r/20250425-apc_paper_binding-v5-2-3aef49e97332@gmail.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-05-12 08:35:22 +02:00
Wolfram Sang
7dc891191e
ARM: dts: vt8500: use correct ohci/ehci node names
They should be named "usb@".

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Link: https://lore.kernel.org/r/20250330193833.21970-12-wsa+renesas@sang-engineering.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-05-09 22:31:19 +02:00
Krzysztof Kozlowski
9edd534fc6 ARM: dts: vt8500: align panel timings node name with dtschema
DT schema expects panel timings node to follow certain pattern,
dtbs_check warnings:

  vt8500-bv07.dtb: display-timings: '800x480' does not match any of the regexes: '^timing', 'pinctrl-[0-9]+'

Linux drivers do not care about node name, so this should not have
effect on Linux.

Link: https://lore.kernel.org/r/20240509104749.216605-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2024-06-12 13:20:04 +02:00
Mohammad Shehar Yaar Tausif
dd2118bd10 ARM: dts: vt8500: replace "uhci" nodename with generic name "usb"
Replace "uhci" nodenames with "usb" as it's generic and aligns with
the schema binding.

Signed-off-by: Mohammad Shehar Yaar Tausif <sheharyaar48@gmail.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20240423150728.91527-1-sheharyaar48@gmail.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2024-06-12 13:04:41 +02:00
Rob Herring
724ba67515 ARM: dts: Move .dts files to vendor sub-directories
The arm dts directory has grown to 1559 boards which makes it a bit
unwieldy to maintain and use. Past attempts stalled out due to plans to
move .dts files out of the kernel tree. Doing that is no longer planned
(any time soon at least), so let's go ahead and group .dts files by
vendors. This move aligns arm with arm64 .dts file structure.

There's no change to dtbs_install as the flat structure is maintained on
install.

The naming of vendor directories is roughly in this order of preference:
- Matching original and current SoC vendor prefix/name (e.g. ti, qcom)
- Current vendor prefix/name if still actively sold (SoCs which have
  been aquired) (e.g. nxp/imx)
- Existing platform name for older platforms not sold/maintained by any
  company (e.g. gemini, nspire)

The whole move was scripted with the exception of MAINTAINERS and a few
makefile fixups.

Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Acked-by: Michal Simek <michal.simek@amd.com> #Xilinx
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Acked-by: Neil Armstrong <neil.armstrong@linaro.org>
Acked-by: Paul Barker <paul.barker@sancloud.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Acked-by: Gregory CLEMENT <gregory.clement@bootlin.com>
Acked-by: Heiko Stuebner <heiko@sntech.de>
Acked-by: Wei Xu <xuwei5@hisilicon.com> #hisilicon
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Nick Hawkins <nick.hawkins@hpe.com>
Acked-by: Baruch Siach <baruch@tkos.co.il>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Acked-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Acked-by: Peter Rosin <peda@axentia.se>
Acked-by: Jesper Nilsson <jesper.nilsson@axis.com>
Acked-by: Sudeep Holla <sudeep.holla@arm.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com> #broadcom
Acked-by: Manivannan Sadhasivam <mani@kernel.org>
Reviewed-by: Jisheng Zhang <jszhang@kernel.org>
Acked-by: Patrice Chotard <patrice.chotard@foss.st.com>
Acked-by: Romain Perier <romain.perier@gmail.com>
Acked-by: Alexandre TORGUE <alexandre.torgue@st.com>
Acked-by: Shawn Guo <shawnguo@kernel.org>
Acked-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Acked-by: Enric Balletbo i Serra <eballetbo@gmail.com>
Signed-off-by: Rob Herring <robh@kernel.org>
2023-06-21 11:39:50 -06:00