Commit graph

319 commits

Author SHA1 Message Date
Inochi Amaoto 1f4a994be2
riscv: dts: sophgo: separate sg2042 mtime and mtimecmp to fit aclint format
Change the timer layout in the dtb to fit the format that needed by
the SBI.

Fixes: 967a94a92a ("riscv: dts: add initial Sophgo SG2042 SoC device tree")
Reviewed-by: Chen Wang <unicorn_wang@outlook.com>
Reviewed-by: Guo Ren <guoren@kernel.org>
Signed-off-by: Inochi Amaoto <inochiama@outlook.com>
Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-01-26 13:33:52 +01:00
Linus Torvalds c4101e5597 SoC: DT changes for 6.8
There is one new SoC for each 32-bit Arm and 64-bit RISC-V, but both
 the Rockchips rv1109 and Sopgho CV1812H are just minor variations of
 already supported chips.
 
 The other six new SoCs are all part of existing arm64 families, but
 are somewhat more interesting:
 
  - Samsung ExynosAutov920 is an automotive chip, and the first one
    we support based on the Cortex-A78AE core with lockstep mode.
 
  - Google gs101 (Tensor G1) is the chip used in a number of Pixel phones,
    and is grouped with Samsung Exynos here since it is based on the same
    SoC design, sharing most of its IP blocks with that series.
 
  - MediaTek MT8188 is a new chip used for mid-range tablets and Chromebooks,
    using two Cortex-A78 cores where the older MT8195 had four of them.
 
  - Qualcomm SM8650 (Snapdragon 8 Gen 3) is their current top range
    phone SoC and the first supported chip based on Cortex-X4, Cortex-A720
    and Cortex-A520.
 
  - Qualcomm X1E80100 (Snapdragon X Elite) in turn is the latest
    Laptop chip using the custom Oryon cores.
 
  - Unisoc UMS9620 (Tanggula 7 series) is a 5G phone SoC based on
    Cortex-A76 and Cortex-A55
 
 In terms of boards, we have
 
  - Five old Microsoft Lumia phones, the HTC One Mini 2, Motorola Moto
    G 4G, and Huawei Honor 5X/GR5, all based on Snapdragon SoCs.
 
  - Multiple Rockchips mobile gaming systems (Anbernic RG351V,
    Powkiddy RK2023, Powkiddy X55) along with the Sonoff iHost Smart
    Home Hub and a few Rockchips SBCs
 
  - Some ComXpress boards based on Marvell CN913x, which is the
    follow-up to Armada 7xxx/8xxx.
 
  - Six new industrial/embedded boards based on NXP i.MX8 and i.MX9
 
  - Mediatek MT8183 based Chromebooks from Lenovo, Asus and Acer.
 
  - Toradex Verdin AM62 Mallow carrier for TI AM62
 
  - Huashan Pi board based on the SophGo CV1812H RISC-V chip
 
  - Two boards based on Allwinner H616/H618
 
  - A number of reference boards for various added SoCs from Qualcomm,
    Mediatek, Google, Samsung, NXP and Spreadtrum
 
 As usual, there are cleanups and warning fixes across all platforms as
 well as added features for several of them.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmWgB6AACgkQYKtH/8kJ
 UifYiA/+KjzEJRLRzNGiQ+Uy/k/o8BrrqX7SRm2BhBv14L2ag53M37io/lLLlq04
 iaNl90GeBAgg9n+uJAFFOD6B5gwq+udrU6tq3sjsThcsECd2Xlf3J7Rn3kplFbE1
 +cdDhXo6frGM3haU0PvnQRR7pTXeb9A1e8Zg4LkyF/cXnrvfTjYiKQ2jMc9/rBg7
 /qSiOt52q95fE/+gdsgw6G3X0iwMAz8EJrRutNhmxUdbkf7QoRoppcWholF+JXRV
 Wm/2pL18SalJzREZDGecutnZE9AzwQ1qGs6syM9NgX4Z8iMPOw/nRip84FQozPOx
 1HrMpULAGunDKzK2U4eN7Qrcgu+5CVgHR5mhmJ8uK+7n2uLEOQRFx0pSm/GRr3uC
 +FXnYPkuB4B1oiItB36HzhuftrRq19AzX7Xc6yIjPBUL28DYnMuLegSugaDYiEyl
 k2z0E8DtXlf5jjmsS+HQjFADk1kfrjQ/30UNk4HNhQEPSig26R6XWcKQSD1OY5Vj
 Ye5Fwwo0v/X4FJKbFeTDlpST5tYS1QXFXCxY2o/h3fkMwWqka8AsDc09Rovu7y3v
 l5biFWx5D1rGN5CDRyerQzos+8YkSlLW6JNvtC8xCMCQ4IjMS62jKibg5vA2Cyw8
 uG5/6lVqlRaU027+54J884IeaD2QNxAqjXKg6Ho0ppSUnf1SPnw=
 =zR3G
 -----END PGP SIGNATURE-----

Merge tag 'soc-dt-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc

Pull SoC DT updates from Arnd Bergmann:
 "There is one new SoC for each 32-bit Arm and 64-bit RISC-V, but both
  the Rockchips rv1109 and Sopgho CV1812H are just minor variations of
  already supported chips.

  The other six new SoCs are all part of existing arm64 families, but
  are somewhat more interesting:

   - Samsung ExynosAutov920 is an automotive chip, and the first one we
     support based on the Cortex-A78AE core with lockstep mode.

   - Google gs101 (Tensor G1) is the chip used in a number of Pixel
     phones, and is grouped with Samsung Exynos here since it is based
     on the same SoC design, sharing most of its IP blocks with that
     series.

   - MediaTek MT8188 is a new chip used for mid-range tablets and
     Chromebooks, using two Cortex-A78 cores where the older MT8195 had
     four of them.

   - Qualcomm SM8650 (Snapdragon 8 Gen 3) is their current top range
     phone SoC and the first supported chip based on Cortex-X4,
     Cortex-A720 and Cortex-A520.

   - Qualcomm X1E80100 (Snapdragon X Elite) in turn is the latest Laptop
     chip using the custom Oryon cores.

   - Unisoc UMS9620 (Tanggula 7 series) is a 5G phone SoC based on
     Cortex-A76 and Cortex-A55

  In terms of boards, we have

   - Five old Microsoft Lumia phones, the HTC One Mini 2, Motorola Moto
     G 4G, and Huawei Honor 5X/GR5, all based on Snapdragon SoCs.

   - Multiple Rockchips mobile gaming systems (Anbernic RG351V, Powkiddy
     RK2023, Powkiddy X55) along with the Sonoff iHost Smart Home Hub
     and a few Rockchips SBCs

   - Some ComXpress boards based on Marvell CN913x, which is the
     follow-up to Armada 7xxx/8xxx.

   - Six new industrial/embedded boards based on NXP i.MX8 and i.MX9

   - Mediatek MT8183 based Chromebooks from Lenovo, Asus and Acer.

   - Toradex Verdin AM62 Mallow carrier for TI AM62

   - Huashan Pi board based on the SophGo CV1812H RISC-V chip

   - Two boards based on Allwinner H616/H618

   - A number of reference boards for various added SoCs from Qualcomm,
     Mediatek, Google, Samsung, NXP and Spreadtrum

  As usual, there are cleanups and warning fixes across all platforms as
  well as added features for several of them"

