Merge tag 'soc-dt-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 11 Jan 2024 19:23:17 +0000 (11:23 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 11 Jan 2024 19:23:17 +0000 (11:23 -0800)
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
  ...

30 files changed:
1  2 
Documentation/devicetree/bindings/display/mediatek/mediatek,dsi.yaml
Documentation/devicetree/bindings/soc/rockchip/grf.yaml
MAINTAINERS
arch/arm/boot/dts/nxp/imx/imx7s.dtsi
arch/arm/boot/dts/rockchip/rk3128.dtsi
arch/arm/boot/dts/rockchip/rk322x.dtsi
arch/arm64/boot/dts/freescale/imx8mp.dtsi
arch/arm64/boot/dts/freescale/imx8qm-ss-dma.dtsi
arch/arm64/boot/dts/freescale/imx93-tqma9352-mba93xxla.dts
arch/arm64/boot/dts/freescale/imx93.dtsi
arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts
arch/arm64/boot/dts/mediatek/mt7986a-bananapi-bpi-r3.dts
arch/arm64/boot/dts/mediatek/mt8173-evb.dts
arch/arm64/boot/dts/mediatek/mt8183-evb.dts
arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi.dtsi
arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi
arch/arm64/boot/dts/mediatek/mt8183.dtsi
arch/arm64/boot/dts/mediatek/mt8186.dtsi
arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
arch/arm64/boot/dts/mediatek/mt8195.dtsi
arch/arm64/boot/dts/mediatek/mt8395-genio-1200-evk.dts
arch/arm64/boot/dts/rockchip/px30-ringneck-haikou.dts
arch/arm64/boot/dts/rockchip/rk3328.dtsi
arch/arm64/boot/dts/rockchip/rk3399.dtsi
arch/arm64/boot/dts/rockchip/rk3588-turing-rk1.dtsi
arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5.dts
arch/arm64/boot/dts/rockchip/rk3588s.dtsi
arch/riscv/boot/dts/microchip/mpfs-icicle-kit.dts
arch/riscv/boot/dts/microchip/mpfs.dtsi
arch/riscv/boot/dts/sophgo/cv18xx.dtsi

diff --cc MAINTAINERS
Simple merge
Simple merge
index 976dc968b3ca14de97798bd5e823dbf552ca8300,980ff3e8c1c5ba8f59ff413fcdc4382d11528a90..920ee415ef5fbd225f4d8e7babe39c609597e0e0
                        nvmem-cell-names = "calibration-data";
                };
  
 -              thermal_zones: thermal-zones {
 -                      cpu_thermal: cpu-thermal {
 -                              polling-delay-passive = <100>;
 -                              polling-delay = <500>;
 -                              thermal-sensors = <&thermal 0>;
 -                              sustainable-power = <5000>;
 -
 -                              trips {
 -                                      threshold: trip-point0 {
 -                                              temperature = <68000>;
 -                                              hysteresis = <2000>;
 -                                              type = "passive";
 -                                      };
 -
 -                                      target: trip-point1 {
 -                                              temperature = <80000>;
 -                                              hysteresis = <2000>;
 -                                              type = "passive";
 -                                      };
 -
 -                                      cpu_crit: cpu-crit {
 -                                              temperature = <115000>;
 -                                              hysteresis = <2000>;
 -                                              type = "critical";
 -                                      };
 -                              };
 -
 -                              cooling-maps {
 -                                      map0 {
 -                                              trip = <&target>;
 -                                              cooling-device = <&cpu0
 -                                                      THERMAL_NO_LIMIT
 -                                                      THERMAL_NO_LIMIT>,
 -                                                               <&cpu1
 -                                                      THERMAL_NO_LIMIT
 -                                                      THERMAL_NO_LIMIT>,
 -                                                               <&cpu2
 -                                                      THERMAL_NO_LIMIT
 -                                                      THERMAL_NO_LIMIT>,
 -                                                               <&cpu3
 -                                                      THERMAL_NO_LIMIT
 -                                                      THERMAL_NO_LIMIT>;
 -                                              contribution = <3072>;
 -                                      };
 -                                      map1 {
 -                                              trip = <&target>;
 -                                              cooling-device = <&cpu4
 -                                                      THERMAL_NO_LIMIT
 -                                                      THERMAL_NO_LIMIT>,
 -                                                               <&cpu5
 -                                                      THERMAL_NO_LIMIT
 -                                                      THERMAL_NO_LIMIT>,
 -                                                               <&cpu6
 -                                                      THERMAL_NO_LIMIT
 -                                                      THERMAL_NO_LIMIT>,
 -                                                               <&cpu7
 -                                                      THERMAL_NO_LIMIT
 -                                                      THERMAL_NO_LIMIT>;
 -                                              contribution = <1024>;
 -                                      };
 -                              };
 -                      };
 -
 -                      /* The tzts1 ~ tzts6 don't need to polling */
 -                      /* The tzts1 ~ tzts6 don't need to thermal throttle */
 -
 -                      tzts1: tzts1 {
 -                              polling-delay-passive = <0>;
 -                              polling-delay = <0>;
 -                              thermal-sensors = <&thermal 1>;
 -                              sustainable-power = <5000>;
 -                              trips {};
 -                              cooling-maps {};
 -                      };
 -
 -                      tzts2: tzts2 {
 -                              polling-delay-passive = <0>;
 -                              polling-delay = <0>;
 -                              thermal-sensors = <&thermal 2>;
 -                              sustainable-power = <5000>;
 -                              trips {};
 -                              cooling-maps {};
 -                      };
 -
 -                      tzts3: tzts3 {
 -                              polling-delay-passive = <0>;
 -                              polling-delay = <0>;
 -                              thermal-sensors = <&thermal 3>;
 -                              sustainable-power = <5000>;
 -                              trips {};
 -                              cooling-maps {};
 -                      };
 -
 -                      tzts4: tzts4 {
 -                              polling-delay-passive = <0>;
 -                              polling-delay = <0>;
 -                              thermal-sensors = <&thermal 4>;
 -                              sustainable-power = <5000>;
 -                              trips {};
 -                              cooling-maps {};
 -                      };
 -
 -                      tzts5: tzts5 {
 -                              polling-delay-passive = <0>;
 -                              polling-delay = <0>;
 -                              thermal-sensors = <&thermal 5>;
 -                              sustainable-power = <5000>;
 -                              trips {};
 -                              cooling-maps {};
 -                      };
 -
 -                      tztsABB: tztsABB {
 -                              polling-delay-passive = <0>;
 -                              polling-delay = <0>;
 -                              thermal-sensors = <&thermal 6>;
 -                              sustainable-power = <5000>;
 -                              trips {};
 -                              cooling-maps {};
 -                      };
 -              };
 -