* tag 'soc-dt-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (857 commits)
  ARM: dts: usr8200: Fix phy registers
  arm64: dts: intel: minor whitespace cleanup around '='
  arm64: dts: socfpga: agilex: drop redundant status
  arm64: dts: socfpga: agilex: add unit address to soc node
  arm64: dts: socfpga: agilex: move firmware out of soc node
  arm64: dts: socfpga: agilex: move FPGA region out of soc node
  arm64: dts: socfpga: agilex: align pin-controller name with bindings
  arm64: dts: socfpga: stratix10_swvp: drop unsupported DW MSHC properties
  arm64: dts: socfpga: stratix10_socdk: align NAND chip name with bindings
  arm64: dts: socfpga: stratix10: add unit address to soc node
  arm64: dts: socfpga: stratix10: move firmware out of soc node
  arm64: dts: socfpga: stratix10: move FPGA region out of soc node
  arm64: dts: socfpga: stratix10: align pincfg nodes with bindings
  arm64: dts: socfpga: stratix10: add clock-names to DWC2 USB
  arm64: dts: socfpga: drop unsupported cdns,page-size and cdns,block-size
  ARM: dts: socfpga: align NAND controller name with bindings
  ARM: dts: socfpga: drop unsupported cdns,page-size and cdns,block-size
  arm64: dts: rockchip: Fix led pinctrl of lubancat 1
  arm64: dts: rockchip: correct gpio_pwrctrl1 typo on nanopc-t6
  arm64: dts: rockchip: correct gpio_pwrctrl1 typo on rock-5b
  ...
2024-01-11 11:23:17 -08:00
Arnd Bergmann dd93766396 RISC-V Devicetrees for v6.8
StarFive:
 Key peripheral support for the jh7100 that depended on the non-standard
 non-coherent DMA operations, namely mmc, sdcard and sdio wifi. This
 platform has long been supported out of tree by Emil and Ubuntu etc ship
 images for it, so having mainline support for a wider range of
 peripherals (at last) is great.
 
 Microchip:
 The flash used by Auto Update support and the corresponding QSPI
 controller are added. On publicly available Icicle kits this flash is
 not usable (engineering sample silicon issues) but in the future Icicle
 kits will be available that have production silicon.
 
 T-Head:
 Jisheng is busy with RL this cycle and hence T-Head appears here. The
 Lichee Pi and BeagleV both grow eMMC and uSD support.
 
 Sopgho:
 Support for the Huashan Pi and the cv1812h SoC it uses. The cv1812h is
 almost identical to the existing cv1800b SoC. These SoCs are intended
 for use in IP camera type systems but also appear on SBCs, with the last
 digit denoting the amount integrated DDR3 the device has. The difference
 between the cv1812h and the existing cv180x devices appears to be the
 addition of video output interfaces.
 
 Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQRh246EGq/8RLhDjO14tDGHoIJi0gUCZYQ7CwAKCRB4tDGHoIJi
 0p2WAQD/Hid4EDlERk34GVMj5oaIaHab9BFVdfLV9nwc9q+3sAEAo9qjd4rdJuJX
 74Zjc1AjoimYxZwKZS8bphlIHe2/DQY=
 =kl1G
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmWEcXAACgkQYKtH/8kJ
 UieE8w//QNo3i8AzC3cF1CEBRhT9+T/1MOoiNgXqaVC/j3dGp9iG4ULGCSkRFUC1
 Zv62f115dcGJ4SWRuG56vr8yZFCmwwuXPEr1tm6XNUw8XS60hNwRalNa8wBSnlsA
 DayR2y+fDenIQjBU0iyEQzGUhLxf29s0c0wo9h+IqYz26O6u1VIKVnDWR1mTSyx1
 rKdZUc5qI63GiwK7pbAcc4BePSKwqlrQ+yEqzkzNfVIpgOcfOnEIIT9D++wTNATy
 mtKmnG9BStFLR39tvaks588qotAPfJHk6vO1L6vpZ6e1thMvTfd7qPp/D0Sm1Hh8
 8QK3/yqPJQ90qfxIY/UkeOkYSCxk1aMkmiuX9xnoNr872B/wI2FquhJeJJA1lSEx
 fCXqjRR3rfiNYy+Tx/xfSDjknobjZBuPYI+6llFbKm6vh2ujK1tXeXd0FsMqm+w+
 ZTPKdYjyFeC5zKy04jAYMjOu7PSeWaKg/o1GuKGMvhD/5qHEgbKBYm3CSmZx7rmm
 Yh7FY4HkfnnnM2KbyX2Pml6gOqao0ECJ1U4WGxVavILAcHaGki3exfIhQ9RS/Z9V
 OCR1FHxVBV7fxQ5lmB0sGgEsdENlN0L7SeBk1xTKjMFf9lLIKCEV4/PDDYQ4VQ4o
 U0uGmYx6KJhxbS2UAy5xD1i3Oq0tHxq86Qa2VScOpIvT8iIjqqU=
 =3BsX
 -----END PGP SIGNATURE-----

Merge tag 'riscv-dt-for-v6.8' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux into soc/dt

RISC-V Devicetrees for v6.8

StarFive:
Key peripheral support for the jh7100 that depended on the non-standard
non-coherent DMA operations, namely mmc, sdcard and sdio wifi. This
platform has long been supported out of tree by Emil and Ubuntu etc ship
images for it, so having mainline support for a wider range of
peripherals (at last) is great.

Microchip:
The flash used by Auto Update support and the corresponding QSPI
controller are added. On publicly available Icicle kits this flash is
not usable (engineering sample silicon issues) but in the future Icicle
kits will be available that have production silicon.

T-Head:
Jisheng is busy with RL this cycle and hence T-Head appears here. The
Lichee Pi and BeagleV both grow eMMC and uSD support.

Sopgho:
Support for the Huashan Pi and the cv1812h SoC it uses. The cv1812h is
almost identical to the existing cv1800b SoC. These SoCs are intended
for use in IP camera type systems but also appear on SBCs, with the last
digit denoting the amount integrated DDR3 the device has. The difference
between the cv1812h and the existing cv180x devices appears to be the
addition of video output interfaces.

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>

* tag 'riscv-dt-for-v6.8' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux:
  riscv: dts: starfive: Enable SDIO wifi on JH7100 boards
  riscv: dts: starfive: Enable SD-card on JH7100 boards
  riscv: dts: starfive: Add JH7100 MMC nodes
  riscv: dts: starfive: Add pool for coherent DMA memory on JH7100 boards
  riscv: dts: starfive: Add JH7100 cache controller
  riscv: dts: starfive: Mark the JH7100 as having non-coherent DMAs
  riscv: dts: starfive: Group tuples in interrupt properties
  riscv: dts: thead: Enable LicheePi 4A eMMC and microSD
  riscv: dts: thead: Enable BeagleV Ahead eMMC and microSD
  riscv: dts: thead: Add TH1520 mmc controllers and sdhci clock
  riscv: dts: microchip: add the mpfs' system controller qspi & associated flash
  riscv: dts: sophgo: add Huashan Pi board device tree
  riscv: dts: sophgo: add initial CV1812H SoC device tree
  riscv: dts: sophgo: cv18xx: Add gpio devices
  riscv: dts: sophgo: Separate compatible specific for CV1800B soc
  dt-bindings: riscv: Add SOPHGO Huashan Pi board compatibles
  dt-bindings: timer: Add SOPHGO CV1812H clint
  dt-bindings: interrupt-controller: Add SOPHGO CV1812H plic

Link: https://lore.kernel.org/r/20231221-skimmed-boxy-b78aed8afdc4@spud
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-12-21 17:10:08 +00:00
Emil Renner Berthing 56b10953da riscv: dts: starfive: Enable SDIO wifi on JH7100 boards
Add pinctrl and MMC controller nodes for the Broadcom wifi controller
on the BeagleV Starlight and StarFive VisionFive V1 boards.

Signed-off-by: Emil Renner Berthing <emil.renner.berthing@canonical.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
2023-12-13 15:50:23 +00:00
Emil Renner Berthing c548409cfe riscv: dts: starfive: Enable SD-card on JH7100 boards
Add pinctrl and MMC device tree nodes for the SD-card on the
BeagleV Starlight and StarFive VisionFive V1 boards.

Signed-off-by: Emil Renner Berthing <emil.renner.berthing@canonical.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
2023-12-13 15:50:23 +00:00
Emil Renner Berthing a29bb6564e riscv: dts: starfive: Add JH7100 MMC nodes
Add device tree nodes for the Synopsis MMC controllers on the
StarFive JH7100 SoC.

Signed-off-by: Emil Renner Berthing <emil.renner.berthing@canonical.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
2023-12-13 15:50:23 +00:00
Emil Renner Berthing 0a99b562e8 riscv: dts: starfive: Add pool for coherent DMA memory on JH7100 boards
The StarFive JH7100 SoC has non-coherent device DMAs, but most drivers
expect to be able to allocate coherent memory for DMA descriptors and
such. However on the JH7100 DDR memory appears twice in the physical
memory map, once cached and once uncached:

  0x00_8000_0000 - 0x08_7fff_ffff : Off chip DDR memory, cached
  0x10_0000_0000 - 0x17_ffff_ffff : Off chip DDR memory, uncached

To use this uncached region we create a global DMA memory pool there and
reserve the corresponding area in the cached region.

However the uncached region is fully above the 32bit address limit, so add
a dma-ranges map so the DMA address used for peripherals is still in the
regular cached region below the limit.

Link: https://github.com/starfive-tech/JH7100_Docs/blob/main/JH7100%20Data%20Sheet%20V01.01.04-EN%20(4-21-2021).pdf
Signed-off-by: Emil Renner Berthing <emil.renner.berthing@canonical.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
2023-12-13 15:50:23 +00:00
Emil Renner Berthing d4b95c445c riscv: dts: starfive: Add JH7100 cache controller
The StarFive JH7100 SoC also features the SiFive L2 cache controller,
so add the device tree nodes for it.

Signed-off-by: Emil Renner Berthing <emil.renner.berthing@canonical.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
2023-12-13 15:50:23 +00:00
Emil Renner Berthing ba0074972e riscv: dts: starfive: Mark the JH7100 as having non-coherent DMAs
The StarFive JH7100 SoC has non-coherent device DMAs, so mark the
soc bus as such.

Link: https://github.com/starfive-tech/JH7100_Docs/blob/main/JH7100%20Cache%20Coherence%20V1.0.pdf
Signed-off-by: Emil Renner Berthing <kernel@esmil.dk>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
2023-12-13 15:50:23 +00:00
Geert Uytterhoeven dd3c1b365f riscv: dts: starfive: Group tuples in interrupt properties
To improve human readability and enable automatic validation, the tuples
in the various properties containing interrupt specifiers should be
grouped.

Fix this by grouping the tuples of "interrupts-extended" properties
using angle brackets.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Emil Renner Berthing <emil.renner.berthing@canonical.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
2023-12-13 15:50:23 +00:00
Drew Fustini b6b5028473 riscv: dts: thead: Enable LicheePi 4A eMMC and microSD
Add emmc node properties for the eMMC device and add sdio0 node
properties for the microSD slot. Set the frequency for the sdhci
reference clock.

Signed-off-by: Drew Fustini <dfustini@baylibre.com>
Reviewed-by: Guo Ren <guoren@kernel.org>
Reviewed-by: Jisheng Zhang <jszhang@kernel.org>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
2023-12-12 19:06:51 +00:00
Drew Fustini 18d92a03b3 riscv: dts: thead: Enable BeagleV Ahead eMMC and microSD
Add emmc node properties for the eMMC device and add sdio0 node
properties for the microSD slot. Set the frequency for the sdhci
reference clock.

Signed-off-by: Drew Fustini <dfustini@baylibre.com>
Reviewed-by: Guo Ren <guoren@kernel.org>
Reviewed-by: Jisheng Zhang <jszhang@kernel.org>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
2023-12-12 19:06:51 +00:00
Drew Fustini a77f02e848 riscv: dts: thead: Add TH1520 mmc controllers and sdhci clock
Add node for the fixed reference clock used for emmc and sdio nodes.
Add emmc node for the 1st dwcmshc instance which is typically connected
to an eMMC device. Add sdio0 node for the 2nd dwcmshc instance which is
typically connected to microSD slot. Add sdio1 node for the 3rd dwcmshc
instance which is typically connected to an SDIO WiFi module. The node
names are based on Table 1-2 C910/C906 memory map in the TH1520 System
User Manual.

Link: https://git.beagleboard.org/beaglev-ahead/beaglev-ahead/-/tree/main/docs
Signed-off-by: Drew Fustini <dfustini@baylibre.com>
Reviewed-by: Emil Renner Berthing <emil.renner.berthing@canonical.com>
Reviewed-by: Guo Ren <guoren@kernel.org>
Reviewed-by: Jisheng Zhang <jszhang@kernel.org>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
2023-12-12 19:06:51 +00:00
Conor Dooley 0678df8271 riscv: dts: microchip: add the mpfs' system controller qspi & associated flash
The system controller's flash can be accessed via an MSS-exposed QSPI
controller sitting, which sits between the mailbox's control & data
registers. On Icicle, it has an MT25QL01GBBB8ESF connected to it.

The system controller and MSS both have separate QSPI controllers, both
of which can access the flash, although the system controller takes
priority.
Unfortunately, on engineering sample silicon, such as that on Icicle
kits, the MSS' QSPI controller cannot write to the flash due to a bug.
As a workaround, a QSPI controller can be implemented in the FPGA
fabric and the IO routing modified to connect it to the flash in place
of the "hard" controller in the MSS.

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
2023-12-06 12:27:39 +00:00
Conor Dooley 637cb4b61b Merge patch series "Add Huashan Pi board support"
Inochi Amaoto <inochiama@outlook.com> says:

Huashan Pi board is an embedded development platform based on the
CV1812H chip. Add minimal device tree files for this board.
Currently, it can boot to a basic shell.

NOTE: this series is based on the Jisheng's Milk-V Duo patch.

Link: https://en.sophgo.com/product/introduce/huashan.html
Link: https://en.sophgo.com/product/introduce/cv181xH.html
Link: https://lore.kernel.org/linux-riscv/20231006121449.721-1-jszhang@kernel.org/
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
2023-11-30 12:46:40 +00:00
Inochi Amaoto 2c36b0cfb4 riscv: dts: sophgo: add Huashan Pi board device tree
Add initial device tree files for the Huashan Pi board.

Note: The boot of CV1812H chip needs a rtos firmware for coprocessor to
function properly. To make the soc happy, reserved the last 2M memory
for the rtos firmware.

Signed-off-by: Inochi Amaoto <inochiama@outlook.com>
Link: https://en.sophgo.com/product/introduce/huashan.html
Link: https://en.sophgo.com/product/introduce/cv181xH.html
Link: https://github.com/milkv-duo/duo-buildroot-sdk/blob/develop/build/boards/cv181x/cv1812h_wevb_0007a_emmc_huashan/memmap.py#L15
Reviewed-by: Jisheng Zhang <jszhang@kernel.org>
Acked-by: Chen Wang <unicorn_wang@outlook.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
2023-11-30 12:40:36 +00:00
Inochi Amaoto 681ec684a7 riscv: dts: sophgo: add initial CV1812H SoC device tree
Add initial device tree for the CV1812H RISC-V SoC by SOPHGO.