+               svs: svs@1100bc00 {
+                       compatible = "mediatek,mt8183-svs";
+                       reg = <0 0x1100bc00 0 0x400>;
+                       interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_LOW>;
+                       clocks = <&infracfg CLK_INFRA_THERM>;
+                       clock-names = "main";
+                       nvmem-cells = <&svs_calibration>,
+                                     <&thermal_calibration>;
+                       nvmem-cell-names = "svs-calibration-data",
+                                          "t-calibration-data";
+               };
                pwm0: pwm@1100e000 {
                        compatible = "mediatek,mt8183-disp-pwm";
                        reg = <0 0x1100e000 0 0x1000>;
index 0000000000000000000000000000000000000000,d415cc758def21341d0199bfb0b034a9684ae482..2d6f4a4b1e58b4b56ac49c051af7fbc5bf9c4d12
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,193 +1,192 @@@
 -                              #address-cells = <0>;
+ // SPDX-License-Identifier: (GPL-2.0 OR MIT)
+ /*
+  * Copyright (C) 2023 Jisheng Zhang <jszhang@kernel.org>
+  * Copyright (C) 2023 Inochi Amaoto <inochiama@outlook.com>
+  */
+ #include <dt-bindings/interrupt-controller/irq.h>
+ / {
+       #address-cells = <1>;
+       #size-cells = <1>;
+       cpus: cpus {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               timebase-frequency = <25000000>;
+               cpu0: cpu@0 {
+                       compatible = "thead,c906", "riscv";
+                       device_type = "cpu";
+                       reg = <0>;
+                       d-cache-block-size = <64>;
+                       d-cache-sets = <512>;
+                       d-cache-size = <65536>;
+                       i-cache-block-size = <64>;
+                       i-cache-sets = <128>;
+                       i-cache-size = <32768>;
+                       mmu-type = "riscv,sv39";
+                       riscv,isa = "rv64imafdc";
+                       riscv,isa-base = "rv64i";
+                       riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "zicntr", "zicsr",
+                                              "zifencei", "zihpm";
+                       cpu0_intc: interrupt-controller {
+                               compatible = "riscv,cpu-intc";
+                               interrupt-controller;
+                               #interrupt-cells = <1>;
+                       };
+               };
+       };
+       osc: oscillator {
+               compatible = "fixed-clock";
+               clock-output-names = "osc_25m";
+               #clock-cells = <0>;
+       };
+       soc {
+               compatible = "simple-bus";
+               interrupt-parent = <&plic>;
+               #address-cells = <1>;
+               #size-cells = <1>;
+               dma-noncoherent;
+               ranges;
+               gpio0: gpio@3020000 {
+                       compatible = "snps,dw-apb-gpio";
+                       reg = <0x3020000 0x1000>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       porta: gpio-controller@0 {
+                               compatible = "snps,dw-apb-gpio-port";
+                               gpio-controller;
+                               #gpio-cells = <2>;
+                               ngpios = <32>;
+                               reg = <0>;
+                               interrupt-controller;
+                               #interrupt-cells = <2>;
+                               interrupts = <60 IRQ_TYPE_LEVEL_HIGH>;
+                       };
+               };
+               gpio1: gpio@3021000 {
+                       compatible = "snps,dw-apb-gpio";
+                       reg = <0x3021000 0x1000>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       portb: gpio-controller@0 {
+                               compatible = "snps,dw-apb-gpio-port";
+                               gpio-controller;
+                               #gpio-cells = <2>;
+                               ngpios = <32>;
+                               reg = <0>;
+                               interrupt-controller;
+                               #interrupt-cells = <2>;
+                               interrupts = <61 IRQ_TYPE_LEVEL_HIGH>;
+                       };
+               };
+               gpio2: gpio@3022000 {
+                       compatible = "snps,dw-apb-gpio";
+                       reg = <0x3022000 0x1000>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       portc: gpio-controller@0 {
+                               compatible = "snps,dw-apb-gpio-port";
+                               gpio-controller;
+                               #gpio-cells = <2>;
+                               ngpios = <32>;
+                               reg = <0>;
+                               interrupt-controller;
+                               #interrupt-cells = <2>;
+                               interrupts = <62 IRQ_TYPE_LEVEL_HIGH>;
+                       };
+               };
+               gpio3: gpio@3023000 {
+                       compatible = "snps,dw-apb-gpio";
+                       reg = <0x3023000 0x1000>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       portd: gpio-controller@0 {
+                               compatible = "snps,dw-apb-gpio-port";
+                               gpio-controller;
+                               #gpio-cells = <2>;
+                               ngpios = <32>;
+                               reg = <0>;
+                               interrupt-controller;
+                               #interrupt-cells = <2>;
+                               interrupts = <63 IRQ_TYPE_LEVEL_HIGH>;
+                       };
+               };
+               uart0: serial@4140000 {
+                       compatible = "snps,dw-apb-uart";
+                       reg = <0x04140000 0x100>;
+                       interrupts = <44 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&osc>;
+                       reg-shift = <2>;
+                       reg-io-width = <4>;
+                       status = "disabled";
+               };
+               uart1: serial@4150000 {
+                       compatible = "snps,dw-apb-uart";
+                       reg = <0x04150000 0x100>;
+                       interrupts = <45 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&osc>;
+                       reg-shift = <2>;
+                       reg-io-width = <4>;
+                       status = "disabled";
+               };
+               uart2: serial@4160000 {
+                       compatible = "snps,dw-apb-uart";
+                       reg = <0x04160000 0x100>;
+                       interrupts = <46 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&osc>;
+                       reg-shift = <2>;
+                       reg-io-width = <4>;
+                       status = "disabled";
+               };
+               uart3: serial@4170000 {
+                       compatible = "snps,dw-apb-uart";
+                       reg = <0x04170000 0x100>;
+                       interrupts = <47 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&osc>;
+                       reg-shift = <2>;
+                       reg-io-width = <4>;
+                       status = "disabled";
+               };
+               uart4: serial@41c0000 {
+                       compatible = "snps,dw-apb-uart";
+                       reg = <0x041c0000 0x100>;
+                       interrupts = <48 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&osc>;
+                       reg-shift = <2>;
+                       reg-io-width = <4>;
+                       status = "disabled";
+               };
+               plic: interrupt-controller@70000000 {
+                       reg = <0x70000000 0x4000000>;
+                       interrupts-extended = <&cpu0_intc 11>, <&cpu0_intc 9>;
+                       interrupt-controller;
+                       #address-cells = <0>;
+                       #interrupt-cells = <2>;
+                       riscv,ndev = <101>;
+               };
+               clint: timer@74000000 {
+                       reg = <0x74000000 0x10000>;
+                       interrupts-extended = <&cpu0_intc 3>, <&cpu0_intc 7>;
+               };
+       };
+ };