Signed-off-by: Inochi Amaoto <inochiama@outlook.com>
Acked-by: Chen Wang <unicorn_wang@outlook.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
2023-11-30 12:40:36 +00:00
Inochi Amaoto dd791b45c8 riscv: dts: sophgo: cv18xx: Add gpio devices
Add common GPIO devices for the CV180x and CV181x soc.

Signed-off-by: Inochi Amaoto <inochiama@outlook.com>
Reviewed-by: Jisheng Zhang <jszhang@kernel.org>
Acked-by: Chen Wang <unicorn_wang@outlook.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
2023-11-30 12:40:36 +00:00
Inochi Amaoto 5b5dce3951 riscv: dts: sophgo: Separate compatible specific for CV1800B soc
As CV180x and CV181x have the identical layouts, it is OK to use the
cv1800b basic device tree for the whole series.
For CV1800B soc specific compatible, just move them out of the common
file.

Signed-off-by: Inochi Amaoto <inochiama@outlook.com>
Acked-by: Chen Wang <unicorn_wang@outlook.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
2023-11-30 12:40:36 +00:00
Conor Dooley 79997eda0d riscv: dts: microchip: move timebase-frequency to mpfs.dtsi
The timebase-frequency on PolarFire SoC is not set by an oscillator on
the board, but rather by an internal divider, so move the property to
mpfs.dtsi.

This looks to be copy-pasta from the SiFive Unleashed as the comments
in both places were almost identical. In the Unleashed's case this looks
to actually be valid, as the clock is provided by a crystal on the PCB.

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
---
CC: Conor Dooley <conor.dooley@microchip.com>
CC: Daire McNamara <daire.mcnamara@microchip.com>
CC: Rob Herring <robh+dt@kernel.org>
CC: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
CC: Paul Walmsley <paul.walmsley@sifive.com>
CC: Palmer Dabbelt <palmer@dabbelt.com>
CC: linux-riscv@lists.infradead.org
CC: devicetree@vger.kernel.org
2023-11-26 11:44:51 +00:00
Conor Dooley e80ed63aff riscv: dts: sophgo: remove address-cells from intc node
A recent submission [1] from Rob has added additionalProperties: false
to the interrupt-controller child node of RISC-V cpus, highlighting that
the new cv1800b DT has been incorrectly using #address-cells.
It has no child nodes, so #address-cells is not needed. Remove it.

Link: https://patchwork.kernel.org/project/linux-riscv/patch/20230915201946.4184468-1-robh@kernel.org/ [1]
Fixes: c3dffa879c ("riscv: dts: sophgo: add initial CV1800B SoC device tree")
Reviewed-by: Jisheng Zhang <jszhang@kernel.org>
Acked-by: Chen Wang <unicorn_wang@outlook.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
2023-11-16 21:43:52 +00:00
Conor Dooley bfc1d3a901 riscv: dts: renesas: Convert isa detection to new properties
Convert the RZ/Five devicetrees to use the new properties
"riscv,isa-base" & "riscv,isa-extensions".
For compatibility with other projects, "riscv,isa" remains.

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20231009-smog-gag-3ba67e68126b@wendy
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2023-11-13 14:35:36 +01:00
Linus Torvalds 56d428ae1c RISC-V Patches for the 6.7 Merge Window, Part 2
* Support for handling misaligned accesses in S-mode.
 * Probing for misaligned access support is now properly cached and
   handled in parallel.
 * PTDUMP now reflects the SW reserved bits, as well as the PBMT and
   NAPOT extensions.
 * Performance improvements for TLB flushing.
 * Support for many new relocations in the module loader.
 * Various bug fixes and cleanups.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEEKzw3R0RoQ7JKlDp6LhMZ81+7GIkFAmVOUCcTHHBhbG1lckBk
 YWJiZWx0LmNvbQAKCRAuExnzX7sYicJ2D/9S+9dnHYHVGTeJfr9Zf2T4r+qHBPyx
 LXbTAbgHN6139MgcRLMRlcUaQ04RVxuBCWhxewJ6mQiHiYNlullgKmJO8oYMS4uZ
 2yQGHKhzKEVluXxe+qT6VW+zsP0cY6pDQ+e59AqZgyWzvATxMU4VtFfCDdjFG03I
 k/8Y3MUKSHAKzIHUsGHiMW5J2YRiM/iVehv2gZfanreulWlK6lyiV4AZ4KChu8Sa
 gix9QkFJw+9+7RHnouHvczt4xTqLPJQcdecLJsbisEI4VaaPtTVzkvXx/kwbMwX0
 qkQnZ7I60fPHrCb9ccuedjDMa1Z0lrfwRldBGz9f9QaW37Eppirn6LA5JiZ1cA47
 wKTwba6gZJCTRXELFTJLcv+Cwdy003E0y3iL5UK2rkbLqcxfvLdq1WAJU2t05Lmh
 aRQN10BtM2DZG+SNPlLoBpXPDw0Q3KOc20zGtuhmk010+X4yOK7WXlu8zNGLLE0+
 yHamiZqAbpIUIEzwDdGbb95jywR1sUhNTbScuhj4Rc79ZqLtPxty1PUhnfqFat1R
 i3ngQtCbeUUYFS2YV9tKkXjLf/xkQNRbt7kQBowuvFuvfksl9UwMdRAWcE/h0M9P
 7uz7cBFhuG0v/XblB7bUhYLkKITvP+ltSMyxaGlfpGqCLAH2KIztdZ2PLWLRdKeU
 +9dtZSQR6oBLqQ==
 =NhdR
 -----END PGP SIGNATURE-----

Merge tag 'riscv-for-linus-6.7-mw2' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux

Pull more RISC-V updates from Palmer Dabbelt:

 - Support for handling misaligned accesses in S-mode

 - Probing for misaligned access support is now properly cached and
   handled in parallel

 - PTDUMP now reflects the SW reserved bits, as well as the PBMT and
   NAPOT extensions

 - Performance improvements for TLB flushing

 - Support for many new relocations in the module loader

 - Various bug fixes and cleanups

* tag 'riscv-for-linus-6.7-mw2' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux: (51 commits)
  riscv: Optimize bitops with Zbb extension
  riscv: Rearrange hwcap.h and cpufeature.h
  drivers: perf: Do not broadcast to other cpus when starting a counter
  drivers: perf: Check find_first_bit() return value
  of: property: Add fw_devlink support for msi-parent
  RISC-V: Don't fail in riscv_of_parent_hartid() for disabled HARTs
  riscv: Fix set_memory_XX() and set_direct_map_XX() by splitting huge linear mappings
  riscv: Don't use PGD entries for the linear mapping
  RISC-V: Probe misaligned access speed in parallel
  RISC-V: Remove __init on unaligned_emulation_finish()
  RISC-V: Show accurate per-hart isa in /proc/cpuinfo
  RISC-V: Don't rely on positional structure initialization
  riscv: Add tests for riscv module loading
  riscv: Add remaining module relocations
  riscv: Avoid unaligned access when relocating modules
  riscv: split cache ops out of dma-noncoherent.c
  riscv: Improve flush_tlb_kernel_range()
  riscv: Make __flush_tlb_range() loop over pte instead of flushing the whole tlb
  riscv: Improve flush_tlb_range() for hugetlb pages
  riscv: Improve tlb_flush()
  ...
2023-11-10 09:23:17 -08:00
Geert Uytterhoeven 57a4542cb7
riscv: boot: Fix creation of loader.bin
When flashing loader.bin for K210 using kflash:

    [ERROR] This is an ELF file and cannot be programmed to flash directly: arch/riscv/boot/loader.bin

Before, loader.bin relied on "OBJCOPYFLAGS := -O binary" in the main
RISC-V Makefile to create a boot image with the right format.  With this
removed, the image is now created in the wrong (ELF) format.

Fix this by adding an explicit rule.

Fixes: 505b02957e ("riscv: Remove duplicate objcopy flag")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
Link: https://lore.kernel.org/r/1086025809583809538dfecaa899892218f44e7e.1698159066.git.geert+renesas@glider.be
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2023-11-06 09:39:26 -08:00
Linus Torvalds c035f0268b SoC DT updates for v6.7
There are a couple new SoCs that are supported for the first time:
 
  - AMD Pensando Elba is a data processing unit based on Cortex-A72
    CPU cores
 
  - Sophgo makes RISC-V based chips, and we now support the CV1800B
    chip used in the milkv-duo board and the massive sg2042 chip in the
    milkv-pioneer, a 64-core developer workstation.
 
  - Qualcomm Snapdragon 720G (sm7125) is a close relative of
    Snapdragon 7c and gets added with some Xiaomi phones
 
  - Renesas gains support for the R8A779F4 (R-Car S4-8) automotive
    SoC and the RZ/G3S (R9A08G045) embedded SoC.
 
 There are also a bunch of newly supported machines that use
 already supported chips. On the 32-bit side, we have:
 
  - USRobotics USR8200 is a NAS/Firewall/router based on the ancient
    Intel IXP4xx platform
 
  - A couple of machines based on the NXP i.MX5 and i.MX6 platforms
 
  - One machine each for Allwinner V3s, Aspeed AST2600, Microchip
    sama5d29 and ST STM32mp157
 
 The other ones all use arm64 cores on chips from allwinner,
 amlogic, freescale, mediatek, qualcomm and rockchip.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmVC3jwACgkQYKtH/8kJ
 Uic3Jg//UgKUEr6ckxInnDew/yHW5AOQ35NKWCLNDysZZVnnnWY44j98Sw++NXyY
 WX9rdQBYWf6XZaIynCIF0RqkYSsuPw5jmEIy5PH/JwFkwEvUgv/FFd285MdHa/zR
 Rw61K+Aqy/qUDzpEz75z+uy3A0DX6N3ZYP0qvKxzT+oKSkOVYz3rPN5VcMYuPCxO
 SpXZMz4CPjBf4RCQeApo80JO3SIW0Mnx1Fu589fJrlWhqmlSer7WlmSA3OMcBmKC
 5WgNljieEQidYIhlmZDLnDIL7ot2g+0ESz8nYky3UFRKR3MFDyi4yA7PJrr/EMsK
 X7u8eEESrAqjpVJJKgo+q3foV1nYSaGt9vU/mxaiwme44mzhZLo/xfuzpylZRorW
 9ny3bP5GaiReWog15sCzwM3D/H+eJbtDKKiU7QasmXjtl+k8i6hAtvuISVeYkPae
 n+SdMh3rNsP8n71ybD6aKLp41bQbiO4iUgkyYLh7NHsuSLKq/+EKTiyYmXB6egAZ
 eeN+JEKvFgwROHCt39UA0Fo+PbOmeOHbNywLMrr1hZPT3ytroe/rgJEt+qdrCzN7
 JcKcNTSy2sQX/GIKQ5qHHmphWZsD38SoqsiPtfsrprZiMXwbER23vnFXh7CHGL4I
 gAra/iNHSsHl5FrF43qhyZA9vCNDYvo13LbS/kyDZ7tO9Q+8M/Q=
 =NnPm
 -----END PGP SIGNATURE-----

Merge tag 'soc-dt-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc

Pull SoC DT updates from Arnd Bergmann:
 "There are a couple new SoCs that are supported for the first time:

   - AMD Pensando Elba is a data processing unit based on Cortex-A72 CPU
     cores

   - Sophgo makes RISC-V based chips, and we now support the CV1800B
     chip used in the milkv-duo board and the massive sg2042 chip in the
     milkv-pioneer, a 64-core developer workstation.

   - Qualcomm Snapdragon 720G (sm7125) is a close relative of Snapdragon
     7c and gets added with some Xiaomi phones

   - Renesas gains support for the R8A779F4 (R-Car S4-8) automotive SoC
     and the RZ/G3S (R9A08G045) embedded SoC.

  There are also a bunch of newly supported machines that use already
  supported chips. On the 32-bit side, we have:

   - USRobotics USR8200 is a NAS/Firewall/router based on the ancient
     Intel IXP4xx platform

   - A couple of machines based on the NXP i.MX5 and i.MX6 platforms

   - One machine each for Allwinner V3s, Aspeed AST2600, Microchip
     sama5d29 and ST STM32mp157

  The other ones all use arm64 cores on chips from allwinner, amlogic,
  freescale, mediatek, qualcomm and rockchip"

* tag 'soc-dt-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (641 commits)
  ARM: dts: BCM5301X: Set switch ports for Linksys EA9200
  ARM: dts: BCM5301X: Set fixed-link for extra Netgear R8000 CPU ports
  ARM: dts: BCM5301X: Explicitly disable unused switch CPU ports
  ARM: dts: BCM5301X: Relicense Vivek's code to the GPL 2.0+ / MIT
  ARM: dts: BCM5301X: Relicense Felix's code to the GPL 2.0+ / MIT
  ARM: dts: BCM5301X: Set MAC address for Asus RT-AC87U
  arm64: dts: socionext: add missing cache properties
  riscv: dts: thead: convert isa detection to new properties
  arm64: dts: Update cache properties for socionext
  arm64: dts: ti: k3-am654-idk: Add ICSSG Ethernet ports
  arm64: dts: ti: k3-am654-icssg2: add ICSSG2 Ethernet support
  arm64: dts: ti: k3-am65-main: Add ICSSG IEP nodes
  arm64: dts: ti: k3-am62p5-sk: Updates for SK EVM
  arm64: dts: ti: k3-am62p: Add nodes for more IPs
  arm64: dts: rockchip: Add Turing RK1 SoM support
  dt-bindings: arm: rockchip: Add Turing RK1
  dt-bindings: vendor-prefixes: add turing
  arm64: dts: rockchip: Add DFI to rk3588s
  arm64: dts: rockchip: Add DFI to rk356x
  arm64: dts: rockchip: Always enable DFI on rk3399
  ...
2023-11-01 14:37:04 -10:00
Conor Dooley 0804f3bec9
riscv: dts: thead: convert isa detection to new properties
Convert the th1520 devicetrees to use the new properties
"riscv,isa-base" & "riscv,isa-extensions".
For compatibility with other projects, "riscv,isa" remains.

Reviewed-by: Jisheng Zhang <jszhang@kernel.org>
Acked-by: Guo Ren <guoren@kernel.org>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20231022154135.3746-1-jszhang@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-10-23 21:11:06 +02:00
Arnd Bergmann 79384a0475 RISC-V Devicetrees for v6.7
StarFive:
 Things are a bit slower for StarFive this window, there's only the
 addition of audio related DT nodes to speak of here.
 
 Generic:
 The SiFive, StarFive and Microchip devicetrees have had my replacement
 ISA extension detection properties added. Unfortunately, the old
 "riscv,isa" property never defined exactly what the extensions it
 contained meant, and people were want to fill it in incorrectly (and
 call upstream kernel devs idiots for not doing the same). The new
 properties have explicit definitions and hopefully will stand up better
 to some of the variation from RVI.
 
 Sophgo:
 Two new SoCs, one is probably the first of several with up/down tuned
 variants, that have a pair of T-Head c906 cores and appear aimed at the
 IP camera, smart <insert whatever> etc markets. They are intended to run
 in AMP mode, with an RTOS on the less powerful core. The other is far
 more interesting to kernel developers however, the 64-core SG2042, with
 more recent c920 cores from T-Head at 2 GHz. For both, support is at a
 very basic stage - some of the same developers are working on them as
 other T-Head powered SoCs, but hopefully things will move beyond a basic
 console boot. The goal is for Chen Wang to take over maintaining the
 Sophgo support once they have some more experience with the process.
 
 Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQRh246EGq/8RLhDjO14tDGHoIJi0gUCZS1W8gAKCRB4tDGHoIJi
 0mLBAP9fhiekHB8O7VQpcGvPB3FgFFh7uP8DzKcpU6bW8PbNmgD+MoCp4d/amMFR
 VCtONbvM+RYC1ENRaOY91gI3k/2b0w8=
 =2vZu
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmUv5cgACgkQYKtH/8kJ
 Uie+/hAA1WrNmS794Ab3VKazNPGXtH2ZtvZ875l7H4Zn/6lFsw21UyB3CBl70yVM
 qK4OxG5TTHMCbhi0YvW2zJs8jtW7ogYTVFm68q0KiJH3kWWrpAFrzGhtmz1jDTwv
 FnKxVQCNMcoTgDqwIQ2pgoirP9yxxdk4EBnqWYgwWRLgHLJtr0MMoQiwJCbTXhTB
 ajzzjvWWkv3pG0VZY4gDm2l1kIqd5FSEClr9a8dG2dFg4kR3omkKJ1o3kk3Fs+/E
 vcYel6ge+V/RJ503e3OH0YopHJIicYqGB+04cxdhyHdB7NRz9URaplOF+MP1eadY
 iRnz9wkTHeJqFIBwYAV8vKhqrjQlEIvfP4+2QTupGvmGiw5xrtAy7ow5D+hTiLQ4
 EGNVGHrpXV3YTzS6PyNJVco3c5yFKABXBkMBvxy0/f3QdwF8a+LFzm05TOm9dosA
 bzvrN6I0qdCpUFqaho3j30RmL4o2rjF85z6hSZnNU6h9qw3Jdu3QaL44R3KbfeU2
 ivxhFk4jbEdigk3lq/NTUHK8PIgAN3nRpuSWCk2HojLMEvU0EsyNBjihc/50WhoL
 D7qno7G2L2xhKRkpSu9ClPEODcrexhcqBzHoRPUuN53jpqN3Wrva/pRtjfm25EID
 GOcypde5vfVHR2krKnH7zXLwmk7bkxgcsTIoVauH/u+DdO+E/8o=
 =76M7
 -----END PGP SIGNATURE-----

Merge tag 'riscv-dt-for-v6.7' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux into soc/dt

RISC-V Devicetrees for v6.7

StarFive:
Things are a bit slower for StarFive this window, there's only the
addition of audio related DT nodes to speak of here.

Generic:
The SiFive, StarFive and Microchip devicetrees have had my replacement
ISA extension detection properties added. Unfortunately, the old
"riscv,isa" property never defined exactly what the extensions it
contained meant, and people were want to fill it in incorrectly (and
call upstream kernel devs idiots for not doing the same). The new
properties have explicit definitions and hopefully will stand up better
to some of the variation from RVI.

Sophgo:
Two new SoCs, one is probably the first of several with up/down tuned
variants, that have a pair of T-Head c906 cores and appear aimed at the
IP camera, smart <insert whatever> etc markets. They are intended to run
in AMP mode, with an RTOS on the less powerful core. The other is far
more interesting to kernel developers however, the 64-core SG2042, with
more recent c920 cores from T-Head at 2 GHz. For both, support is at a
very basic stage - some of the same developers are working on them as
other T-Head powered SoCs, but hopefully things will move beyond a basic
console boot. The goal is for Chen Wang to take over maintaining the
Sophgo support once they have some more experience with the process.

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>

* tag 'riscv-dt-for-v6.7' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux: (22 commits)
  riscv: dts: starfive: convert isa detection to new properties
  riscv: dts: sifive: convert isa detection to new properties
  riscv: dts: microchip: convert isa detection to new properties
  riscv: dts: sophgo: add Milk-V Duo board device tree
  riscv: dts: sophgo: add initial CV1800B SoC device tree
  dt-bindings: riscv: Add Milk-V Duo board compatibles
  dt-bindings: timer: Add SOPHGO CV1800B clint
  dt-bindings: interrupt-controller: Add SOPHGO CV1800B plic
  riscv: defconfig: enable SOPHGO SoC
  riscv: dts: sophgo: add Milk-V Pioneer board device tree
  riscv: dts: add initial Sophgo SG2042 SoC device tree
  dt-bindings: interrupt-controller: Add Sophgo sg2042 CLINT mswi
  dt-bindings: timer: Add Sophgo sg2042 CLINT timer
  dt-bindings: interrupt-controller: Add Sophgo SG2042 PLIC
  dt-bindings: riscv: Add T-HEAD C920 compatibles
  dt-bindings: riscv: add sophgo sg2042 bindings
  dt-bindings: vendor-prefixes: add milkv/sophgo
  riscv: Add SOPHGO SOC family Kconfig support
  riscv: dts: starfive: add assigned-clock* to limit frquency
  riscv: dts: starfive: Add JH7110 PWM-DAC support
  ...

Link: https://lore.kernel.org/r/20231016-filing-payroll-7aca51b8f1a3@spud
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-10-18 16:03:52 +02:00
Jisheng Zhang 759426c758
riscv: dts: thead: set dma-noncoherent to soc bus
riscv select ARCH_DMA_DEFAULT_COHERENT by default, and th1520 isn't
dma coherent, so set dma-noncoherent to reflect this fact.

Signed-off-by: Jisheng Zhang <jszhang@kernel.org>
Tested-by: Drew Fustini <dfustini@baylibre.com>
Reviewed-by: Guo Ren <guoren@kernel.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-10-17 21:00:24 +02:00
Arnd Bergmann e084a305aa RISC-V Devicetrees for v6.6-final
A single fix for the Starfive VisionFive 2 platform so that chip select
 for SPI matches the vendor documentation.
 
 Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQRh246EGq/8RLhDjO14tDGHoIJi0gUCZSvaJQAKCRB4tDGHoIJi
 0sg6AQDQXrn1qqG+Gnq3uRl9on9KXf8xX16vcZrkzu+V8Qo2SgD/XnT8gJ5W3NwG
 y1XqbQ4HXIkhU1ETcanjL2zNL59IGgA=
 =IneL
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmUs8s8ACgkQYKtH/8kJ
 UidGMxAAu6zyC7SIxY8d3hAZmR4/3XgZIxCJtb71W/YJP8gpLBzQzrcbVPEcpFr+
 u1ZbjX8bHSHyPJNfEHUVadeySBJ/xs7WLE5ko+Fj07rwXGOIW/90FqOTwI9z4OJ4
 D80Li//jPCYTVxLnG6q9vFcv/GR+H7S1hjwxG8KRw/VS2z+4g6fRRFKXQzc0ZwJ6
 WFcfHOso2U+Es4UWe12J0VHHQ5Gxv7NwUoqmOAFZqvtNQwPxeTSQAS9XJbeFBCor
 xYlAiA1lbytrKVVR/m/7p9fihv3J2b4X2xsE+pTL3nnM2IGaEmFIZhfKf5b2RuhA
 MEEjEVrkrp5SQ6oPYW1pbUnqwjYyij/1CxzO2zO/fg1EjnFxEqlLhJOg445RHcFv
 /kzKwcRs998F8cw6lwL8Ir9UNQ2L2vG8yEwmzT2m3v37ZXdYECDywFfK0MBnzHHO
 P2hxrax6By+kKMYt9VvLy8DgXN67IQA3sVKiBcbuV3hKaLhL0js+Ig0cx3TVBq1Q
 YkKb3wQSX8NKVj9hctZBYYreyh3hLWnyTeD6HsA1zekYpr3rk6Xsnj7a3gPUE56D
 4i0OD4uYl0euwi50gq7CooB1gLPLpfsrHccS+BTaBIn/f9GwwqEfvOVMv6zkMyfB
 JU1hyHNhueC3PLapz+xhYG8a5TXK7h8yYmP1qpSzF03hE6MtyIw=
 =Vd1q
 -----END PGP SIGNATURE-----

Merge tag 'riscv-dt-for-v6.6-final' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux into soc/dt

RISC-V Devicetrees for v6.6-final

A single fix for the Starfive VisionFive 2 platform so that chip select
for SPI matches the vendor documentation.

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>

* tag 'riscv-dt-for-v6.6-final' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux:
  riscv: dts: starfive: visionfive 2: correct spi's ss pin
  riscv: dts: starfive: visionfive 2: Fix uart0 pins sort order
  riscv: dts: starfive: visionfive 2: Enable usb0
  riscv: dts: starfive: fix NOR flash reserved-data partition size

Link: https://lore.kernel.org/r/20231015-outmatch-tragedy-228f91d396b5@spud
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-10-16 10:22:39 +02:00
Conor Dooley 81b5948cf1 riscv: dts: starfive: convert isa detection to new properties
Convert the jh7100 and jh7110 devicetrees to use the new properties
"riscv,isa-base" & "riscv,isa-extensions".
For compatibility with other projects, "riscv,isa" remains.

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
2023-10-15 13:16:05 +01:00
Conor Dooley a54f42722e riscv: dts: sifive: convert isa detection to new properties
Convert the fu540 and fu740 devicetrees to use the new properties
"riscv,isa-base" & "riscv,isa-extensions".
For compatibility with other projects, "riscv,isa" remains.

Reviewed-by: Samuel Holland <samuel.holland@sifive.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
2023-10-15 13:16:05 +01:00
Conor Dooley 561add0da6 riscv: dts: microchip: convert isa detection to new properties
Convert the PolarFire SoC devicetrees to use the new properties
"riscv,isa-base" & "riscv,isa-extensions".
For compatibility with other projects, "riscv,isa" remains.

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
2023-10-15 13:16:05 +01:00
Arnd Bergmann 37d01395d9 - Added V3s nodes for PWM pinctrl, EHCI and OHCI
- RISC-V DT cleanups
 - Added new ISA property and PMU node to Allwinner D1
 - Added interconnect to R40 video codec node
 - New boards: Anbernic RG-Nano, BigTreeTech Pi, BigTreeTech CB1 SOM
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQSPRixG1tysKC2PKM10Ba7+DO8kkwUCZSmchwAKCRB0Ba7+DO8k
 kzoEAP9rATKDuruM8ldAAbLwE/LuozsYounSPjGqPQ9IjtwozQEA3SugBYtttym0
 1OlNYzia5QvGk6bkhbB/n1DoWVAlAAg=
 =4/Yg
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmUprdIACgkQYKtH/8kJ
 Uid31Q/+MW4FPEIaz7Ml+/fFpdT8LCCEN5Ph42+L/+Ay3otCTvndqaVMbFCJJXaH
 pQqs6idTWsIitluLFoFcaOXTeaQLTMSt+h0SYlA63x6jGivAxjBkoHHYl6YolyIS
 GPERYSipIStRa+A46EI7QpuIskHsGar6yw0PV+wnsYA6vrA6ODrv28lFL/9+3B3Y
 VG5Rzh4yyD6zBGmNkN65fpUvlD6U401poxglWXYY4531BeJvo0Jo5AS7ueo5i/CZ
 xAmaSgadTNmeRG08Nwnj1ytCIzqy64M9PmkSX/PNZuT9a1wy9O394Mnb2ggqvncY
 sj7L9t2L3KxmqReoko2c1vo7TNI5aQFbXoWCuhz6RIXWehl4Rb884eYk/acsT6qd
 B9DpbAxHigpslxNjB1I31noFgX+Z4/EPDURXu6jNwEIxu1UZv73cHZeVI2T2UgoJ
 5FXyCYt0DQZ2C+z54S6FZlej58xuVBLBLD75DQHeGVOy9aKQ3QYwFaVHTVQyEv3w
 nZ118eaO58E36Ihx9zdWBMygj5zGyviR7hiV9wd8FaZx6jvthNstnZuzeErRcGkI
 TFTCyeoqRbQ5GFbKQj0knc0SxWGBgHSe3xR3sulT6foyo4/5Ezr2KvyFTlmMZVtk
 BglxsfefUcKNzll5JhV2hSsZNs0s0iZ9zOI8+VsBlyzecguMhgc=
 =wa9m
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-dt-for-6.7-1' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into soc/dt

- Added V3s nodes for PWM pinctrl, EHCI and OHCI
- RISC-V DT cleanups
- Added new ISA property and PMU node to Allwinner D1
- Added interconnect to R40 video codec node
- New boards: Anbernic RG-Nano, BigTreeTech Pi, BigTreeTech CB1 SOM

* tag 'sunxi-dt-for-6.7-1' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  riscv: dts: allwinner: convert isa detection to new properties
  ARM: dts: sun8i-r40: Add interconnect to video-codec
  ARM: dts: sunxi: add support for Anbernic RG-Nano
  dt-bindings: arm: sunxi: add Anbernic RG-Nano
  ARM: dts: sun8i: v3s: add EHCI and OHCI to v3s dts
  arm: dts: sun8i: V3s: Add pinctrl for pwm
  riscv: dts: allwinner: d1: Add PMU event node
  arm64: dts: allwinner: h616: Add BigTreeTech Pi support
  arm64: dts: allwinner: h616: Add BigTreeTech CB1 SoM & boards support
  dt-bindings: arm: sunxi: Add BigTreeTech boards
  dt-bindings: vendor-prefixes: Add BigTreeTech
  arm64: dts: allwinner: h616: Add SID controller node
  dt-bindings: nvmem: SID: Add binding for H616 SID controller
  riscv: dts: allwinner: remove address-cells from intc node
  riscv: dts: use capital "OR" for multiple licenses in SPDX

Link: https://lore.kernel.org/r/20231013194203.GA2155816@jernej-laptop
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-10-13 22:51:30 +02:00
Conor Dooley c3f7c14856 riscv: dts: allwinner: convert isa detection to new properties
Convert the D1 devicetrees to use the new properties
"riscv,isa-base" & "riscv,isa-extensions".
For compatibility with other projects, "riscv,isa" remains.

Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20231009-moonlight-gray-92debdc89f30@wendy
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
2023-10-13 21:19:25 +02:00
Nam Cao cf98fe6b57 riscv: dts: starfive: visionfive 2: correct spi's ss pin
The ss pin of spi0 is the same as sck pin. According to the
visionfive 2 documentation, it should be pin 49 instead of 48.

Fixes: 74fb20c8f0 ("riscv: dts: starfive: Add spi node and pins configuration")
Reviewed-by: Emil Renner Berthing <emil.renner.berthing@canonical.com>
Signed-off-by: Nam Cao <namcao@linutronix.de>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
2023-10-12 10:23:23 +01:00
Jisheng Zhang 27df2ed3b1 riscv: dts: sophgo: add Milk-V Duo board device tree
Milk-V Duo[1] board is an embedded development platform based on the
CV1800B chip. Add minimal device tree files for the development board.

Support basic uart drivers, so supports booting to a basic shell.

Link: https://milkv.io/duo [1]
Signed-off-by: Jisheng Zhang <jszhang@kernel.org>
Acked-by: Chen Wang <unicorn_wang@outlook.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
2023-10-07 14:17:18 +01:00
Jisheng Zhang c3dffa879c riscv: dts: sophgo: add initial CV1800B SoC device tree
Add initial device tree for the CV1800B RISC-V SoC by SOPHGO.

Signed-off-by: Jisheng Zhang <jszhang@kernel.org>
Acked-by: Chen Wang <unicorn_wang@outlook.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
2023-10-07 14:17:12 +01:00
Chen Wang 9439a0e8b6 riscv: dts: sophgo: add Milk-V Pioneer board device tree
Milk-V Pioneer [1] is a developer motherboard based on SG2042
in a standard mATX form factor.

Currently only support booting into console with only uart
enabled, other features will be added soon later.

Link: https://milkv.io/pioneer [1]

Reviewed-by: Guo Ren <guoren@kernel.org>
Acked-by: Chao Wei <chao.wei@sophgo.com>
Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
2023-10-07 11:17:01 +01:00
Chen Wang 967a94a92a riscv: dts: add initial Sophgo SG2042 SoC device tree
Milk-V Pioneer motherboard is powered by SG2042.

SG2042 is server grade chip with high performance, low power
consumption and high data throughput.
Key features:
- 64 RISC-V cpu cores
- 4 cores per cluster, 16 clusters on chip
- More info is available at [1].

Currently only support booting into console with only uart,
other features will be added soon later.

Link: https://en.sophgo.com/product/introduce/sg2042.html [1]
Reviewed-by: Guo Ren <guoren@kernel.org>
Acked-by: Chao Wei <chao.wei@sophgo.com>
Co-developed-by: Xiaoguang Xing <xiaoguang.xing@sophgo.com>
Signed-off-by: Xiaoguang Xing <xiaoguang.xing@sophgo.com>
Co-developed-by: Inochi Amaoto <inochiama@outlook.com>
Signed-off-by: Inochi Amaoto <inochiama@outlook.com>
Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
2023-10-07 11:16:51 +01:00
Lad Prabhakar bfef0760d2 riscv: dts: renesas: rzfive-smarc: Enable the blocks which were explicitly disabled
Now that noncoherent dma support for the RZ/Five SoC has been added, enable
the IP blocks which were disabled on the RZ/Five SMARC.  This adds
support for the below peripherals:
  * Ethernet
  * DMAC
  * SDHI
  * USB
  * RSPI
  * SSI

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20230929000704.53217-4-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2023-10-05 14:25:00 +02:00
Lad Prabhakar 9e40584dc2 riscv: dts: renesas: r9a07g043f: Add dma-noncoherent property
RZ/Five is a noncoherent SoC so to indicate this add dma-noncoherent
property to RZ/Five SoC DTSI.

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20230929000704.53217-3-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2023-10-05 14:25:00 +02:00
Lad Prabhakar a38b1061d3 riscv: dts: renesas: r9a07g043f: Add L2 cache node
Add L2 cache node for RZ/Five SoC.

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20230929000704.53217-2-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2023-10-05 14:25:00 +02:00
William Qiu af571133f7 riscv: dts: starfive: add assigned-clock* to limit frquency
In JH7110 SoC, we need to go by-pass mode, so we need add the
assigned-clock* properties to limit clock frquency.

Signed-off-by: William Qiu <william.qiu@starfivetech.com>
Reviewed-by: Emil Renner Berthing <emil.renner.berthing@canonical.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
2023-09-30 09:58:30 +01:00
Inochi Amaoto b3eaec0789 riscv: dts: allwinner: d1: Add PMU event node
D1 has several pmu events supported by opensbi.
These events can be used by perf for profiling.

Signed-off-by: Inochi Amaoto <inochiama@outlook.com>
Link: https://dl.linux-sunxi.org/D1/Xuantie_C906_R1S0_User_Manual.pdf
Link: https://github.com/T-head-Semi/openc906/blob/main/C906_RTL_FACTORY/gen_rtl/pmu/rtl/aq_hpcp_top.v#L657
Reviewed-by: Guo Ren <guoren@kernel.org>
Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/IA1PR20MB49534918FCA69399CE2E0C53BBE0A@IA1PR20MB4953.namprd20.prod.outlook.com
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
2023-09-24 22:09:02 +02:00
Conor Dooley 267860b10c riscv: dts: allwinner: remove address-cells from intc node
A recent submission [1] from Rob has added additionalProperties: false
to the interrupt-controller child node of RISC-V cpus, highlighting that
the D1 DT has been incorrectly using #address-cells since its
introduction. It has no child nodes, so #address-cells is not needed.
Remove it.

Fixes: 077e5f4f55 ("riscv: dts: allwinner: Add the D1/D1s SoC devicetree")
Link: https://patchwork.kernel.org/project/linux-riscv/patch/20230915201946.4184468-1-robh@kernel.org/ [1]
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Link: https://lore.kernel.org/r/20230916-saddling-dastardly-8cf6d1263c24@spud
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
2023-09-24 21:53:55 +02:00
Krzysztof Kozlowski 062b9b661f riscv: dts: use capital "OR" for multiple licenses in SPDX
Documentation/process/license-rules.rst and checkpatch expect the SPDX
identifier syntax for multiple licenses to use capital "OR".  Correct it
to keep consistent format and avoid copy-paste issues.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20230823085238.113642-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
2023-09-24 21:44:44 +02:00
Hal Feng be326bee09 riscv: dts: starfive: Add JH7110 PWM-DAC support
Add PWM-DAC support for StarFive JH7110 SoC.

Reviewed-by: Walker Chen <walker.chen@starfivetech.com>
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
2023-09-13 14:32:02 +01:00
Xingyu Wu 92cfc35838 riscv: dts: starfive: Add the nodes and pins of I2Srx/I2Stx0/I2Stx1
Add I2Srx/I2Stx0/I2Stx1 nodes and pins configuration for the
StarFive JH7110 SoC.

Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com>
Reviewed-by: Walker Chen <walker.chen@starfivetech.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
2023-09-13 14:29:28 +01:00
Xingyu Wu 4e1abae568 riscv: dts: starfive: pinfunc: Fix the pins name of I2STX1
These pins are actually I2STX1 clock input, not I2STX0,
so their names should be changed.

Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com>
Reviewed-by: Walker Chen <walker.chen@starfivetech.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
2023-09-13 14:29:28 +01:00
Hal Feng 1558209533 riscv: dts: starfive: visionfive 2: Fix uart0 pins sort order
Node uart0_pins should be sorted alphabetically.

Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
2023-09-13 14:24:56 +01:00