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

Pull SoC dt updates from Arnd Bergmann:
 "There are five sets of new SoCs that get added in existing families,
  all of them being either upgrades or cut-down versions of the older
  chips:

   - Apple M2 Pro, M2 Max and M2 Ultra, used in the 2022/2023 generation
     of high-end workstations and laptops from Apple. Linux has been
     working on these for a while but stil requires patches.

   - Axis Artpec8 is an Armv8 chip based on Samsung Exynos design,
     unlike the earlier Armv7 Artpec6 from the same company that was
     part of a separate family of chips.

   - NXP i.MX91 is a cut-down version of i.MX93, using only a single
     Cortex-A55 core.

   - Qualcomm Lemans Auto is a variant of the Lemans SoC that was
     originally merged under the sa8775p name, the differences being
     mostly the firmware configuration of the platform.

   - Four new Renesas SoCs RZ/T2H (r9a09g077m44), RZ/N2H (r9a09g087m44),
     RZ/T2H (r9a09g077), and RZ/N2H (r9a09g087) are all industrial
     bedded SoCs based on Cortex-A55 cores

  In total, there are 65 new machines, including:

   - Industrial embedded system and single-board computers based on NXP,
     Allwinner, TI, Rockchips, Marvell, Xilinx Spacemit, Starfive chips.

   - Reference boards for the newly added Renesas, Qualcomm, NXP and
     Axis ARMv8 chips as well as Microchip's MPFS RISC-V SoC

   - Laptops and Workstations using Apple M2 and Qualcomm Snapdragon X1
     chips.

   - Several Samsung phones using Qualcomm Snapdragon chips

   - Set-top boxes based on Allwinner H313

   - Five BMC boards using 32-bit ASpeed SoCs

   - Three network routers using IXP4xx (ARMv5!) and Broadcom bcm4708
     (ARMv7) SoCs

  Two machines get phased out because they were available only in small
  quantities but never made it into products: one STi407 based reference
  board, and a Snapdragon 845 based Chromebook.

  Aside from the newly added machines, a lot of work went into improving
  hardware support on the existing machines and cleaning up contents for
  validation"

* tag 'soc-dt-6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (931 commits)
  arm64: dts: apm-shadowcat: Drop "apm,xgene2-pcie" compatible
  arm64: dts: apm-shadowcat: Move slimpro nodes out of "simple-bus" node
  ARM: dts: microchip: sam9x7: Add qspi controller
  arm64: dts: qcom: Add MST pixel streams for displayport
  arm64: dts: qcom: sm6350: correct DP compatibility strings
  arm64: dts: qcom: monaco-evk: Enable Adreno 623 GPU
  arm64: dts: qcom: qcs8300-ride: Enable Adreno 623 GPU
  arm64: dts: qcom: qcs8300: Add gpu and gmu nodes
  arm64: dts: allwinner: h313: Add Amediatech X96Q
  dt-bindings: arm: sunxi: Add Amediatech X96Q
  arm64: dts: apple: t8015: Add SPMI node
  arm64: dts: apple: t8012: Add SPMI node
  arm64: dts: apple: Add J180d (Mac Pro, M2 Ultra, 2023) device tree
  arm64: dts: rockchip: Add devicetree for the ROC-RK3588-RT
  dt-bindings: arm: rockchip: Add Firefly ROC-RK3588-RT
  arm64: dts: rockchip: update pinctrl names for Radxa E52C
  arm64: dts: rockchip: remove vcc_3v3_pmu regulator for Radxa E52C
  arm64: dts: apple: Add J474s, J475c and J475d device trees
  arm64: dts: apple: Add J414 and J416 Macbook Pro device trees
  arm64: dts: apple: Add initial t6020/t6021/t6022 DTs
  ...
This commit is contained in:
Linus Torvalds
2025-10-01 17:19:38 -07:00
847 changed files with 59980 additions and 16384 deletions

View File

@@ -92,10 +92,11 @@ description: |
Devices based on the "M2" SoC:
- MacBook Air (M2, 2022)
- MacBook Air (15-inch, M2, 2023)
- MacBook Pro (13-inch, M2, 2022)
- Mac mini (M2, 2023)
And devices based on the "M1 Pro", "M1 Max" and "M1 Ultra" SoCs:
Devices based on the "M1 Pro", "M1 Max" and "M1 Ultra" SoCs:
- MacBook Pro (14-inch, M1 Pro, 2021)
- MacBook Pro (14-inch, M1 Max, 2021)
@@ -104,6 +105,17 @@ description: |
- Mac Studio (M1 Max, 2022)
- Mac Studio (M1 Ultra, 2022)
Devices based on the "M2 Pro", "M2 Max" and "M2 Ultra" SoCs:
- MacBook Pro (14-inch, M2 Pro, 2023)
- MacBook Pro (14-inch, M2 Max, 2023)
- MacBook Pro (16-inch, M2 Pro, 2023)
- MacBook Pro (16-inch, M2 Max, 2023)
- Mac mini (M2 Pro, 2023)
- Mac Studio (M2 Max, 2023)
- Mac Studio (M2 Ultra, 2023)
- Mac Pro (M2 Ultra, 2023)
The compatible property should follow this format:
compatible = "apple,<targettype>", "apple,<socid>", "apple,arm-platform";
@@ -279,6 +291,7 @@ properties:
items:
- enum:
- apple,j413 # MacBook Air (M2, 2022)
- apple,j415 # MacBook Air (15-inch, M2, 2023)
- apple,j473 # Mac mini (M2, 2023)
- apple,j493 # MacBook Pro (13-inch, M2, 2022)
- const: apple,t8112
@@ -308,6 +321,32 @@ properties:
- const: apple,t6002
- const: apple,arm-platform
- description: Apple M2 Pro SoC based platforms
items:
- enum:
- apple,j414s # MacBook Pro (14-inch, M2 Pro, 2023)
- apple,j416s # MacBook Pro (16-inch, M2 Pro, 2023)
- apple,j474s # Mac mini (M2 Pro, 2023)
- const: apple,t6020
- const: apple,arm-platform
- description: Apple M2 Max SoC based platforms
items:
- enum:
- apple,j414c # MacBook Pro (14-inch, M2 Max, 2023)
- apple,j416c # MacBook Pro (16-inch, M2 Max, 2023)
- apple,j475c # Mac Studio (M2 Max, 2023)
- const: apple,t6021
- const: apple,arm-platform
- description: Apple M2 Ultra SoC based platforms
items:
- enum:
- apple,j180d # Mac Pro (M2 Ultra, 2023)
- apple,j475d # Mac Studio (M2 Ultra, 2023)
- const: apple,t6022
- const: apple,arm-platform
additionalProperties: true
...

View File

@@ -46,6 +46,7 @@ properties:
- facebook,yamp-bmc
- facebook,yosemitev2-bmc
- facebook,wedge400-bmc
- facebook,wedge400-data64-bmc
- hxt,stardragon4800-rep2-bmc
- ibm,mihawk-bmc
- ibm,mowgli-bmc
@@ -81,9 +82,12 @@ properties:
- asus,x4tf-bmc
- facebook,bletchley-bmc
- facebook,catalina-bmc
- facebook,clemente-bmc
- facebook,cloudripper-bmc
- facebook,darwin-bmc
- facebook,elbert-bmc
- facebook,fuji-bmc
- facebook,fuji-data64-bmc
- facebook,greatlakes-bmc
- facebook,harma-bmc
- facebook,minerva-cmc

View File

@@ -1,13 +0,0 @@
Axis Communications AB
ARTPEC series SoC Device Tree Bindings
ARTPEC-6 ARM SoC
================
Required root node properties:
- compatible = "axis,artpec6";
ARTPEC-6 Development board:
---------------------------
Required root node properties:
- compatible = "axis,artpec6-dev-board", "axis,artpec6";

View File

@@ -0,0 +1,36 @@
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/arm/axis.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Axis ARTPEC platforms
maintainers:
- Jesper Nilsson <jesper.nilsson@axis.com>
- Lars Persson <lars.persson@axis.com>
- linux-arm-kernel@axis.com
description: |
ARM platforms using SoCs designed by Axis branded as "ARTPEC".
properties:
$nodename:
const: '/'
compatible:
oneOf:
- description: Axis ARTPEC-6 SoC board
items:
- enum:
- axis,artpec6-dev-board
- const: axis,artpec6
- description: Axis ARTPEC-8 SoC board
items:
- enum:
- axis,artpec8-grizzly
- const: axis,artpec8
additionalProperties: true
...

View File

@@ -25,6 +25,7 @@ properties:
- enum:
- asus,rt-ac56u
- asus,rt-ac68u
- buffalo,wxr-1750dhp
- buffalo,wzr-1166dhp
- buffalo,wzr-1166dhp2
- buffalo,wzr-1750dhp

View File

@@ -28,6 +28,14 @@ properties:
reg:
maxItems: 1
clocks:
maxItems: 2
clock-names:
items:
- const: divcore
- const: hsrun_divcore
required:
- compatible
- reg

View File

@@ -1112,6 +1112,7 @@ properties:
- skov,imx8mp-skov-revb-mi1010ait-1cp1 # SKOV i.MX8MP climate control with 10.1" panel
- skov,imx8mp-skov-revc-bd500 # SKOV i.MX8MP climate control with LED frontplate
- skov,imx8mp-skov-revc-tian-g07017 # SKOV i.MX8MP climate control with 7" panel
- ultratronik,imx8mp-ultra-mach-sbc # Ultratronik SBC i.MX8MP based board
- ysoft,imx8mp-iota2-lumpy # Y Soft i.MX8MP IOTA2 Lumpy Board
- const: fsl,imx8mp
@@ -1200,6 +1201,24 @@ properties:
- const: polyhex,imx8mp-debix-som-a # Polyhex Debix SOM A
- const: fsl,imx8mp
- description: SolidRun i.MX8MP SoM based boards
items:
- enum:
- solidrun,imx8mp-cubox-m # SolidRun i.MX8MP SoM on CuBox-M
- solidrun,imx8mp-hummingboard-mate # SolidRun i.MX8MP SoM on HummingBoard Mate
- solidrun,imx8mp-hummingboard-pro # SolidRun i.MX8MP SoM on HummingBoard Pro
- solidrun,imx8mp-hummingboard-pulse # SolidRun i.MX8MP SoM on HummingBoard Pulse
- solidrun,imx8mp-hummingboard-ripple # SolidRun i.MX8MP SoM on HummingBoard Ripple
- const: solidrun,imx8mp-sr-som
- const: fsl,imx8mp
- description: TechNexion EDM-G-IMX8M-PLUS SoM based boards
items:
- enum:
- technexion,edm-g-imx8mp-wb # TechNexion EDM-G-IMX8MP SOM on WB-EDM-G
- const: technexion,edm-g-imx8mp # TechNexion EDM-G-IMX8MP SOM
- const: fsl,imx8mp
- description: Toradex Boards with SMARC iMX8M Plus Modules
items:
- const: toradex,smarc-imx8mp-dev # Toradex SMARC iMX8M Plus on Toradex SMARC Development Board
@@ -1382,9 +1401,16 @@ properties:
- description: i.MX8ULP based Boards
items:
- enum:
- fsl,imx8ulp-9x9-evk # i.MX8ULP EVK9 Board
- fsl,imx8ulp-evk # i.MX8ULP EVK Board
- const: fsl,imx8ulp
- description: i.MX91 based Boards
items:
- enum:
- fsl,imx91-11x11-evk # i.MX91 11x11 EVK Board
- const: fsl,imx91
- description: i.MX93 based Boards
items:
- enum:
@@ -1425,6 +1451,24 @@ properties:
- fsl,imxrt1170-evk # i.MXRT1170 EVK Board
- const: fsl,imxrt1170
- description:
TQMa91xxLA and TQMa91xxCA are two series of feature compatible SOM
using NXP i.MX91 SOC in 11x11 mm package.
TQMa91xxLA is designed to be soldered on different carrier boards.
TQMa91xxCA is a compatible variant using board to board connectors.
All SOM and CPU variants use the same device tree hence only one
compatible is needed. Bootloader disables all features not present
in the assembled SOC.
MBa91xxCA mainboard can be used as starterkit for the SOM
soldered on an adapter board or for the connector variant
MBa91xxLA mainboard is a single board computer using the solderable
SOM variant
items:
- enum:
- tq,imx91-tqma9131-mba91xxca # TQ-Systems GmbH i.MX91 TQMa91xxCA/LA SOM on MBa91xxCA
- const: tq,imx91-tqma9131 # TQ-Systems GmbH i.MX91 TQMa91xxCA/LA SOM
- const: fsl,imx91
- description:
TQMa93xxLA and TQMa93xxCA are two series of feature compatible SOM
using NXP i.MX93 SOC in 11x11 mm package.
@@ -1537,6 +1581,12 @@ properties:
- fsl,ls1012a-qds
- const: fsl,ls1012a
- description: TQ Systems TQMLS12AL SoM on MBLS1012AL board
items:
- const: tq,ls1012a-tqmls1012al-mbls1012al
- const: tq,ls1012a-tqmls1012al
- const: fsl,ls1012a
- description: LS1021A based Boards
items:
- enum:

View File

@@ -16,6 +16,8 @@ properties:
oneOf:
- items:
- enum:
- actiontec,mi424wr-ac
- actiontec,mi424wr-d
- adieng,coyote
- arcom,vulcan
- dlink,dsm-g600-a

View File

@@ -1,42 +0,0 @@
TI Keystone Platforms Device Tree Bindings
-----------------------------------------------
Boards with Keystone2 based devices (TCI66xxK2H) SOC shall have the
following properties.
Required properties:
- compatible: All TI specific devices present in Keystone SOC should be in
the form "ti,keystone-*". Generic devices like gic, arch_timers, ns16550
type UART should use the specified compatible for those devices.
SoC families:
- Keystone 2 generic SoC:
compatible = "ti,keystone"
SoCs:
- Keystone 2 Hawking/Kepler
compatible = "ti,k2hk", "ti,keystone"
- Keystone 2 Lamarr
compatible = "ti,k2l", "ti,keystone"
- Keystone 2 Edison
compatible = "ti,k2e", "ti,keystone"
- K2G
compatible = "ti,k2g", "ti,keystone"
Boards:
- Keystone 2 Hawking/Kepler EVM
compatible = "ti,k2hk-evm", "ti,k2hk", "ti,keystone"
- Keystone 2 Lamarr EVM
compatible = "ti,k2l-evm", "ti, k2l", "ti,keystone"
- Keystone 2 Edison EVM
compatible = "ti,k2e-evm", "ti,k2e", "ti,keystone"
- K2G EVM
compatible = "ti,k2g-evm", "ti,k2g", "ti-keystone"
- K2G Industrial Communication Engine EVM
compatible = "ti,k2g-ice", "ti,k2g", "ti-keystone"

View File

@@ -23,6 +23,7 @@ properties:
- marvell,armada-3720-db
- methode,edpu
- methode,udpu
- ripe,atlas-v5
- const: marvell,armada3720
- const: marvell,armada3710

View File

@@ -431,11 +431,13 @@ properties:
- const: mediatek,mt8365
- items:
- enum:
- grinn,genio-510-sbc
- mediatek,mt8370-evk
- const: mediatek,mt8370
- const: mediatek,mt8188
- items:
- enum:
- grinn,genio-700-sbc
- mediatek,mt8390-evk
- const: mediatek,mt8390
- const: mediatek,mt8188

View File

@@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
title: NXP LPC32xx Platforms
maintainers:
- Roland Stigge <stigge@antcom.de>
- Vladimir Zapolskiy <vz@mleia.com>
properties:
compatible:

View File

@@ -23,7 +23,9 @@ description: |
select:
properties:
compatible:
pattern: "^qcom,.*(apq|ipq|mdm|msm|qcm|qcs|q[dr]u|sa|sar|sc|sd[amx]|sm|x1[ep])[0-9]+.*$"
oneOf:
- pattern: "^qcom,.*(apq|ipq|mdm|msm|qcm|qcs|q[dr]u|sa|sar|sc|sd[amx]|sm|x1[ep])[0-9]+.*$"
- pattern: "^qcom,.*(glymur|milos).*$"
required:
- compatible
@@ -34,6 +36,7 @@ properties:
- pattern: "^qcom,(apq|ipq|mdm|msm|qcm|qcs|q[dr]u|sa|sc|sd[amx]|sm|x1[ep])[0-9]+(pro)?-.*$"
- pattern: "^qcom,sar[0-9]+[a-z]?-.*$"
- pattern: "^qcom,(sa|sc)8[0-9]+[a-z][a-z]?-.*$"
- pattern: "^qcom,(glymur|milos)-.*$"
# Legacy namings - variations of existing patterns/compatibles are OK,
# but do not add completely new entries to these:

View File

@@ -10,100 +10,6 @@ maintainers:
- Bjorn Andersson <bjorn.andersson@linaro.org>
description: |
For devices using the Qualcomm SoC the "compatible" properties consists of
one or several "manufacturer,model" strings, describing the device itself,
followed by one or several "qcom,<SoC>" strings, describing the SoC used in
the device.
The 'SoC' element must be one of the following strings:
apq8016
apq8026
apq8064
apq8074
apq8084
apq8094
apq8096
ipq4018
ipq4019
ipq5018
ipq5332
ipq5424
ipq6018
ipq8064
ipq8074
ipq9574
mdm9615
msm8226
msm8660
msm8916
msm8917
msm8926
msm8929
msm8939
msm8953
msm8956
msm8960
msm8974
msm8974pro
msm8976
msm8992
msm8994
msm8996
msm8996pro
msm8998
qcs404
qcs615
qcs8300
qcs8550
qcm2290
qcm6490
qcs9100
qdu1000
qrb2210
qrb4210
qru1000
sa8155p
sa8540p
sa8775p
sar2130p
sc7180
sc7280
sc8180x
sc8280xp
sda660
sdm450
sdm630
sdm632
sdm636
sdm660
sdm670
sdm845
sdx55
sdx65
sdx75
sm4250
sm4450
sm6115
sm6115p
sm6125
sm6350
sm6375
sm7125
sm7150
sm7225
sm7325
sm8150
sm8250
sm8350
sm8450
sm8550
sm8650
sm8750
x1e78100
x1e80100
x1p42100
There are many devices in the list below that run the standard ChromeOS
bootloader setup and use the open source depthcharge bootloader to boot the
OS. These devices use the bootflow explained at
@@ -203,6 +109,12 @@ properties:
- samsung,expressatt
- const: qcom,msm8960
- items:
- enum:
- sony,huashan
- const: qcom,msm8960t
- const: qcom,msm8960
- items:
- enum:
- lge,hammerhead
@@ -281,6 +193,7 @@ properties:
- items:
- enum:
- flipkart,rimob
- motorola,potter
- xiaomi,daisy
- xiaomi,mido
@@ -424,6 +337,7 @@ properties:
- items:
- enum:
- fairphone,fp5
- particle,tachyon
- qcom,qcm6490-idp
- qcom,qcs6490-rb3gen2
- shift,otter
@@ -942,6 +856,7 @@ properties:
- items:
- enum:
- qcom,monaco-evk
- qcom,qcs8300-ride
- const: qcom,qcs8300
@@ -949,6 +864,7 @@ properties:
- enum:
- qcom,qcs615-ride
- const: qcom,qcs615
- const: qcom,sm6150
- items:
- enum:
@@ -969,6 +885,7 @@ properties:
- items:
- enum:
- qcom,lemans-evk
- qcom,qcs9100-ride
- qcom,qcs9100-ride-r3
- const: qcom,qcs9100
@@ -976,9 +893,6 @@ properties:
- items:
- enum:
- google,cheza
- google,cheza-rev1
- google,cheza-rev2
- lenovo,yoga-c630
- lg,judyln
- lg,judyp
@@ -1076,6 +990,8 @@ properties:
- qcom,qrb5165-rb5
- qcom,sm8250-hdk
- qcom,sm8250-mtp
- samsung,r8q
- samsung,x1q
- sony,pdx203-generic
- sony,pdx206-generic
- xiaomi,elish
@@ -1095,6 +1011,7 @@ properties:
- enum:
- qcom,sm8450-hdk
- qcom,sm8450-qrd
- samsung,r0q
- sony,pdx223
- sony,pdx224
- const: qcom,sm8450
@@ -1146,6 +1063,8 @@ properties:
- enum:
- asus,vivobook-s15
- asus,zenbook-a14-ux3407ra
- dell,inspiron-14-plus-7441
- dell,latitude-7455
- dell,xps13-9345
- hp,elitebook-ultra-g1q
- hp,omnibook-x14
@@ -1156,9 +1075,17 @@ properties:
- qcom,x1e80100-qcp
- const: qcom,x1e80100
- items:
- enum:
- qcom,hamoa-iot-evk
- const: qcom,hamoa-iot-som
- const: qcom,x1e80100
- items:
- enum:
- asus,zenbook-a14-ux3407qa
- hp,omnibook-x14-fe1
- lenovo,thinkbook-16
- qcom,x1p42100-crd
- const: qcom,x1p42100

View File

@@ -54,6 +54,11 @@ properties:
- const: ariaboard,photonicat
- const: rockchip,rk3568
- description: ArmSoM Sige1 board
items:
- const: armsom,sige1
- const: rockchip,rk3528
- description: ArmSoM Sige5 board
items:
- const: armsom,sige5
@@ -253,6 +258,11 @@ properties:
- const: firefly,roc-rk3576-pc
- const: rockchip,rk3576
- description: Firefly ROC-RK3588-RT
items:
- const: firefly,roc-rk3588-rt
- const: rockchip,rk3588
- description: Firefly Station M2
items:
- const: firefly,rk3566-roc-pc
@@ -320,6 +330,11 @@ properties:
- friendlyarm,nanopi-r6s
- const: rockchip,rk3588s
- description: FriendlyElec NanoPi Zero2
items:
- const: friendlyarm,nanopi-zero2
- const: rockchip,rk3528
- description: FriendlyElec NanoPC T6 series boards
items:
- enum:
@@ -683,6 +698,13 @@ properties:
- const: hardkernel,odroid-m2
- const: rockchip,rk3588s
- description: HINLINK H66K / H68K
items:
- enum:
- hinlink,h66k
- hinlink,h68k
- const: rockchip,rk3568
- description: Hugsun X99 TV Box
items:
- const: hugsun,x99
@@ -881,6 +903,13 @@ properties:
- const: radxa,rock
- const: rockchip,rk3188
- description: Radxa ROCK 2A/2F
items:
- enum:
- radxa,rock-2a
- radxa,rock-2f
- const: rockchip,rk3528
- description: Radxa ROCK Pi 4A/A+/B/B+/C
items:
- enum:

View File

@@ -14,12 +14,6 @@ properties:
const: '/'
compatible:
oneOf:
- description: S3C2416 based boards
items:
- enum:
- samsung,smdk2416 # Samsung SMDK2416
- const: samsung,s3c2416
- description: S3C6410 based boards
items:
- enum:

View File

@@ -14,12 +14,8 @@ properties:
const: '/'
compatible:
oneOf:
- items:
- const: st,stih407-b2120
- const: st,stih407
- items:
- enum:
- st,stih410-b2120
- st,stih410-b2260
- const: st,stih410
- items:

View File

@@ -595,6 +595,14 @@ properties:
- const: netcube,kumquat
- const: allwinner,sun8i-v3s
- description: NetCube Systems Nagami SoM based boards
items:
- enum:
- netcube,nagami-basic-carrier
- netcube,nagami-keypad-carrier
- const: netcube,nagami
- const: allwinner,sun8i-t113s
- description: NextThing Co. CHIP
items:
- const: nextthing,chip
@@ -963,6 +971,11 @@ properties:
- const: hechuang,x96-mate
- const: allwinner,sun50i-h616
- description: X96Q
items:
- const: amediatech,x96q
- const: allwinner,sun50i-h616
- description: X96Q Pro+
items:
- const: amediatech,x96q-pro-plus

View File

@@ -36,8 +36,12 @@ properties:
- toradex,colibri_t20-iris
- const: toradex,colibri_t20
- const: nvidia,tegra20
- items:
- const: asus,tf101
- description: ASUS Transformers T20 Device family
items:
- enum:
- asus,sl101
- asus,tf101
- asus,tf101g
- const: nvidia,tegra20
- items:
- const: acer,picasso
@@ -174,6 +178,10 @@ properties:
- const: google,nyan-big
- const: google,nyan
- const: nvidia,tegra124
- description: Xiaomi Mi Pad (A0101)
items:
- const: xiaomi,mocha
- const: nvidia,tegra124
- items:
- enum:
- nvidia,darcy

View File

@@ -58,6 +58,13 @@ properties:
- ti,am62-lp-sk
- const: ti,am625
- description: K3 AM6254atl SiP
items:
- enum:
- ti,am6254atl-sk
- const: ti,am6254atl
- const: ti,am625
- description: K3 AM62x SoC Toradex Verdin Modules and Carrier Boards
items:
- enum:
@@ -106,6 +113,12 @@ properties:
- const: toradex,verdin-am62p # Verdin AM62P Module
- const: ti,am62p5
- description: K3 AM62P5 SoC Variscite SOM and Carrier Boards
items:
- const: variscite,var-som-am62p-symphony
- const: variscite,var-som-am62p
- const: ti,am62p5
- description: K3 AM642 SoC
items:
- enum:

View File

@@ -0,0 +1,42 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/arm/ti/ti,keystone.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: TI Keystone Platforms
maintainers:
- Nishanth Menon <nm@ti.com>
- Santosh Shilimkar <ssantosh@kernel.org>
properties:
compatible:
oneOf:
- description: K2G
items:
- enum:
- ti,k2g-evm
- ti,k2g-ice
- const: ti,k2g
- const: ti,keystone
- description: Keystone 2 Edison
items:
- enum:
- ti,k2e-evm
- const: ti,k2e
- const: ti,keystone
- description: Keystone 2 Lamarr
items:
- enum:
- ti,k2l-evm
- const: ti,k2l
- const: ti,keystone
- description: Keystone 2 Hawking/Kepler
items:
- enum:
- ti,k2hk-evm
- const: ti,k2hk
- const: ti,keystone
additionalProperties: true

View File

@@ -19,6 +19,7 @@ properties:
compatible:
enum:
- allwinner,sun55i-a523-ccu
- allwinner,sun55i-a523-mcu-ccu
- allwinner,sun55i-a523-r-ccu
reg:
@@ -26,11 +27,11 @@ properties:
clocks:
minItems: 4
maxItems: 5
maxItems: 9
clock-names:
minItems: 4
maxItems: 5
maxItems: 9
required:
- "#clock-cells"
@@ -63,6 +64,38 @@ allOf:
- const: iosc
- const: losc-fanout
- if:
properties:
compatible:
enum:
- allwinner,sun55i-a523-mcu-ccu
then:
properties:
clocks:
items:
- description: High Frequency Oscillator (usually at 24MHz)
- description: Low Frequency Oscillator (usually at 32kHz)
- description: Internal Oscillator
- description: Audio PLL (4x)
- description: Peripherals PLL 0 (300 MHz output)
- description: DSP module clock
- description: MBUS clock
- description: PRCM AHB clock
- description: PRCM APB0 clock
clock-names:
items:
- const: hosc
- const: losc
- const: iosc
- const: pll-audio0-4x
- const: pll-periph0-300m
- const: dsp
- const: mbus
- const: r-ahb
- const: r-apb0
- if:
properties:
compatible:

View File

@@ -0,0 +1,55 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/clock/qcom,ipq5424-apss-clk.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Qualcomm APSS IPQ5424 Clock Controller
maintainers:
- Varadarajan Narayanan <quic_varada@quicinc.com>
description:
The CPU core in ipq5424 is clocked by a huayra PLL with RCG support.
The RCG and PLL have a separate register space from the GCC.
properties:
compatible:
enum:
- qcom,ipq5424-apss-clk
reg:
maxItems: 1
clocks:
items:
- description: Reference to the XO clock.
- description: Reference to the GPLL0 clock.
'#clock-cells':
const: 1
'#interconnect-cells':
const: 1
required:
- compatible
- reg
- clocks
- '#clock-cells'
- '#interconnect-cells'
additionalProperties: false
examples:
- |
#include <dt-bindings/clock/qcom,ipq5424-gcc.h>
apss_clk: clock-controller@fa80000 {
compatible = "qcom,ipq5424-apss-clk";
reg = <0x0fa80000 0x20000>;
clocks = <&xo_board>,
<&gcc GPLL0>;
#clock-cells = <1>;
#interconnect-cells = <1>;
};

View File

@@ -70,9 +70,6 @@ properties:
ranges:
maxItems: 1
avdd-dsi-csi-supply:
description: DSI/CSI power supply. Must supply 1.2 V.
vip:
$ref: /schemas/display/tegra/nvidia,tegra20-vip.yaml

View File

@@ -37,6 +37,9 @@ properties:
- const: cile
- const: csi_tpg
avdd-dsi-csi-supply:
description: DSI/CSI power supply. Must supply 1.2 V.
power-domains:
maxItems: 1

View File

@@ -24,13 +24,19 @@ properties:
const: 0x80
protocol@81:
$ref: '/schemas/firmware/arm,scmi.yaml#/$defs/protocol-node'
unevaluatedProperties: false
type: object
allOf:
- $ref: '/schemas/firmware/arm,scmi.yaml#/$defs/protocol-node'
- $ref: /schemas/input/input.yaml#
additionalProperties: false
properties:
reg:
const: 0x81
linux,code:
default: 116 # KEY_POWER
protocol@82:
description:
SCMI CPU Protocol which allows an agent to start or stop a CPU. It is

View File

@@ -85,6 +85,12 @@ properties:
the previous generations, but have a different parent clock and hence
the timing parameters are configured differently.
const: nvidia,tegra256-i2c
- description:
Tegra264 has 17 generic I2C controllers, two of which are in the AON
(always-on) partition of the SoC. In addition to the features from
Tegra194, a SW mutex register is added to support use of the same I2C
instance across multiple firmwares.
const: nvidia,tegra264-i2c
reg:
maxItems: 1
@@ -192,6 +198,7 @@ allOf:
enum:
- nvidia,tegra194-i2c
- nvidia,tegra256-i2c
- nvidia,tegra264-i2c
then:
required:
- resets

View File

@@ -0,0 +1,74 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/memory-controllers/starfive,jh7110-dmc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: StarFive JH7110 DMC
maintainers:
- E Shattow <e@freeshell.de>
description:
JH7110 DDR external memory interface LPDDR4/DDR4/DDR3/LPDDR3 32-bit at
2133Mbps (up to 2800Mbps).
properties:
compatible:
items:
- const: starfive,jh7110-dmc
reg:
items:
- description: controller registers
- description: phy registers
clocks:
maxItems: 1
clock-names:
items:
- const: pll
resets:
items:
- description: axi
- description: osc
- description: apb
reset-names:
items:
- const: axi
- const: osc
- const: apb
required:
- compatible
- reg
- clocks
- clock-names
- resets
- reset-names
additionalProperties: false
examples:
- |
#include <dt-bindings/clock/starfive,jh7110-crg.h>
#include <dt-bindings/reset/starfive,jh7110-crg.h>
soc {
#address-cells = <2>;
#size-cells = <2>;
memory-controller@15700000 {
compatible = "starfive,jh7110-dmc";
reg = <0x0 0x15700000 0x0 0x10000>,
<0x0 0x13000000 0x0 0x10000>;
clocks = <&syscrg JH7110_PLLCLK_PLL1_OUT>;
clock-names = "pll";
resets = <&syscrg JH7110_SYSRST_DDR_AXI>,
<&syscrg JH7110_SYSRST_DDR_OSC>,
<&syscrg JH7110_SYSRST_DDR_APB>;
reset-names = "axi", "osc", "apb";
};
};

View File

@@ -61,7 +61,7 @@ properties:
description: Specifies that controller should use auto CMD12
allOf:
- $ref: mmc-controller.yaml#
- $ref: sdhci-common.yaml#
- if:
properties:
clock-names:

View File

@@ -50,6 +50,9 @@ properties:
- const: hclk
- const: cclk
resets:
maxItems: 1
bosch,mram-cfg:
description: |
Message RAM configuration data.

View File

@@ -669,6 +669,24 @@ properties:
https://mips.com/wp-content/uploads/2025/06/P8700_Programmers_Reference_Manual_Rev1.84_5-31-2025.pdf
# SiFive
- const: xsfcease
description:
SiFive CEASE Instruction Extensions Specification.
See more details in
https://www.sifive.com/document-file/freedom-u740-c000-manual
- const: xsfcflushdlone
description:
SiFive L1D Cache Flush Instruction Extensions Specification.
See more details in
https://www.sifive.com/document-file/freedom-u740-c000-manual
- const: xsfpgflushdlone
description:
SiFive PGFLUSH Instruction Extensions for the power management. The
CPU will flush the L1D and enter the cease state after executing
the instruction.
- const: xsfvqmaccdod
description:
SiFive Int8 Matrix Multiplication Extensions Specification.

View File

@@ -18,13 +18,26 @@ properties:
const: '/'
compatible:
oneOf:
- items:
- const: microchip,mpfs-icicle-prod-reference-rtl-v2507
- const: microchip,mpfs-icicle-kit-prod
- const: microchip,mpfs-icicle-kit
- const: microchip,mpfs-prod
- const: microchip,mpfs
- items:
- enum:
- microchip,mpfs-icicle-reference-rtlv2203
- microchip,mpfs-icicle-reference-rtlv2210
- microchip,mpfs-icicle-es-reference-rtl-v2507
- const: microchip,mpfs-icicle-kit
- const: microchip,mpfs
- items:
- const: microchip,mpfs-disco-kit-reference-rtl-v2507
- const: microchip,mpfs-disco-kit
- const: microchip,mpfs
- items:
- enum:
- aldec,tysom-m-mpfs250t-rev2

View File

@@ -22,6 +22,7 @@ properties:
- enum:
- bananapi,bpi-f3
- milkv,jupiter
- xunlong,orangepi-rv2
- const: spacemit,k1
additionalProperties: true

View File

@@ -28,6 +28,8 @@ properties:
- enum:
- deepcomputing,fml13v01
- milkv,mars
- milkv,marscm-emmc
- milkv,marscm-lite
- pine64,star64
- starfive,visionfive-2-v1.2a
- starfive,visionfive-2-v1.3b

View File

@@ -38,6 +38,7 @@ properties:
- const: simple-mfd
- items:
- enum:
- fsl,imx53-iomuxc-gpr
- fsl,imx8mm-iomuxc-gpr
- fsl,imx8mn-iomuxc-gpr
- fsl,imx8mp-iomuxc-gpr

View File

@@ -473,6 +473,12 @@ properties:
- const: renesas,r8a779mb
- const: renesas,r8a7795
- description: R-Car X5H (R8A78000)
items:
- enum:
- renesas,ironhide # Ironhide (RTP8A78000ASKB0F10S)
- const: renesas,r8a78000
- description: RZ/N1D (R9A06G032)
items:
- enum:

View File

@@ -31,6 +31,7 @@ properties:
- rockchip,rk3568-usb2phy-grf
- rockchip,rk3576-bigcore-grf
- rockchip,rk3576-cci-grf
- rockchip,rk3576-dcphy-grf
- rockchip,rk3576-gpu-grf
- rockchip,rk3576-hdptxphy-grf
- rockchip,rk3576-litcore-grf
@@ -47,6 +48,7 @@ properties:
- rockchip,rk3576-vop-grf
- rockchip,rk3588-bigcore0-grf
- rockchip,rk3588-bigcore1-grf
- rockchip,rk3588-csidphy-grf
- rockchip,rk3588-dcphy-grf
- rockchip,rk3588-hdptxphy-grf
- rockchip,rk3588-ioc
@@ -300,6 +302,7 @@ allOf:
compatible:
contains:
enum:
- rockchip,rk3576-dcphy-grf
- rockchip,rk3576-vo1-grf
- rockchip,rk3588-vo-grf
- rockchip,rk3588-vo0-grf

View File

@@ -116,6 +116,36 @@ properties:
- const: xlnx,zynqmp-zcu111
- const: xlnx,zynqmp
- description: Xilinx Kria SOMs K24
minItems: 3
items:
enum:
- xlnx,zynqmp-sm-k24-rev1
- xlnx,zynqmp-sm-k24-revB
- xlnx,zynqmp-sm-k24-revA
- xlnx,zynqmp-sm-k24
- xlnx,zynqmp
allOf:
- contains:
const: xlnx,zynqmp
- contains:
const: xlnx,zynqmp-sm-k24
- description: Xilinx Kria SOMs K24 (starter)
minItems: 3
items:
enum:
- xlnx,zynqmp-smk-k24-rev1
- xlnx,zynqmp-smk-k24-revB
- xlnx,zynqmp-smk-k24-revA
- xlnx,zynqmp-smk-k24
- xlnx,zynqmp
allOf:
- contains:
const: xlnx,zynqmp
- contains:
const: xlnx,zynqmp-smk-k24
- description: Xilinx Kria SOMs
minItems: 3
items:
@@ -148,6 +178,57 @@ properties:
- contains:
const: xlnx,zynqmp-smk-k26
- description: Xilinx Kria SOM KD240 revA/B/1
minItems: 3
items:
enum:
- xlnx,zynqmp-sk-kd240-rev1
- xlnx,zynqmp-sk-kd240-revB
- xlnx,zynqmp-sk-kd240-revA
- xlnx,zynqmp-sk-kd240
- xlnx,zynqmp
allOf:
- contains:
const: xlnx,zynqmp-sk-kd240-revA
- contains:
const: xlnx,zynqmp-sk-kd240
- contains:
const: xlnx,zynqmp
- description: Xilinx Kria SOM KR260 revA/Y/Z
minItems: 3
items:
enum:
- xlnx,zynqmp-sk-kr260-revA
- xlnx,zynqmp-sk-kr260-revY
- xlnx,zynqmp-sk-kr260-revZ
- xlnx,zynqmp-sk-kr260
- xlnx,zynqmp
allOf:
- contains:
const: xlnx,zynqmp-sk-kr260-revA
- contains:
const: xlnx,zynqmp-sk-kr260
- contains:
const: xlnx,zynqmp
- description: Xilinx Kria SOM KR260 rev2/1/B
minItems: 3
items:
enum:
- xlnx,zynqmp-sk-kr260-rev2
- xlnx,zynqmp-sk-kr260-rev1
- xlnx,zynqmp-sk-kr260-revB
- xlnx,zynqmp-sk-kr260
- xlnx,zynqmp
allOf:
- contains:
const: xlnx,zynqmp-sk-kr260-revB
- contains:
const: xlnx,zynqmp-sk-kr260
- contains:
const: xlnx,zynqmp
- description: Xilinx Kria SOM KV260 revA/Y/Z
minItems: 3
items:

View File

@@ -48,6 +48,8 @@ patternProperties:
description: Acme Systems srl
"^actions,.*":
description: Actions Semiconductor Co., Ltd.
"^actiontec,.*":
description: Actiontec Electronics, Inc
"^active-semi,.*":
description: Active-Semi International Inc
"^ad,.*":
@@ -566,6 +568,8 @@ patternProperties:
description: Foxconn Industrial Internet
"^firefly,.*":
description: Firefly
"^flipkart,.*":
description: Flipkart Inc.
"^focaltech,.*":
description: FocalTech Systems Co.,Ltd
"^forlinx,.*":
@@ -670,6 +674,8 @@ patternProperties:
description: HiDeep Inc.
"^himax,.*":
description: Himax Technologies, Inc.
"^hinlink,.*":
description: Shenzhen HINLINK Technology Co., Ltd.
"^hirschmann,.*":
description: Hirschmann Automation and Control GmbH
"^hisi,.*":
@@ -1209,6 +1215,8 @@ patternProperties:
description: Parade Technologies Inc.
"^parallax,.*":
description: Parallax Inc.
"^particle,.*":
description: Particle Industries, Inc.
"^pda,.*":
description: Precision Design Associates, Inc.
"^pegatron,.*":

View File

@@ -10,7 +10,7 @@ Overview
The SoC subsystem is a place of aggregation for SoC-specific code.
The main components of the subsystem are:
* devicetrees for 32- & 64-bit ARM and RISC-V
* devicetrees (DTS) for 32- & 64-bit ARM and RISC-V
* 32-bit ARM board files (arch/arm/mach*)
* 32- & 64-bit ARM defconfigs
* SoC-specific drivers across architectures, in particular for 32- & 64-bit
@@ -97,8 +97,8 @@ Perhaps one of the most important things to highlight is that dt-bindings
document the ABI between the devicetree and the kernel.
Please read Documentation/devicetree/bindings/ABI.rst.
If changes are being made to a devicetree that are incompatible with old
kernels, the devicetree patch should not be applied until the driver is, or an
If changes are being made to a DTS that are incompatible with old
kernels, the DTS patch should not be applied until the driver is, or an
appropriate time later. Most importantly, any incompatible changes should be
clearly pointed out in the patch description and pull request, along with the
expected impact on existing users, such as bootloaders or other operating

View File

@@ -3120,7 +3120,6 @@ ARM/QUALCOMM CHROMEBOOK SUPPORT
R: cros-qcom-dts-watchers@chromium.org
F: arch/arm64/boot/dts/qcom/sc7180*
F: arch/arm64/boot/dts/qcom/sc7280*
F: arch/arm64/boot/dts/qcom/sdm845-cheza*
ARM/QUALCOMM MAILING LIST
L: linux-arm-msm@vger.kernel.org
@@ -4118,6 +4117,18 @@ S: Maintained
F: Documentation/devicetree/bindings/sound/axentia,*
F: sound/soc/atmel/tse850-pcm5142.c
AXIS ARTPEC ARM64 SoC SUPPORT
M: Jesper Nilsson <jesper.nilsson@axis.com>
M: Lars Persson <lars.persson@axis.com>
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
L: linux-samsung-soc@vger.kernel.org
L: linux-arm-kernel@axis.com
S: Maintained
F: Documentation/devicetree/bindings/clock/axis,artpec*-clock.yaml
F: arch/arm64/boot/dts/exynos/axis/
F: drivers/clk/samsung/clk-artpec*.c
F: include/dt-bindings/clock/axis,artpec*-clk.h
AXI-FAN-CONTROL HARDWARE MONITOR DRIVER
M: Nuno Sá <nuno.sa@analog.com>
L: linux-hwmon@vger.kernel.org
@@ -21902,6 +21913,7 @@ M: Guo Ren <guoren@kernel.org>
M: Fu Wei <wefu@redhat.com>
L: linux-riscv@lists.infradead.org
S: Maintained
Q: https://patchwork.kernel.org/project/riscv-thead/list/
T: git https://github.com/pdp7/linux.git
F: Documentation/devicetree/bindings/clock/thead,th1520-clk-ap.yaml
F: Documentation/devicetree/bindings/firmware/thead,th1520-aon.yaml
@@ -26018,6 +26030,7 @@ M: Goran Rađenović <goran.radni@gmail.com>
M: Börge Strümpfel <boerge.struempfel@gmail.com>
S: Maintained
F: arch/arm/boot/dts/st/stm32mp157c-ultra-fly-sbc.dts
F: arch/arm64/boot/dts/freescale/imx8mp-ultra-mach-sbc.dts
UNICODE SUBSYSTEM
M: Gabriel Krisman Bertazi <krisman@kernel.org>

View File

@@ -182,6 +182,7 @@ dtb-$(CONFIG_MACH_SUN7I) += \
sun7i-a20-wits-pro-a20-dkt.dtb
# Enables support for device-tree overlays for all pis
DTC_FLAGS_sun8i-h2-plus-orangepi-zero := -@
DTC_FLAGS_sun8i-h3-orangepi-lite := -@
DTC_FLAGS_sun8i-h3-bananapi-m2-plus := -@
DTC_FLAGS_sun8i-h3-nanopi-m1-plus := -@
@@ -199,6 +200,7 @@ DTC_FLAGS_sun8i-h3-nanopi-r1 := -@
DTC_FLAGS_sun8i-h3-orangepi-pc := -@
DTC_FLAGS_sun8i-h3-bananapi-m2-plus-v1.2 := -@
DTC_FLAGS_sun8i-h3-orangepi-pc-plus := -@
DTC_FLAGS_sun8i-t113s-netcube-nagami-basic-carrier := -@
DTC_FLAGS_sun8i-v3s-netcube-kumquat := -@
dtb-$(CONFIG_MACH_SUN8I) += \
sun8i-a23-evb.dtb \
@@ -225,6 +227,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \
sun8i-h2-plus-libretech-all-h3-cc.dtb \
sun8i-h2-plus-orangepi-r1.dtb \
sun8i-h2-plus-orangepi-zero.dtb \
sun8i-h2-plus-orangepi-zero-interface-board.dtb \
sun8i-h3-bananapi-m2-plus.dtb \
sun8i-h3-bananapi-m2-plus-v1.2.dtb \
sun8i-h3-beelink-x2.dtb \
@@ -244,6 +247,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \
sun8i-h3-orangepi-plus.dtb \
sun8i-h3-orangepi-plus2e.dtb \
sun8i-h3-orangepi-zero-plus2.dtb \
sun8i-h3-orangepi-zero-plus2-interface-board.dtb \
sun8i-h3-rervision-dvk.dtb \
sun8i-h3-zeropi.dtb \
sun8i-h3-emlid-neutis-n5h3-devboard.dtb \
@@ -257,6 +261,8 @@ dtb-$(CONFIG_MACH_SUN8I) += \
sun8i-s3-lichee-zero-plus.dtb \
sun8i-s3-pinecube.dtb \
sun8i-t113s-mangopi-mq-r-t113.dtb \
sun8i-t113s-netcube-nagami-basic-carrier.dtb \
sun8i-t113s-netcube-nagami-keypad-carrier.dtb \
sun8i-t3-cqa3t-bv3.dtb \
sun8i-v3-sl631-imx179.dtb \
sun8i-v3s-anbernic-rg-nano.dtb \
@@ -264,6 +270,10 @@ dtb-$(CONFIG_MACH_SUN8I) += \
sun8i-v3s-licheepi-zero-dock.dtb \
sun8i-v3s-netcube-kumquat.dtb \
sun8i-v40-bananapi-m2-berry.dtb
sun8i-h2-plus-orangepi-zero-interface-board-dtbs += \
sun8i-h2-plus-orangepi-zero.dtb sun8i-orangepi-zero-interface-board.dtbo
sun8i-h3-orangepi-zero-plus2-interface-board-dtbs += \
sun8i-h3-orangepi-zero-plus2.dtb sun8i-orangepi-zero-interface-board.dtbo
dtb-$(CONFIG_MACH_SUN9I) += \
sun9i-a80-optimus.dtb \
sun9i-a80-cubieboard4.dtb

View File

@@ -112,6 +112,20 @@ wifi_pwrseq: pwrseq {
};
};
/*
* Audio input/output is exposed on the 13-pin header and can't be used for
* anything else. However, adapter boards may use different audio routing.
* - https://linux-sunxi.org/Xunlong_Orange_Pi_Zero#Expansion_Port
* - Allwinner H3 Datasheet, section 3.1. Pin Characteristics
*/
&codec {
allwinner,audio-routing =
"Line Out", "LINEOUT",
"MIC1", "Mic",
"Mic", "MBIAS";
status = "disabled";
};
&cpu0 {
cpu-supply = <&reg_vdd_cpux>;
};

View File

@@ -99,6 +99,20 @@ wifi_pwrseq: pwrseq {
};
};
/*
* Audio input/output is exposed on the 13-pin header and can't be used for
* anything else. However, adapter boards may use different audio routing.
* - http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-Zero-Plus-2.html
* - Allwinner H3 Datasheet, section 3.1. Pin Characteristics
*/
&codec {
allwinner,audio-routing =
"Line Out", "LINEOUT",
"MIC1", "Mic",
"Mic", "MBIAS";
status = "disabled";
};
&de {
status = "okay";
};

View File

@@ -0,0 +1,46 @@
// SPDX-License-Identifier: (GPL-2.0-or-later OR X11)
/*
* Copyright (C) 2025 J. Neuschäfer <j.ne@posteo.net>
*
* Devicetree overlay for the Orange Pi Zero Interface board (OP0014).
*
* https://orangepi.com/index.php?route=product/product&product_id=871
*
* This overlay applies to the following base files:
*
* - arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts
* - arch/arm/boot/dts/allwinner/sun8i-h3-orangepi-zero-plus2.dts
*/
/dts-v1/;
/plugin/;
&codec {
status = "okay";
};
&de {
status = "okay";
};
&ehci2 {
status = "okay";
};
&ehci3 {
status = "okay";
};
&ir {
pinctrl-names = "default";
pinctrl-0 = <&r_ir_rx_pin>;
status = "okay";
};
&ohci2 {
status = "okay";
};
&ohci3 {
status = "okay";
};

View File

@@ -0,0 +1,67 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (C) 2025 Lukas Schmid <lukas.schmid@netcube.li>
*/
/dts-v1/;
#include "sun8i-t113s-netcube-nagami.dtsi"
/ {
model = "NetCube Systems Nagami Basic Carrier Board";
compatible = "netcube,nagami-basic-carrier", "netcube,nagami",
"allwinner,sun8i-t113s";
};
&can0 {
status = "okay";
};
&can1 {
status = "okay";
};
&ehci0 {
status = "okay";
};
&ehci1 {
status = "okay";
};
&i2c2 {
status = "okay";
};
&i2s1 {
status = "okay";
};
&mmc0 {
vmmc-supply = <&reg_vcc3v3>;
broken-cd;
disable-wp;
bus-width = <4>;
status = "okay";
};
&ohci0 {
status = "okay";
};
&ohci1 {
status = "okay";
};
&spi1 {
status = "okay";
};
&usb_otg {
dr_mode = "otg";
status = "okay";
};
&usbphy {
usb0_id_det-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */
status = "okay";
};

View File

@@ -0,0 +1,129 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (C) 2025 Lukas Schmid <lukas.schmid@netcube.li>
*/
/dts-v1/;
#include "sun8i-t113s-netcube-nagami.dtsi"
#include <dt-bindings/input/input.h>
#include <dt-bindings/leds/common.h>
/ {
model = "NetCube Systems Nagami Keypad Carrier Board";
compatible = "netcube,nagami-keypad-carrier", "netcube,nagami",
"allwinner,sun8i-t113s";
leds {
compatible = "gpio-leds";
led_status_red: led-status-red {
gpios = <&pio 3 16 GPIO_ACTIVE_HIGH>; /* PD16 */
color = <LED_COLOR_ID_RED>;
function = LED_FUNCTION_STATUS;
};
led_status_green: led-status-green {
gpios = <&pio 3 22 GPIO_ACTIVE_HIGH>; /* PD22 */
color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_STATUS;
};
};
};
&i2c2 {
status = "okay";
tca8418: keypad@34 {
compatible = "ti,tca8418";
reg = <0x34>;
interrupts-extended = <&pio 5 6 IRQ_TYPE_EDGE_FALLING>; /* PF6 */
linux,keymap = <MATRIX_KEY(0x03, 0x00, KEY_NUMERIC_A)
MATRIX_KEY(0x03, 0x01, KEY_NUMERIC_1)
MATRIX_KEY(0x03, 0x02, KEY_NUMERIC_2)
MATRIX_KEY(0x03, 0x03, KEY_NUMERIC_3)
MATRIX_KEY(0x02, 0x00, KEY_NUMERIC_B)
MATRIX_KEY(0x02, 0x01, KEY_NUMERIC_4)
MATRIX_KEY(0x02, 0x02, KEY_NUMERIC_5)
MATRIX_KEY(0x02, 0x03, KEY_NUMERIC_6)
MATRIX_KEY(0x01, 0x00, KEY_NUMERIC_C)
MATRIX_KEY(0x01, 0x01, KEY_NUMERIC_7)
MATRIX_KEY(0x01, 0x02, KEY_NUMERIC_8)
MATRIX_KEY(0x01, 0x03, KEY_NUMERIC_9)
MATRIX_KEY(0x00, 0x00, KEY_NUMERIC_D)
MATRIX_KEY(0x00, 0x01, KEY_CLEAR)
MATRIX_KEY(0x00, 0x02, KEY_NUMERIC_0)
MATRIX_KEY(0x00, 0x03, KEY_OK)
>;
keypad,num-rows = <4>;
keypad,num-columns = <4>;
};
};
&pio {
gpio-line-names = "", "", "", "", // PA
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "", // PB
"", "", "UART3_TX", "UART3_RX",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "eMMC_CLK", "eMMC_CMD", // PC
"eMMC_D2", "eMMC_D1", "eMMC_D0", "eMMC_D3",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "", // PD
"", "", "", "",
"", "USB_SEC_EN", "", "",
"", "", "", "",
"LED_STATUS_RED", "", "", "",
"I2C2_SCL", "I2C2_SDA", "LED_STATUS_GREEN", "",
"", "", "", "",
"", "", "", "",
"ETH_CRSDV", "ETH_RXD0", "ETH_RXD1", "ETH_TXCK", // PE
"ETH_TXD0", "ETH_TXD1", "ETH_TXEN", "",
"ETH_MDC", "ETH_MDIO", "QWIIC_nINT", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "", // PF
"", "", "KEY_nINT", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"ESP_CLK", "ESP_CMD", "ESP_D0", "ESP_D1", // PG
"ESP_D2", "ESP_D3", "UART1_TXD", "UART1_RXD",
"ESP_nBOOT", "ESP_nRST", "I2C3_SCL", "I2C3_SDA",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "";
};
&usb_otg {
dr_mode = "peripheral";
status = "okay";
};
&usbphy {
status = "okay";
};

View File

@@ -0,0 +1,250 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (C) 2025 Lukas Schmid <lukas.schmid@netcube.li>
*/
/dts-v1/;
#include "sun8i-t113s.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>
/ {
model = "NetCube Systems Nagami SoM";
compatible = "netcube,nagami", "allwinner,sun8i-t113s";
aliases {
serial1 = &uart1; // ESP32 Bootloader UART
serial3 = &uart3; // Console UART on Card Edge
ethernet0 = &emac;
};
chosen {
stdout-path = "serial3:115200n8";
};
/* module wide 3.3V supply directly from the card edge */
reg_vcc3v3: regulator-3v3 {
compatible = "regulator-fixed";
regulator-name = "vcc-3v3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
/* SY8008 DC/DC regulator on the board, also supplying VDD-SYS */
reg_vcc_core: regulator-core {
compatible = "regulator-fixed";
regulator-name = "vcc-core";
regulator-min-microvolt = <880000>;
regulator-max-microvolt = <880000>;
vin-supply = <&reg_vcc3v3>;
};
/* USB0 MUX to switch connect to Card-Edge only after BootROM */
usb0_sec_mux: mux-controller{
compatible = "gpio-mux";
#mux-control-cells = <0>;
mux-gpios = <&pio 3 9 GPIO_ACTIVE_HIGH>; /* PD9 */
idle-state = <1>; /* USB connected to Card-Edge by default */
};
/* Reset of ESP32 */
wifi_pwrseq: wifi-pwrseq {
compatible = "mmc-pwrseq-simple";
reset-gpios = <&pio 6 9 GPIO_ACTIVE_LOW>; /* PG9 */
post-power-on-delay-ms = <1500>;
power-off-delay-us = <200>;
};
};
&cpu0 {
cpu-supply = <&reg_vcc_core>;
};
&cpu1 {
cpu-supply = <&reg_vcc_core>;
};
&dcxo {
clock-frequency = <24000000>;
};
&emac {
nvmem-cells = <&eth0_macaddress>;
nvmem-cell-names = "mac-address";
phy-handle = <&lan8720a>;
phy-mode = "rmii";
pinctrl-0 = <&rmii_pe_pins>;
pinctrl-names = "default";
status = "okay";
};
/* Default I2C Interface on Card-Edge */
&i2c2 {
pinctrl-0 = <&i2c2_pd_pins>;
pinctrl-names = "default";
status = "disabled";
};
/* Exposed as the QWIIC connector and used by the internal EEPROM */
&i2c3 {
pinctrl-0 = <&i2c3_pg_pins>;
pinctrl-names = "default";
status = "okay";
eeprom0: eeprom@50 {
compatible = "atmel,24c02"; /* actually it's a 24AA02E48 */
reg = <0x50>;
pagesize = <16>;
read-only;
vcc-supply = <&reg_vcc3v3>;
#address-cells = <1>;
#size-cells = <1>;
eth0_macaddress: macaddress@fa {
reg = <0xfa 0x06>;
};
};
};
/* Default I2S Interface on Card-Edge */
&i2s1 {
pinctrl-0 = <&i2s1_pins>, <&i2s1_din0_pin>, <&i2s1_dout0_pin>;
pinctrl-names = "default";
status = "disabled";
};
/* Phy is on SoM. MDI signals pre-magnetics are on the card edge */
&mdio {
lan8720a: ethernet-phy@0 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <0>;
};
};
/* Default SD Interface on Card-Edge */
&mmc0 {
pinctrl-0 = <&mmc0_pins>;
pinctrl-names = "default";
status = "disabled";
};
/* Connected to the on-board ESP32 */
&mmc1 {
pinctrl-0 = <&mmc1_pins>;
pinctrl-names = "default";
vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>;
non-removable;
mmc-pwrseq = <&wifi_pwrseq>;
status = "okay";
};
/* Connected to the on-board eMMC */
&mmc2 {
pinctrl-0 = <&mmc2_pins>;
pinctrl-names = "default";
vmmc-supply = <&reg_vcc3v3>;
vqmmc-supply = <&reg_vcc3v3>;
bus-width = <4>;
non-removable;
status = "okay";
};
&pio {
vcc-pb-supply = <&reg_vcc3v3>;
vcc-pc-supply = <&reg_vcc3v3>;
vcc-pd-supply = <&reg_vcc3v3>;
vcc-pe-supply = <&reg_vcc3v3>;
vcc-pf-supply = <&reg_vcc3v3>;
vcc-pg-supply = <&reg_vcc3v3>;
gpio-line-names = "", "", "", "", // PA
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "CAN0_TX", "CAN0_RX", // PB
"CAN1_TX", "CAN1_RX", "UART3_TX", "UART3_RX",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "eMMC_CLK", "eMMC_CMD", // PC
"eMMC_D2", "eMMC_D1", "eMMC_D0", "eMMC_D3",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "", // PD
"", "", "", "",
"", "USB_SEC_EN", "SPI1_CS", "SPI1_CLK",
"SPI1_MOSI", "SPI1_MISO", "SPI1_HOLD", "SPI1_WP",
"PD16", "", "", "",
"I2C2_SCL", "I2C2_SDA", "PD22", "",
"", "", "", "",
"", "", "", "",
"ETH_CRSDV", "ETH_RXD0", "ETH_RXD1", "ETH_TXCK", // PE
"ETH_TXD0", "ETH_TXD1", "ETH_TXEN", "",
"ETH_MDC", "ETH_MDIO", "QWIIC_nINT", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"SD_D1", "SD_D0", "SD_CLK", "SD_CLK", // PF
"SD_D3", "SD_D2", "PF6", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"ESP_CLK", "ESP_CMD", "ESP_D0", "ESP_D1", // PG
"ESP_D2", "ESP_D3", "UART1_TXD", "UART1_RXD",
"ESP_nBOOT", "ESP_nRST", "I2C3_SCL", "I2C3_SDA",
"I2S1_WS", "I2S1_CLK", "I2S1_DIN0", "I2S1_DOUT0",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "";
};
/* Remove the unused CK pin from the pinctl as it is unconnected */
&rmii_pe_pins {
pins = "PE0", "PE1", "PE2", "PE3", "PE4",
"PE5", "PE6", "PE8", "PE9";
};
/* Default SPI Interface on Card-Edge */
&spi1 {
#address-cells = <1>;
#size-cells = <0>;
pinctrl-0 = <&spi1_pins>, <&spi1_hold_pin>, <&spi1_wp_pin>;
pinctrl-names = "default";
cs-gpios = <0>;
status = "disabled";
};
/* Connected to the Bootloader/Console of the ESP32 */
&uart1 {
pinctrl-0 = <&uart1_pg6_pins>;
pinctrl-names = "default";
status = "okay";
};
/* Console/Debug UART on Card-Edge */
&uart3 {
pinctrl-0 = <&uart3_pb_pins>;
pinctrl-names = "default";
status = "okay";
};

View File

@@ -19,8 +19,11 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
aspeed-bmc-delta-ahe50dc.dtb \
aspeed-bmc-facebook-bletchley.dtb \
aspeed-bmc-facebook-catalina.dtb \
aspeed-bmc-facebook-clemente.dtb \
aspeed-bmc-facebook-cmm.dtb \
aspeed-bmc-facebook-darwin.dtb \
aspeed-bmc-facebook-elbert.dtb \
aspeed-bmc-facebook-fuji-data64.dtb \
aspeed-bmc-facebook-fuji.dtb \
aspeed-bmc-facebook-galaxy100.dtb \
aspeed-bmc-facebook-greatlakes.dtb \
@@ -31,6 +34,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
aspeed-bmc-facebook-tiogapass.dtb \
aspeed-bmc-facebook-wedge40.dtb \
aspeed-bmc-facebook-wedge100.dtb \
aspeed-bmc-facebook-wedge400-data64.dtb \
aspeed-bmc-facebook-wedge400.dtb \
aspeed-bmc-facebook-yamp.dtb \
aspeed-bmc-facebook-yosemitev2.dtb \

View File

@@ -243,7 +243,7 @@ temperature-sensor@49 {
compatible = "ti,tmp75";
reg = <0x49>;
};
temperature-sensor@4a{
temperature-sensor@4a {
compatible = "ti,tmp75";
reg = <0x4a>;
};

View File

@@ -171,7 +171,7 @@ eeprom@50 {
reg = <0x50>;
};
dps650ab@58 {
compatible = "dps650ab";
compatible = "delta,dps650ab";
reg = <0x58>;
};
};

View File

@@ -106,11 +106,15 @@ eeprom@57 {
compatible = "st,24c128", "atmel,24c128";
reg = <0x57>;
pagesize = <16>;
#address-cells = <1>;
#size-cells = <1>;
eth0_macaddress: macaddress@3f80 {
reg = <0x3f80 6>;
nvmem-layout {
compatible = "fixed-layout";
#address-cells = <1>;
#size-cells = <1>;
eth0_macaddress: macaddress@3f80 {
reg = <0x3f80 6>;
};
};
};
};

View File

@@ -191,11 +191,15 @@ eeprom@57 {
compatible = "st,24c128", "atmel,24c128";
reg = <0x57>;
pagesize = <16>;
#address-cells = <1>;
#size-cells = <1>;
eth0_macaddress: macaddress@3f80 {
reg = <0x3f80 6>;
nvmem-layout {
compatible = "fixed-layout";
#address-cells = <1>;
#size-cells = <1>;
eth0_macaddress: macaddress@3f80 {
reg = <0x3f80 6>;
};
};
};
};

View File

@@ -134,11 +134,15 @@ eeprom@50 {
compatible = "st,24c128", "atmel,24c128";
reg = <0x50>;
pagesize = <16>;
#address-cells = <1>;
#size-cells = <1>;
eth0_macaddress: macaddress@3f80 {
reg = <0x3f80 6>;
nvmem-layout {
compatible = "fixed-layout";
#address-cells = <1>;
#size-cells = <1>;
eth0_macaddress: macaddress@3f80 {
reg = <0x3f80 6>;
};
};
};
};

View File

@@ -232,15 +232,19 @@ eeprom@57 {
compatible = "st,24c128", "atmel,24c128";
reg = <0x57>;
pagesize = <16>;
#address-cells = <1>;
#size-cells = <1>;
eth0_macaddress: macaddress@3f80 {
reg = <0x3f80 6>;
};
nvmem-layout {
compatible = "fixed-layout";
#address-cells = <1>;
#size-cells = <1>;
eth1_macaddress: macaddress@3f88 {
reg = <0x3f88 6>;
eth0_macaddress: macaddress@3f80 {
reg = <0x3f80 6>;
};
eth1_macaddress: macaddress@3f88 {
reg = <0x3f88 6>;
};
};
};
};

View File

@@ -526,11 +526,11 @@ fan-3 {
tach-ch = /bits/ 8 <0x03>;
};
};
fanctl0: fan-controller@21{
fanctl0: fan-controller@21 {
compatible = "maxim,max31790";
reg = <0x21>;
};
fanctl1: fan-controller@27{
fanctl1: fan-controller@27 {
compatible = "maxim,max31790";
reg = <0x27>;
};

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,72 @@
// SPDX-License-Identifier: GPL-2.0+
// Copyright (c) 2021 Facebook Inc.
/dts-v1/;
#include "ast2600-facebook-netbmc-common.dtsi"
/ {
model = "Facebook Darwin BMC";
compatible = "facebook,darwin-bmc", "aspeed,ast2600";
aliases {
serial0 = &uart5;
serial1 = &uart1;
serial2 = &uart2;
serial3 = &uart3;
};
chosen {
stdout-path = &uart5;
};
iio-hwmon {
compatible = "iio-hwmon";
io-channels = <&adc0 0>, <&adc0 1>, <&adc0 2>, <&adc0 3>,
<&adc0 4>, <&adc0 5>, <&adc0 6>, <&adc0 7>,
<&adc1 0>, <&adc1 1>, <&adc1 2>, <&adc1 3>,
<&adc1 4>, <&adc1 5>, <&adc1 6>, <&adc1 7>;
};
spi_gpio: spi {
num-chipselects = <1>;
cs-gpios = <&gpio0 ASPEED_GPIO(X, 0) GPIO_ACTIVE_LOW>;
};
};
&i2c0 {
eeprom@50 {
compatible = "atmel,24c512";
reg = <0x50>;
};
};
&adc0 {
status = "okay";
pinctrl-0 = <&pinctrl_adc0_default &pinctrl_adc1_default
&pinctrl_adc2_default &pinctrl_adc3_default
&pinctrl_adc4_default &pinctrl_adc5_default
&pinctrl_adc6_default &pinctrl_adc7_default>;
};
&adc1 {
status = "okay";
pinctrl-0 = <&pinctrl_adc8_default &pinctrl_adc9_default
&pinctrl_adc10_default &pinctrl_adc11_default
&pinctrl_adc12_default &pinctrl_adc13_default
&pinctrl_adc14_default &pinctrl_adc15_default>;
};
&emmc_controller {
status = "okay";
};
&emmc {
status = "okay";
non-removable;
max-frequency = <25000000>;
bus-width = <4>;
};

View File

@@ -201,3 +201,15 @@ fixed-link {
full-duplex;
};
};
&emmc_controller {
status = "okay";
};
&emmc {
status = "okay";
non-removable;
max-frequency = <25000000>;
bus-width = <4>;
};

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -183,11 +183,9 @@ &kcs3 {
&i2c0 {
status = "okay";
pwm@5e{
compatible = "max31790";
pwm@5e {
compatible = "maxim,max31790";
reg = <0x5e>;
#address-cells = <1>;
#size-cells = <0>;
};
power-sensor@40 {
@@ -234,7 +232,7 @@ gpio@12 {
"","",
"","",
"","",
"","fcb1-activate",
"","fcb2-activate",
"","";
};
};
@@ -257,11 +255,9 @@ eeprom@50 {
&i2c2 {
status = "okay";
pwm@5e{
compatible = "max31790";
pwm@5e {
compatible = "maxim,max31790";
reg = <0x5e>;
#address-cells = <1>;
#size-cells = <0>;
};
power-sensor@40 {
@@ -308,7 +304,7 @@ gpio@12 {
"","",
"","",
"","",
"","fcb0-activate",
"","fcb1-activate",
"","";
};
};
@@ -373,6 +369,12 @@ power-monitor@40 {
compatible = "infineon,xdp710";
reg = <0x40>;
};
power-sensor@45 {
compatible = "ti,ina238";
reg = <0x45>;
shunt-resistor = <500>;
};
};
&i2c5 {
@@ -514,6 +516,10 @@ imux28: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
power-sensor@20 {
compatible = "mps,mp5990";
reg = <0x20>;
};
power-monitor@61 {
compatible = "isil,isl69260";
reg = <0x61>;
@@ -692,14 +698,14 @@ &sgpiom0 {
"","",
/*A4-A7 line 8-15*/
"","power-config-asic-module-enable",
"","power-config-asic-power-good",
"","power-config-pdb-power-good",
"power-p3v3-standby","power-config-asic-power-good",
"power-p1v8-good","power-config-pdb-power-good",
"presence-cpu","smi-control-n",
/*B0-B3 line 16-23*/
"","nmi-control-n",
"","nmi-control-sync-flood-n",
"","",
"power-pvdd33-s5","nmi-control-sync-flood-n",
"","",
"power-pvdd18-s5","",
/*B4-B7 line 24-31*/
"","FM_CPU_SP5R1",
"reset-cause-rsmrst","FM_CPU_SP5R2",
@@ -743,7 +749,7 @@ &sgpiom0 {
/*F4-F7 line 88-95*/
"presence-asic-modules-0","rt-cpu0-p1-force-enable",
"presence-asic-modules-1","bios-debug-msg-disable",
"","uart-control-buffer-select",
"power-asic-good","uart-control-buffer-select",
"presence-cmm","ac-control-n",
/*G0-G3 line 96-103*/
"FM_CPU_CORETYPE2","",
@@ -795,7 +801,7 @@ &sgpiom0 {
"asic0-card-type-detection2-n","",
"uart-switch-lsb","",
"uart-switch-msb","",
"","",
"power-12v-memory-good","",
/*M4-M7 line 200-207*/
"","","","","","","","",
/*N0-N3 line 208-215*/
@@ -803,7 +809,10 @@ &sgpiom0 {
/*N4-N7 line 216-223*/
"","","","","","","","",
/*O0-O3 line 224-231*/
"","","","","","","","",
"","",
"irq-pvddcore0-ocp-alert","",
"irq-pvddcore1-ocp-alert","",
"","",
/*O4-O7 line 232-239*/
"","","","","","","","",
/*P0-P3 line 240-247*/

View File

@@ -312,11 +312,9 @@ eeprom@50 {
reg = <0x50>;
};
pwm@5e{
compatible = "max31790";
pwm@5e {
compatible = "maxim,max31790";
reg = <0x5e>;
#address-cells = <1>;
#size-cells = <0>;
};
power-sensor@40 {
@@ -435,11 +433,9 @@ eeprom@50 {
reg = <0x50>;
};
pwm@5e{
compatible = "max31790";
pwm@5e {
compatible = "maxim,max31790";
reg = <0x5e>;
#address-cells = <1>;
#size-cells = <0>;
};
power-sensor@40 {
@@ -558,11 +554,9 @@ eeprom@50 {
reg = <0x50>;
};
pwm@5e{
compatible = "max31790";
pwm@5e {
compatible = "maxim,max31790";
reg = <0x5e>;
#address-cells = <1>;
#size-cells = <0>;
};
power-sensor@40 {
@@ -681,11 +675,9 @@ eeprom@50 {
reg = <0x50>;
};
pwm@5e{
compatible = "max31790";
pwm@5e {
compatible = "maxim,max31790";
reg = <0x5e>;
#address-cells = <1>;
#size-cells = <0>;
};
power-sensor@40 {
@@ -804,11 +796,9 @@ eeprom@50 {
reg = <0x50>;
};
pwm@5e{
compatible = "max31790";
pwm@5e {
compatible = "maxim,max31790";
reg = <0x5e>;
#address-cells = <1>;
#size-cells = <0>;
};
power-sensor@40 {
@@ -926,11 +916,9 @@ eeprom@50 {
reg = <0x50>;
};
pwm@5e{
compatible = "max31790";
pwm@5e {
compatible = "maxim,max31790";
reg = <0x5e>;
#address-cells = <1>;
#size-cells = <0>;
};
power-sensor@40 {

View File

@@ -233,7 +233,7 @@ gpio@20 {
"FM_NIC_PPS_IN_S0_R","FM_NIC_PPS_IN_S1_R";
};
fan-controller@21{
fan-controller@21 {
compatible = "maxim,max31790";
reg = <0x21>;
};

View File

@@ -508,7 +508,7 @@ &i2c7 {
status = "okay";
//HSC, AirMax Conn A
adm1278@45 {
compatible = "adm1275";
compatible = "adi,adm1275";
reg = <0x45>;
shunt-resistor-micro-ohms = <250>;
};

View File

@@ -0,0 +1,375 @@
// SPDX-License-Identifier: GPL-2.0+
// Copyright (c) 2019 Facebook Inc.
/dts-v1/;
#include <dt-bindings/gpio/aspeed-gpio.h>
#include "ast2500-facebook-netbmc-common.dtsi"
/ {
model = "Facebook Wedge 400 BMC (64MB Datastore)";
compatible = "facebook,wedge400-data64-bmc", "aspeed,ast2500";
aliases {
/*
* PCA9548 (2-0070) provides 8 channels connecting to
* SCM (System Controller Module).
*/
i2c16 = &imux16;
i2c17 = &imux17;
i2c18 = &imux18;
i2c19 = &imux19;
i2c20 = &imux20;
i2c21 = &imux21;
i2c22 = &imux22;
i2c23 = &imux23;
/*
* PCA9548 (8-0070) provides 8 channels connecting to
* SMB (Switch Main Board).
*/
i2c24 = &imux24;
i2c25 = &imux25;
i2c26 = &imux26;
i2c27 = &imux27;
i2c28 = &imux28;
i2c29 = &imux29;
i2c30 = &imux30;
i2c31 = &imux31;
/*
* PCA9548 (11-0076) provides 8 channels connecting to
* FCM (Fan Controller Module).
*/
i2c32 = &imux32;
i2c33 = &imux33;
i2c34 = &imux34;
i2c35 = &imux35;
i2c36 = &imux36;
i2c37 = &imux37;
i2c38 = &imux38;
i2c39 = &imux39;
spi2 = &spi_gpio;
};
chosen {
stdout-path = &uart1;
};
ast-adc-hwmon {
compatible = "iio-hwmon";
io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>, <&adc 4>,
<&adc 5>, <&adc 6>, <&adc 7>, <&adc 8>;
};
/*
* GPIO-based SPI Master is required to access SPI TPM, because
* full-duplex SPI transactions are not supported by ASPEED SPI
* Controllers.
*/
spi_gpio: spi {
status = "okay";
compatible = "spi-gpio";
#address-cells = <1>;
#size-cells = <0>;
cs-gpios = <&gpio ASPEED_GPIO(R, 2) GPIO_ACTIVE_LOW>;
sck-gpios = <&gpio ASPEED_GPIO(R, 3) GPIO_ACTIVE_HIGH>;
mosi-gpios = <&gpio ASPEED_GPIO(R, 4) GPIO_ACTIVE_HIGH>;
miso-gpios = <&gpio ASPEED_GPIO(R, 5) GPIO_ACTIVE_HIGH>;
num-chipselects = <1>;
tpm@0 {
compatible = "infineon,slb9670", "tcg,tpm_tis-spi";
spi-max-frequency = <33000000>;
reg = <0>;
};
};
};
/*
* Both firmware flashes are 128MB on Wedge400 BMC.
*/
&fmc_flash0 {
#include "facebook-bmc-flash-layout-128-data64.dtsi"
};
&fmc_flash1 {
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
flash1@0 {
reg = <0x0 0x8000000>;
label = "flash1";
};
};
};
&uart2 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_txd2_default
&pinctrl_rxd2_default>;
};
&uart4 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_txd4_default
&pinctrl_rxd4_default>;
};
/*
* I2C bus #0 is multi-master environment dedicated for BMC and Bridge IC
* communication.
*/
&i2c0 {
status = "okay";
multi-master;
bus-frequency = <1000000>;
};
&i2c1 {
status = "okay";
};
&i2c2 {
status = "okay";
i2c-mux@70 {
compatible = "nxp,pca9548";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x70>;
i2c-mux-idle-disconnect;
imux16: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
};
imux17: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
};
imux18: i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
};
imux19: i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
};
imux20: i2c@4 {
#address-cells = <1>;
#size-cells = <0>;
reg = <4>;
};
imux21: i2c@5 {
#address-cells = <1>;
#size-cells = <0>;
reg = <5>;
};
imux22: i2c@6 {
#address-cells = <1>;
#size-cells = <0>;
reg = <6>;
};
imux23: i2c@7 {
#address-cells = <1>;
#size-cells = <0>;
reg = <7>;
};
};
};
&i2c3 {
status = "okay";
};
&i2c4 {
status = "okay";
};
&i2c5 {
status = "okay";
};
&i2c6 {
status = "okay";
};
&i2c7 {
status = "okay";
};
&i2c8 {
status = "okay";
i2c-mux@70 {
compatible = "nxp,pca9548";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x70>;
i2c-mux-idle-disconnect;
imux24: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
};
imux25: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
};
imux26: i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
};
imux27: i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
};
imux28: i2c@4 {
#address-cells = <1>;
#size-cells = <0>;
reg = <4>;
};
imux29: i2c@5 {
#address-cells = <1>;
#size-cells = <0>;
reg = <5>;
};
imux30: i2c@6 {
#address-cells = <1>;
#size-cells = <0>;
reg = <6>;
};
imux31: i2c@7 {
#address-cells = <1>;
#size-cells = <0>;
reg = <7>;
};
};
};
&i2c9 {
status = "okay";
};
&i2c10 {
status = "okay";
};
&i2c11 {
status = "okay";
i2c-mux@76 {
compatible = "nxp,pca9548";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x76>;
i2c-mux-idle-disconnect;
imux32: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
};
imux33: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
};
imux34: i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
};
imux35: i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
};
imux36: i2c@4 {
#address-cells = <1>;
#size-cells = <0>;
reg = <4>;
};
imux37: i2c@5 {
#address-cells = <1>;
#size-cells = <0>;
reg = <5>;
};
imux38: i2c@6 {
#address-cells = <1>;
#size-cells = <0>;
reg = <6>;
};
imux39: i2c@7 {
#address-cells = <1>;
#size-cells = <0>;
reg = <7>;
};
};
};
&i2c12 {
status = "okay";
};
&i2c13 {
status = "okay";
};
&adc {
status = "okay";
};
&ehci1 {
status = "okay";
};
&uhci {
status = "okay";
};
&sdhci1 {
max-frequency = <25000000>;
/*
* DMA mode needs to be disabled to avoid conflicts with UHCI
* Controller in AST2500 SoC.
*/
sdhci-caps-mask = <0x0 0x580000>;
};

View File

@@ -1,376 +1,14 @@
// SPDX-License-Identifier: GPL-2.0+
// Copyright (c) 2019 Facebook Inc.
/dts-v1/;
#include <dt-bindings/gpio/aspeed-gpio.h>
#include "ast2500-facebook-netbmc-common.dtsi"
#include "aspeed-bmc-facebook-wedge400-data64.dts"
/ {
model = "Facebook Wedge 400 BMC";
compatible = "facebook,wedge400-bmc", "aspeed,ast2500";
aliases {
/*
* PCA9548 (2-0070) provides 8 channels connecting to
* SCM (System Controller Module).
*/
i2c16 = &imux16;
i2c17 = &imux17;
i2c18 = &imux18;
i2c19 = &imux19;
i2c20 = &imux20;
i2c21 = &imux21;
i2c22 = &imux22;
i2c23 = &imux23;
/*
* PCA9548 (8-0070) provides 8 channels connecting to
* SMB (Switch Main Board).
*/
i2c24 = &imux24;
i2c25 = &imux25;
i2c26 = &imux26;
i2c27 = &imux27;
i2c28 = &imux28;
i2c29 = &imux29;
i2c30 = &imux30;
i2c31 = &imux31;
/*
* PCA9548 (11-0076) provides 8 channels connecting to
* FCM (Fan Controller Module).
*/
i2c32 = &imux32;
i2c33 = &imux33;
i2c34 = &imux34;
i2c35 = &imux35;
i2c36 = &imux36;
i2c37 = &imux37;
i2c38 = &imux38;
i2c39 = &imux39;
spi2 = &spi_gpio;
};
chosen {
stdout-path = &uart1;
bootargs = "console=ttyS0,9600n8 root=/dev/ram rw";
};
ast-adc-hwmon {
compatible = "iio-hwmon";
io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>, <&adc 4>,
<&adc 5>, <&adc 6>, <&adc 7>, <&adc 8>;
};
/*
* GPIO-based SPI Master is required to access SPI TPM, because
* full-duplex SPI transactions are not supported by ASPEED SPI
* Controllers.
*/
spi_gpio: spi {
status = "okay";
compatible = "spi-gpio";
#address-cells = <1>;
#size-cells = <0>;
cs-gpios = <&gpio ASPEED_GPIO(R, 2) GPIO_ACTIVE_LOW>;
gpio-sck = <&gpio ASPEED_GPIO(R, 3) GPIO_ACTIVE_HIGH>;
gpio-mosi = <&gpio ASPEED_GPIO(R, 4) GPIO_ACTIVE_HIGH>;
gpio-miso = <&gpio ASPEED_GPIO(R, 5) GPIO_ACTIVE_HIGH>;
num-chipselects = <1>;
tpm@0 {
compatible = "infineon,slb9670", "tcg,tpm_tis-spi";
spi-max-frequency = <33000000>;
reg = <0>;
};
};
};
/*
* Both firmware flashes are 128MB on Wedge400 BMC.
*/
&fmc_flash0 {
/delete-node/partitions;
#include "facebook-bmc-flash-layout-128.dtsi"
};
&fmc_flash1 {
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
flash1@0 {
reg = <0x0 0x8000000>;
label = "flash1";
};
};
};
&uart2 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_txd2_default
&pinctrl_rxd2_default>;
};
&uart4 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_txd4_default
&pinctrl_rxd4_default>;
};
/*
* I2C bus #0 is multi-master environment dedicated for BMC and Bridge IC
* communication.
*/
&i2c0 {
status = "okay";
multi-master;
bus-frequency = <1000000>;
};
&i2c1 {
status = "okay";
};
&i2c2 {
status = "okay";
i2c-mux@70 {
compatible = "nxp,pca9548";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x70>;
i2c-mux-idle-disconnect;
imux16: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
};
imux17: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
};
imux18: i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
};
imux19: i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
};
imux20: i2c@4 {
#address-cells = <1>;
#size-cells = <0>;
reg = <4>;
};
imux21: i2c@5 {
#address-cells = <1>;
#size-cells = <0>;
reg = <5>;
};
imux22: i2c@6 {
#address-cells = <1>;
#size-cells = <0>;
reg = <6>;
};
imux23: i2c@7 {
#address-cells = <1>;
#size-cells = <0>;
reg = <7>;
};
};
};
&i2c3 {
status = "okay";
};
&i2c4 {
status = "okay";
};
&i2c5 {
status = "okay";
};
&i2c6 {
status = "okay";
};
&i2c7 {
status = "okay";
};
&i2c8 {
status = "okay";
i2c-mux@70 {
compatible = "nxp,pca9548";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x70>;
i2c-mux-idle-disconnect;
imux24: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
};
imux25: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
};
imux26: i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
};
imux27: i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
};
imux28: i2c@4 {
#address-cells = <1>;
#size-cells = <0>;
reg = <4>;
};
imux29: i2c@5 {
#address-cells = <1>;
#size-cells = <0>;
reg = <5>;
};
imux30: i2c@6 {
#address-cells = <1>;
#size-cells = <0>;
reg = <6>;
};
imux31: i2c@7 {
#address-cells = <1>;
#size-cells = <0>;
reg = <7>;
};
};
};
&i2c9 {
status = "okay";
};
&i2c10 {
status = "okay";
};
&i2c11 {
status = "okay";
i2c-mux@76 {
compatible = "nxp,pca9548";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x76>;
i2c-mux-idle-disconnect;
imux32: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
};
imux33: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
};
imux34: i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
};
imux35: i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
};
imux36: i2c@4 {
#address-cells = <1>;
#size-cells = <0>;
reg = <4>;
};
imux37: i2c@5 {
#address-cells = <1>;
#size-cells = <0>;
reg = <5>;
};
imux38: i2c@6 {
#address-cells = <1>;
#size-cells = <0>;
reg = <6>;
};
imux39: i2c@7 {
#address-cells = <1>;
#size-cells = <0>;
reg = <7>;
};
};
};
&i2c12 {
status = "okay";
};
&i2c13 {
status = "okay";
};
&adc {
status = "okay";
};
&ehci1 {
status = "okay";
};
&uhci {
status = "okay";
};
&sdhci1 {
max-frequency = <25000000>;
/*
* DMA mode needs to be disabled to avoid conflicts with UHCI
* Controller in AST2500 SoC.
*/
sdhci-caps-mask = <0x0 0x580000>;
};

View File

@@ -1186,19 +1186,19 @@ adc@1f {
ti,mode = /bits/ 8 <1>;
};
pwm@20{
pwm@20 {
compatible = "maxim,max31790";
reg = <0x20>;
};
gpio@22{
gpio@22 {
compatible = "ti,tca6424";
reg = <0x22>;
gpio-controller;
#gpio-cells = <2>;
};
pwm@2f{
pwm@2f {
compatible = "maxim,max31790";
reg = <0x2f>;
};
@@ -1234,19 +1234,19 @@ adc@1f {
ti,mode = /bits/ 8 <1>;
};
pwm@20{
pwm@20 {
compatible = "maxim,max31790";
reg = <0x20>;
};
gpio@22{
gpio@22 {
compatible = "ti,tca6424";
reg = <0x22>;
gpio-controller;
#gpio-cells = <2>;
};
pwm@2f{
pwm@2f {
compatible = "maxim,max31790";
reg = <0x2f>;
};

View File

@@ -2808,6 +2808,7 @@ fsi2spi@1c00 {
#size-cells = <0>;
cfam4_spi0: spi@0 {
compatible = "ibm,spi-fsi";
reg = <0x0>;
#address-cells = <1>;
#size-cells = <0>;
@@ -2824,6 +2825,7 @@ eeprom@0 {
};
cfam4_spi1: spi@20 {
compatible = "ibm,spi-fsi";
reg = <0x20>;
#address-cells = <1>;
#size-cells = <0>;
@@ -2840,8 +2842,8 @@ eeprom@0 {
};
cfam4_spi2: spi@40 {
compatible = "ibm,spi-fsi";
reg = <0x40>;
compatible = "ibm,fsi2spi";
#address-cells = <1>;
#size-cells = <0>;
@@ -2857,8 +2859,8 @@ eeprom@0 {
};
cfam4_spi3: spi@60 {
compatible = "ibm,spi-fsi";
reg = <0x60>;
compatible = "ibm,fsi2spi";
#address-cells = <1>;
#size-cells = <0>;
@@ -3181,6 +3183,7 @@ fsi2spi@1c00 {
#size-cells = <0>;
cfam5_spi0: spi@0 {
compatible = "ibm,spi-fsi";
reg = <0x0>;
#address-cells = <1>;
#size-cells = <0>;
@@ -3197,6 +3200,7 @@ eeprom@0 {
};
cfam5_spi1: spi@20 {
compatible = "ibm,spi-fsi";
reg = <0x20>;
#address-cells = <1>;
#size-cells = <0>;
@@ -3213,8 +3217,8 @@ eeprom@0 {
};
cfam5_spi2: spi@40 {
compatible = "ibm,spi-fsi";
reg = <0x40>;
compatible = "ibm,fsi2spi";
#address-cells = <1>;
#size-cells = <0>;
@@ -3230,8 +3234,8 @@ eeprom@0 {
};
cfam5_spi3: spi@60 {
compatible = "ibm,spi-fsi";
reg = <0x60>;
compatible = "ibm,fsi2spi";
#address-cells = <1>;
#size-cells = <0>;
@@ -3554,6 +3558,7 @@ fsi2spi@1c00 {
#size-cells = <0>;
cfam6_spi0: spi@0 {
compatible = "ibm,spi-fsi";
reg = <0x0>;
#address-cells = <1>;
#size-cells = <0>;
@@ -3570,6 +3575,7 @@ eeprom@0 {
};
cfam6_spi1: spi@20 {
compatible = "ibm,spi-fsi";
reg = <0x20>;
#address-cells = <1>;
#size-cells = <0>;
@@ -3586,8 +3592,8 @@ eeprom@0 {
};
cfam6_spi2: spi@40 {
compatible = "ibm,spi-fsi";
reg = <0x40>;
compatible = "ibm,fsi2spi";
#address-cells = <1>;
#size-cells = <0>;
@@ -3603,8 +3609,8 @@ eeprom@0 {
};
cfam6_spi3: spi@60 {
compatible = "ibm,spi-fsi";
reg = <0x60>;
compatible = "ibm,fsi2spi";
#address-cells = <1>;
#size-cells = <0>;
@@ -3927,6 +3933,7 @@ fsi2spi@1c00 {
#size-cells = <0>;
cfam7_spi0: spi@0 {
compatible = "ibm,spi-fsi";
reg = <0x0>;
#address-cells = <1>;
#size-cells = <0>;
@@ -3943,6 +3950,7 @@ eeprom@0 {
};
cfam7_spi1: spi@20 {
compatible = "ibm,spi-fsi";
reg = <0x20>;
#address-cells = <1>;
#size-cells = <0>;
@@ -3959,8 +3967,8 @@ eeprom@0 {
};
cfam7_spi2: spi@40 {
compatible = "ibm,spi-fsi";
reg = <0x40>;
compatible = "ibm,fsi2spi";
#address-cells = <1>;
#size-cells = <0>;
@@ -3976,8 +3984,8 @@ eeprom@0 {
};
cfam7_spi3: spi@60 {
compatible = "ibm,spi-fsi";
reg = <0x60>;
compatible = "ibm,fsi2spi";
#address-cells = <1>;
#size-cells = <0>;

View File

@@ -263,7 +263,7 @@ eeprom@51 {
reg = <0x51>;
};
tca_pres1: tca9554@20{
tca_pres1: tca9554@20 {
compatible = "ti,tca9554";
reg = <0x20>;
#address-cells = <1>;

View File

@@ -3778,10 +3778,10 @@ smb_svc_pex_rssd01_16: pinctrl@20 {
pinctrl-0 = <&U65200_pins>;
pinctrl-names = "default";
U65200_pins: cfg-pins {
pins = "gp60", "gp61", "gp62",
"gp63", "gp64", "gp65", "gp66",
"gp67", "gp70", "gp71", "gp72",
"gp73", "gp74", "gp75", "gp76", "gp77";
pins = "gp60", "gp61", "gp62", "gp63", "gp64",
"gp65", "gp66", "gp67", "gp70", "gp71",
"gp72", "gp73", "gp74", "gp75", "gp76",
"gp77";
function = "gpio";
input-enable;
bias-pull-up;

View File

@@ -54,10 +54,9 @@ video_engine_memory: jpegbuffer {
};
fsi: gpio-fsi {
compatible = "aspeed,ast2500-cf-fsi-master", "fsi-master";
compatible = "aspeed,ast2500-cf-fsi-master";
#address-cells = <2>;
#size-cells = <0>;
no-gpio-delays;
memory-region = <&coldfire_memory>;
aspeed,sram = <&sram>;

View File

@@ -151,7 +151,7 @@ &mac1 {
pinctrl-0 = <&pinctrl_rgmii2_default &pinctrl_mdio2_default>;
};
&adc{
&adc {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_adc0_default
@@ -211,7 +211,7 @@ &i2c1 {
status = "okay";
bus-frequency = <90000>;
HotSwap@10 {
compatible = "adm1272";
compatible = "adi,adm1272";
reg = <0x10>;
};

View File

@@ -126,6 +126,17 @@ button-uid {
gpio = <&sgpiom0 154 GPIO_ACTIVE_LOW>;
};
};
standby_power_regulator: standby-power-regulator {
status = "okay";
compatible = "regulator-fixed";
regulator-name = "standby_power";
gpio = <&gpio0 ASPEED_GPIO(M, 3) GPIO_ACTIVE_HIGH>;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
enable-active-high;
regulator-always-on;
};
};
// Enable Primary flash on FMC for bring up activity
@@ -216,6 +227,30 @@ &uart_routing {
status = "okay";
};
&mdio0 {
status = "okay";
ethphy0: ethernet-phy@0 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <0>;
};
};
&mdio3 {
status = "okay";
ethphy3: ethernet-phy@2 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <2>;
};
};
&mac0 {
status = "okay";
pinctrl-names = "default";
phy-mode = "rgmii-id";
phy-handle = <&ethphy3>;
pinctrl-0 = <&pinctrl_rgmii1_default>;
};
&mac2 {
status = "okay";
phy-mode = "rmii";
@@ -247,7 +282,7 @@ &uhci {
};
&sgpiom0 {
status="okay";
status = "okay";
ngpios = <128>;
gpio-line-names =
"","",
@@ -411,7 +446,7 @@ &i2c2 {
// I2C4
&i2c3 {
status = "disabled";
status = "okay";
};
// I2C5
@@ -431,6 +466,7 @@ exp4: gpio@21 {
#interrupt-cells = <2>;
interrupt-parent = <&gpio1>;
interrupts = <ASPEED_GPIO(B, 6) IRQ_TYPE_LEVEL_LOW>;
vcc-supply = <&standby_power_regulator>;
gpio-line-names =
"RTC_MUX_SEL-O",
"PCI_MUX_SEL-O",
@@ -464,6 +500,7 @@ i2c-mux@71 {
#size-cells = <0>;
reg = <0x71>;
i2c-mux-idle-disconnect;
vdd-supply = <&standby_power_regulator>;
imux16: i2c@0 {
#address-cells = <1>;
@@ -528,6 +565,7 @@ i2c-mux@72 {
#size-cells = <0>;
reg = <0x72>;
i2c-mux-idle-disconnect;
vdd-supply = <&standby_power_regulator>;
imux20: i2c@0 {
#address-cells = <1>;
@@ -545,6 +583,7 @@ gpio@21 {
reg = <0x21>;
gpio-controller;
#gpio-cells = <2>;
vcc-supply = <&standby_power_regulator>;
gpio-line-names =
"RST_CX_0_L-O",
"RST_CX_1_L-O",
@@ -584,6 +623,7 @@ i2c-mux@73 {
#size-cells = <0>;
reg = <0x73>;
i2c-mux-idle-disconnect;
vdd-supply = <&standby_power_regulator>;
imux24: i2c@0 {
#address-cells = <1>;
@@ -602,6 +642,7 @@ i2c-mux@70 {
#size-cells = <0>;
reg = <0x70>;
i2c-mux-idle-disconnect;
vdd-supply = <&standby_power_regulator>;
i2c25mux0: i2c@0 {
#address-cells = <1>;
@@ -648,6 +689,7 @@ i2c-mux@75 {
#size-cells = <0>;
reg = <0x75>;
i2c-mux-idle-disconnect;
vdd-supply = <&standby_power_regulator>;
imux28: i2c@0 {
#address-cells = <1>;
@@ -712,6 +754,7 @@ i2c-mux@76 {
#size-cells = <0>;
reg = <0x76>;
i2c-mux-idle-disconnect;
vdd-supply = <&standby_power_regulator>;
imux32: i2c@0 {
#address-cells = <1>;
@@ -729,6 +772,7 @@ gpio@21 {
reg = <0x21>;
gpio-controller;
#gpio-cells = <2>;
vcc-supply = <&standby_power_regulator>;
gpio-line-names =
"SEC_RST_CX_0_L-O",
"SEC_RST_CX_1_L-O",
@@ -768,6 +812,7 @@ i2c-mux@77 {
#size-cells = <0>;
reg = <0x77>;
i2c-mux-idle-disconnect;
vdd-supply = <&standby_power_regulator>;
imux36: i2c@0 {
#address-cells = <1>;
@@ -862,6 +907,7 @@ exp0: gpio@20 {
#interrupt-cells = <2>;
interrupt-parent = <&gpio1>;
interrupts = <ASPEED_GPIO(B, 6) IRQ_TYPE_LEVEL_LOW>;
vcc-supply = <&standby_power_regulator>;
gpio-line-names =
"FPGA_THERM_OVERT_L-I",
"FPGA_READY_BMC-I",
@@ -891,6 +937,7 @@ exp1: gpio@21 {
#interrupt-cells = <2>;
interrupt-parent = <&gpio1>;
interrupts = <ASPEED_GPIO(B, 6) IRQ_TYPE_LEVEL_LOW>;
vcc-supply = <&standby_power_regulator>;
gpio-line-names =
"SEC_FPGA_THERM_OVERT_L-I",
"SEC_FPGA_READY_BMC-I",
@@ -949,6 +996,7 @@ exp3: gpio@74 {
#interrupt-cells = <2>;
interrupt-parent = <&gpio1>;
interrupts = <ASPEED_GPIO(B, 6) IRQ_TYPE_LEVEL_LOW>;
vcc-supply = <&standby_power_regulator>;
gpio-line-names =
"IOB_PRSNT_L",
"IOB_DP_HPD",
@@ -1014,6 +1062,7 @@ i2c-mux@77 {
#size-cells = <0>;
reg = <0x77>;
i2c-mux-idle-disconnect;
vdd-supply = <&standby_power_regulator>;
e1si2c0: i2c@0 {
#address-cells = <1>;
@@ -1054,6 +1103,7 @@ i2c-mux@77 {
#size-cells = <0>;
reg = <0x77>;
i2c-mux-idle-disconnect;
vdd-supply = <&standby_power_regulator>;
e1si2c4: i2c@0 {
#address-cells = <1>;
@@ -1100,7 +1150,7 @@ &gpio0 {
/*J0-J7*/ "", "", "", "", "", "", "", "",
/*K0-K7*/ "", "", "", "", "", "", "", "",
/*L0-L7*/ "", "", "", "", "", "", "", "",
/*M0-M7*/ "PCIE_EP_RST_EN-O", "BMC_FRU_WP-O", "HMC_RESET_L-O", "STBY_POWER_EN-O",
/*M0-M7*/ "PCIE_EP_RST_EN-O", "BMC_FRU_WP-O", "FPGA_RST_L-O", "STBY_POWER_EN-O",
"STBY_POWER_PG-I", "PCIE_EP_RST_L-O", "", "",
/*N0-N7*/ "", "", "", "", "", "", "", "",
/*O0-O7*/ "", "", "", "", "", "", "", "",

View File

@@ -63,7 +63,7 @@ sys_err {
};
fsi: gpio-fsi {
compatible = "fsi-master-gpio", "fsi-master";
compatible = "fsi-master-gpio";
#address-cells = <2>;
#size-cells = <0>;

View File

@@ -165,7 +165,7 @@ fan4 {
};
fsi: gpio-fsi {
compatible = "fsi-master-gpio", "fsi-master";
compatible = "fsi-master-gpio";
#address-cells = <2>;
#size-cells = <0>;
no-gpio-delays;

View File

@@ -77,10 +77,9 @@ attention {
};
fsi: gpio-fsi {
compatible = "aspeed,ast2500-cf-fsi-master", "fsi-master";
compatible = "aspeed,ast2500-cf-fsi-master";
#address-cells = <2>;
#size-cells = <0>;
no-gpio-delays;
memory-region = <&coldfire_memory>;
aspeed,sram = <&sram>;

View File

@@ -55,7 +55,7 @@ identify {
};
fsi: gpio-fsi {
compatible = "aspeed,ast2400-cf-fsi-master", "fsi-master";
compatible = "aspeed,ast2400-cf-fsi-master";
#address-cells = <2>;
#size-cells = <0>;
@@ -151,7 +151,7 @@ eeprom@50 {
};
rtc@68 {
compatible = "dallas,ds3231";
compatible = "maxim,ds3231";
reg = <0x68>;
};
};

View File

@@ -68,10 +68,9 @@ power {
};
fsi: gpio-fsi {
compatible = "aspeed,ast2500-cf-fsi-master", "fsi-master";
compatible = "aspeed,ast2500-cf-fsi-master";
#address-cells = <2>;
#size-cells = <0>;
no-gpio-delays;
memory-region = <&coldfire_memory>;
aspeed,sram = <&sram>;

View File

@@ -173,7 +173,7 @@ power-button {
};
fsi: gpio-fsi {
compatible = "fsi-master-gpio", "fsi-master";
compatible = "fsi-master-gpio";
#address-cells = <2>;
#size-cells = <0>;
no-gpio-delays;

View File

@@ -64,7 +64,7 @@ event-checkstop {
linux,code = <ASPEED_GPIO(F, 7)>;
};
event-pcie-e2b-present{
event-pcie-e2b-present {
label = "pcie-e2b-present";
gpios = <&gpio ASPEED_GPIO(E, 7) GPIO_ACTIVE_LOW>;
linux,code = <ASPEED_GPIO(E, 7)>;
@@ -96,7 +96,7 @@ hdd_fault {
};
fsi: gpio-fsi {
compatible = "fsi-master-gpio", "fsi-master";
compatible = "fsi-master-gpio";
#address-cells = <2>;
#size-cells = <0>;
no-gpio-delays;

View File

@@ -509,7 +509,7 @@ U197_PCA9546_CH1: i2c@1 {
reg = <1>;
cpu0_pvccin@60 {
compatible = "isil,raa229004";
compatible = "renesas,raa229004";
reg = <0x60>;
};
@@ -530,7 +530,7 @@ U197_PCA9546_CH2: i2c@2 {
reg = <2>;
cpu1_pvccin@72 {
compatible = "isil,raa229004";
compatible = "renesas,raa229004";
reg = <0x72>;
};

View File

@@ -30,7 +30,7 @@ video_engine_memory: jpegbuffer {
reusable;
};
ramoops@9eff0000{
ramoops@9eff0000 {
compatible = "ramoops";
reg = <0x9eff0000 0x10000>;
record-size = <0x2000>;

View File

@@ -356,7 +356,6 @@ vuart: serial@1e787000 {
lpc: lpc@1e789000 {
compatible = "aspeed,ast2400-lpc-v2", "simple-mfd", "syscon";
reg = <0x1e789000 0x1000>;
reg-io-width = <4>;
#address-cells = <1>;
#size-cells = <1>;

View File

@@ -273,7 +273,6 @@ hace: crypto@1e6e3000 {
gfx: display@1e6e6000 {
compatible = "aspeed,ast2500-gfx", "syscon";
reg = <0x1e6e6000 0x1000>;
reg-io-width = <4>;
clocks = <&syscon ASPEED_CLK_GATE_D1CLK>;
resets = <&syscon ASPEED_RESET_CRT1>;
syscon = <&syscon>;
@@ -441,7 +440,6 @@ vuart: serial@1e787000 {
lpc: lpc@1e789000 {
compatible = "aspeed,ast2500-lpc-v2", "simple-mfd", "syscon";
reg = <0x1e789000 0x1000>;
reg-io-width = <4>;
#address-cells = <1>;
#size-cells = <1>;

View File

@@ -412,6 +412,16 @@ pinctrl_mdio4_default: mdio4_default {
groups = "MDIO4";
};
pinctrl_ncsi3_default: ncsi3_default {
function = "RMII3";
groups = "NCSI3";
};
pinctrl_ncsi4_default: ncsi4_default {
function = "RMII4";
groups = "NCSI4";
};
pinctrl_ncts1_default: ncts1_default {
function = "NCTS1";
groups = "NCTS1";

View File

@@ -382,7 +382,6 @@ rng: hwrng@1e6e2524 {
gfx: display@1e6e6000 {
compatible = "aspeed,ast2600-gfx", "syscon";
reg = <0x1e6e6000 0x1000>;
reg-io-width = <4>;
clocks = <&syscon ASPEED_CLK_GATE_D1CLK>;
resets = <&syscon ASPEED_RESET_GRAPHICS>;
syscon = <&syscon>;
@@ -572,7 +571,6 @@ peci0: peci-controller@1e78b000 {
lpc: lpc@1e789000 {
compatible = "aspeed,ast2600-lpc-v2", "simple-mfd", "syscon";
reg = <0x1e789000 0x1000>;
reg-io-width = <4>;
#address-cells = <1>;
#size-cells = <1>;
@@ -662,7 +660,7 @@ sdc: sdc@1e740000 {
status = "disabled";
sdhci0: sdhci@1e740100 {
compatible = "aspeed,ast2600-sdhci", "sdhci";
compatible = "aspeed,ast2600-sdhci";
reg = <0x100 0x100>;
interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
sdhci,auto-cmd12;
@@ -671,7 +669,7 @@ sdhci0: sdhci@1e740100 {
};
sdhci1: sdhci@1e740200 {
compatible = "aspeed,ast2600-sdhci", "sdhci";
compatible = "aspeed,ast2600-sdhci";
reg = <0x200 0x100>;
interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
sdhci,auto-cmd12;
@@ -847,7 +845,7 @@ i2c: bus@1e78a000 {
fsim0: fsi@1e79b000 {
#interrupt-cells = <1>;
compatible = "aspeed,ast2600-fsi-master", "fsi-master";
compatible = "aspeed,ast2600-fsi-master";
reg = <0x1e79b000 0x94>;
interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
@@ -859,7 +857,7 @@ fsim0: fsi@1e79b000 {
fsim1: fsi@1e79b100 {
#interrupt-cells = <1>;
compatible = "aspeed,ast2600-fsi-master", "fsi-master";
compatible = "aspeed,ast2600-fsi-master";
reg = <0x1e79b100 0x94>;
interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";

View File

@@ -31,9 +31,13 @@ spi_gpio: spi {
#address-cells = <1>;
#size-cells = <0>;
gpio-sck = <&gpio0 ASPEED_GPIO(X, 3) GPIO_ACTIVE_HIGH>;
gpio-mosi = <&gpio0 ASPEED_GPIO(X, 4) GPIO_ACTIVE_HIGH>;
gpio-miso = <&gpio0 ASPEED_GPIO(X, 5) GPIO_ACTIVE_HIGH>;
/*
* chipselect pins are defined in platform .dts files
* separately.
*/
sck-gpios = <&gpio0 ASPEED_GPIO(X, 3) GPIO_ACTIVE_HIGH>;
mosi-gpios = <&gpio0 ASPEED_GPIO(X, 4) GPIO_ACTIVE_HIGH>;
miso-gpios = <&gpio0 ASPEED_GPIO(X, 5) GPIO_ACTIVE_HIGH>;
tpm@0 {
compatible = "infineon,slb9670", "tcg,tpm_tis-spi";
@@ -152,18 +156,6 @@ &vhub {
status = "okay";
};
&emmc_controller {
status = "okay";
};
&emmc {
status = "okay";
non-removable;
max-frequency = <25000000>;
bus-width = <4>;
};
&rtc {
status = "okay";
};

View File

@@ -0,0 +1,60 @@
// SPDX-License-Identifier: GPL-2.0+
// Copyright (c) 2020 Facebook Inc.
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
/*
* u-boot partition: 896KB.
*/
u-boot@0 {
reg = <0x0 0xe0000>;
label = "u-boot";
};
/*
* u-boot environment variables: 64KB.
*/
u-boot-env@e0000 {
reg = <0xe0000 0x10000>;
label = "env";
};
/*
* image metadata partition (64KB), used by Facebook internal
* tools.
*/
image-meta@f0000 {
reg = <0xf0000 0x10000>;
label = "meta";
};
/*
* FIT image: 63 MB.
*/
fit@100000 {
reg = <0x100000 0x3f00000>;
label = "fit";
};
/*
* "data0" partition (64MB) is used by Facebook BMC platforms as
* persistent data store.
*/
data0@4000000 {
reg = <0x4000000 0x4000000>;
label = "data0";
};
/*
* Although the master partition can be created by enabling
* MTD_PARTITIONED_MASTER option, below "flash0" partition is
* explicitly created to avoid breaking legacy applications.
*/
flash0@0 {
reg = <0x0 0x8000000>;
label = "flash0";
};
};

View File

@@ -82,6 +82,7 @@ fsi2spi@1c00 {
#size-cells = <0>;
cfam0_spi0: spi@0 {
compatible = "ibm,spi-fsi";
reg = <0x0>;
#address-cells = <1>;
#size-cells = <0>;
@@ -98,6 +99,7 @@ eeprom@0 {
};
cfam0_spi1: spi@20 {
compatible = "ibm,spi-fsi";
reg = <0x20>;
#address-cells = <1>;
#size-cells = <0>;
@@ -114,8 +116,8 @@ eeprom@0 {
};
cfam0_spi2: spi@40 {
compatible = "ibm,spi-fsi";
reg = <0x40>;
compatible = "ibm,fsi2spi";
#address-cells = <1>;
#size-cells = <0>;
@@ -131,8 +133,8 @@ eeprom@0 {
};
cfam0_spi3: spi@60 {
compatible = "ibm,spi-fsi";
reg = <0x60>;
compatible = "ibm,fsi2spi";
#address-cells = <1>;
#size-cells = <0>;
@@ -249,6 +251,7 @@ fsi2spi@1c00 {
#size-cells = <0>;
cfam1_spi0: spi@0 {
compatible = "ibm,spi-fsi";
reg = <0x0>;
#address-cells = <1>;
#size-cells = <0>;
@@ -265,6 +268,7 @@ eeprom@0 {
};
cfam1_spi1: spi@20 {
compatible = "ibm,spi-fsi";
reg = <0x20>;
#address-cells = <1>;
#size-cells = <0>;
@@ -281,8 +285,8 @@ eeprom@0 {
};
cfam1_spi2: spi@40 {
compatible = "ibm,spi-fsi";
reg = <0x40>;
compatible = "ibm,fsi2spi";
#address-cells = <1>;
#size-cells = <0>;
@@ -298,8 +302,8 @@ eeprom@0 {
};
cfam1_spi3: spi@60 {
compatible = "ibm,spi-fsi";
reg = <0x60>;
compatible = "ibm,fsi2spi";
#address-cells = <1>;
#size-cells = <0>;

View File

@@ -733,6 +733,7 @@ fsi2spi@1c00 {
#size-cells = <0>;
cfam2_spi0: spi@0 {
compatible = "ibm,spi-fsi";
reg = <0x0>;
#address-cells = <1>;
#size-cells = <0>;
@@ -749,6 +750,7 @@ eeprom@0 {
};
cfam2_spi1: spi@20 {
compatible = "ibm,spi-fsi";
reg = <0x20>;
#address-cells = <1>;
#size-cells = <0>;
@@ -765,8 +767,8 @@ eeprom@0 {
};
cfam2_spi2: spi@40 {
compatible = "ibm,spi-fsi";
reg = <0x40>;
compatible = "ibm,fsi2spi";
#address-cells = <1>;
#size-cells = <0>;
@@ -782,8 +784,8 @@ eeprom@0 {
};
cfam2_spi3: spi@60 {
compatible = "ibm,spi-fsi";
reg = <0x60>;
compatible = "ibm,fsi2spi";
#address-cells = <1>;
#size-cells = <0>;
@@ -1106,6 +1108,7 @@ fsi2spi@1c00 {
#size-cells = <0>;
cfam3_spi0: spi@0 {
compatible = "ibm,spi-fsi";
reg = <0x0>;
#address-cells = <1>;
#size-cells = <0>;
@@ -1122,6 +1125,7 @@ eeprom@0 {
};
cfam3_spi1: spi@20 {
compatible = "ibm,spi-fsi";
reg = <0x20>;
#address-cells = <1>;
#size-cells = <0>;
@@ -1138,8 +1142,8 @@ eeprom@0 {
};
cfam3_spi2: spi@40 {
compatible = "ibm,spi-fsi";
reg = <0x40>;
compatible = "ibm,fsi2spi";
#address-cells = <1>;
#size-cells = <0>;
@@ -1155,8 +1159,8 @@ eeprom@0 {
};
cfam3_spi3: spi@60 {
compatible = "ibm,spi-fsi";
reg = <0x60>;
compatible = "ibm,fsi2spi";
#address-cells = <1>;
#size-cells = <0>;

View File

@@ -51,6 +51,7 @@ dtb-$(CONFIG_ARCH_BCMBCA) += \
dtb-$(CONFIG_ARCH_BCM_5301X) += \
bcm4708-asus-rt-ac56u.dtb \
bcm4708-asus-rt-ac68u.dtb \
bcm4708-buffalo-wxr-1750dhp.dtb \
bcm4708-buffalo-wzr-1750dhp.dtb \
bcm4708-buffalo-wzr-1166dhp.dtb \
bcm4708-buffalo-wzr-1166dhp2.dtb \

View File

@@ -0,0 +1,138 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Author: Taishi Shimizu <s.taishi14142@gmail.com>
*/
/dts-v1/;
#include "bcm4708.dtsi"
#include "bcm5301x-nand-cs0-bch8.dtsi"
#include <dt-bindings/leds/common.h>
/ {
compatible = "buffalo,wxr-1750dhp", "brcm,bcm4708";
model = "Buffalo WXR-1750DHP";
memory@0 {
reg = <0x00000000 0x08000000>,
<0x88000000 0x08000000>;
device_type = "memory";
};
gpio-keys {
compatible = "gpio-keys";
button-aoss {
gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>;
label = "AOSS";
linux,code = <KEY_WPS_BUTTON>;
};
/* GPIO 3 is a switch button with AUTO / MANUAL. */
button-manual {
gpios = <&chipcommon 3 GPIO_ACTIVE_HIGH>;
label = "MANUAL";
linux,code = <BTN_0>;
linux,input-type = <EV_SW>;
};
button-restart {
gpios = <&chipcommon 11 GPIO_ACTIVE_LOW>;
label = "Reset";
linux,code = <KEY_RESTART>;
};
/* GPIO 8 and 9 are a tri-state switch button with
* ROUTER / AP / WB.
*/
button-router {
gpios = <&chipcommon 8 GPIO_ACTIVE_LOW>;
label = "ROUTER";
linux,code = <BTN_1>;
linux,input-type = <EV_SW>;
};
button-wb {
gpios = <&chipcommon 9 GPIO_ACTIVE_LOW>;
label = "WB";
linux,code = <BTN_2>;
linux,input-type = <EV_SW>;
};
};
leds {
compatible = "gpio-leds";
led-internet {
color = <LED_COLOR_ID_WHITE>;
function = "internet";
gpios = <&chipcommon 7 GPIO_ACTIVE_HIGH>;
};
led-power0 {
color = <LED_COLOR_ID_AMBER>;
function = LED_FUNCTION_POWER;
gpios = <&chipcommon 6 GPIO_ACTIVE_HIGH>;
};
led-power1 {
color = <LED_COLOR_ID_WHITE>;
function = LED_FUNCTION_POWER;
gpios = <&chipcommon 5 GPIO_ACTIVE_HIGH>;
};
led-router0 {
color = <LED_COLOR_ID_AMBER>;
function = "router";
gpios = <&chipcommon 14 GPIO_ACTIVE_HIGH>;
};
led-router1 {
color = <LED_COLOR_ID_WHITE>;
function = "router";
gpios = <&chipcommon 15 GPIO_ACTIVE_HIGH>;
};
led-usb {
color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_USB;
gpios = <&chipcommon 4 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "usbport";
trigger-sources = <&xhci_port1 &ehci_port1 &ohci_port1>;
};
};
};
&srab {
status = "okay";
ports {
port@0 {
label = "wan";
};
port@1 {
label = "lan4";
};
port@2 {
label = "lan3";
};
port@3 {
label = "lan2";
};
port@4 {
label = "lan1";
};
};
};
&usb3 {
vcc-gpio = <&chipcommon 10 GPIO_ACTIVE_HIGH>;
};
&usb3_phy {
status = "okay";
};

View File

@@ -46,8 +46,8 @@ timing0: timing-320x240 {
i2c: i2c {
compatible = "i2c-gpio";
gpios = <&portd 4 GPIO_ACTIVE_HIGH>,
<&portd 5 GPIO_ACTIVE_HIGH>;
sda-gpios = <&portd 4 GPIO_ACTIVE_HIGH>;
scl-gpios = <&portd 5 GPIO_ACTIVE_HIGH>;
i2c-gpio,delay-us = <2>;
i2c-gpio,scl-output-only;
#address-cells = <1>;

View File

@@ -1,5 +1,7 @@
# SPDX-License-Identifier: GPL-2.0
dtb-$(CONFIG_ARCH_IXP4XX) += \
intel-ixp42x-actiontec-mi424wr-ac.dtb \
intel-ixp42x-actiontec-mi424wr-d.dtb \
intel-ixp42x-linksys-nslu2.dtb \
intel-ixp42x-linksys-wrv54g.dtb \
intel-ixp42x-freecom-fsg-3.dtb \

View File

@@ -0,0 +1,37 @@
// SPDX-License-Identifier: ISC
/*
* Device Tree file for the IXP425-based Actiontec MI424WR revision A and C
* Based on a board file from OpenWrt by Jose Vasconcellos.
*/
/dts-v1/;
#include "intel-ixp42x-actiontec-mi424wr.dtsi"
/ {
model = "Actiontec MI424WR rev A/C";
compatible = "actiontec,mi424wr-ac", "intel,ixp42x";
soc {
/* EthB used for WAN */
ethernet@c8009000 {
phy-handle = <&phy17>; // 17 on revision A-C
mdio {
phy17: ethernet-phy@17 {
/* WAN */
reg = <17>;
};
};
};
/* EthC used for LAN */
ethernet@c800a000 {
/* Fixed link to the CPU MII port on the KS8995 */
fixed-link {
speed = <100>;
full-duplex;
};
};
};
};

View File

@@ -0,0 +1,38 @@
// SPDX-License-Identifier: ISC
/*
* Device Tree file for the IXP425-based Actiontec MI424WR revision D
* Based on a board file from OpenWrt by Jose Vasconcellos.
*/
/dts-v1/;
#include "intel-ixp42x-actiontec-mi424wr.dtsi"
/ {
model = "Actiontec MI424WR rev D";
compatible = "actiontec,mi424wr-d", "intel,ixp42x";
soc {
/* EthB used for LAN */
ethernet@c8009000 {
/* Fixed link to the CPU MII port on the KS8995 */
fixed-link {
speed = <100>;
full-duplex;
};
mdio {
/* PHY ID 0x00221450 */
phy5: ethernet-phy@5 {
/* WAN */
reg = <5>;
};
};
};
/* EthC used for WAN */
ethernet@c800a000 {
phy-handle = <&phy5>; // 5 on revision D
};
};
};

View File

@@ -0,0 +1,272 @@
// SPDX-License-Identifier: ISC
/*
* Device Tree file for the IXP425-based Actiontec MI424WR
* Based on a board file from OpenWrt by Jose Vasconcellos.
*/
#include "intel-ixp42x.dtsi"
#include <dt-bindings/input/input.h>
#include <dt-bindings/leds/common.h>
/ {
#address-cells = <1>;
#size-cells = <1>;
memory@0 {
device_type = "memory";
reg = <0x00000000 0x02000000>;
};
chosen {
bootargs = "console=ttyS0,115200n8";
stdout-path = "uart1:115200n8";
};
leds {
compatible = "gpio-leds";
led-wan-coax {
color = <LED_COLOR_ID_GREEN>;
function = "wan-coax";
gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
led-power-alarm {
color = <LED_COLOR_ID_RED>;
function = LED_FUNCTION_ALARM;
gpios = <&gpio1 0 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
led-power {
color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_POWER;
gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>;
default-state = "on";
linux,default-trigger = "heartbeat";
};
led-wireless {
color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_WLAN;
gpios = <&gpio1 2 GPIO_ACTIVE_LOW>;
default-state = "off";
};
led-internet-down {
color = <LED_COLOR_ID_RED>;
function = "internet-down";
gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
led-internet-up {
color = <LED_COLOR_ID_GREEN>;
function = "internet-up";
gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
led-lan-coax {
color = <LED_COLOR_ID_GREEN>;
function = "lan-coax";
gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
led-wan-ethernet-alarm {
color = <LED_COLOR_ID_RED>;
function = "wan-ethernet-alarm";
gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
/* The last three LEDs are not mounted but traces exist on the PCB */
led-phone-1 {
color = <LED_COLOR_ID_GREEN>;
function = "phone-1";
gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
default-state = "off";
};
led-phone-2 {
color = <LED_COLOR_ID_GREEN>;
function = "phone-2";
gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
default-state = "off";
};
led-voip {
color = <LED_COLOR_ID_GREEN>;
function = "voip";
gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
default-state = "off";
};
};
gpio_keys {
compatible = "gpio-keys";
button-reset {
wakeup-source;
linux,code = <KEY_RESTART>;
label = "reset";
gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
};
};
spi {
compatible = "spi-gpio";
#address-cells = <1>;
#size-cells = <0>;
sck-gpios = <&gpio0 2 GPIO_ACTIVE_HIGH>;
mosi-gpios = <&gpio0 4 GPIO_ACTIVE_HIGH>;
miso-gpios = <&gpio0 3 GPIO_ACTIVE_HIGH>;
cs-gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;
num-chipselects = <1>;
ethernet-switch@0 {
compatible = "micrel,ks8995";
reg = <0>;
spi-max-frequency = <50000000>;
ethernet-ports {
#address-cells = <1>;
#size-cells = <0>;
ethernet-port@0 {
reg = <0>;
label = "lan1";
phy-mode = "mii";
phy-handle = <&phy1>;
};
ethernet-port@1 {
reg = <1>;
label = "lan2";
phy-mode = "mii";
phy-handle = <&phy2>;
};
ethernet-port@2 {
reg = <2>;
label = "lan3";
phy-mode = "mii";
phy-handle = <&phy3>;
};
ethernet-port@3 {
reg = <3>;
label = "lan4";
phy-mode = "mii";
phy-handle = <&phy4>;
};
ethernet-port@4 {
reg = <4>;
ethernet = <&ethc>;
phy-mode = "mii";
fixed-link {
speed = <100>;
full-duplex;
};
};
};
};
};
soc {
bus@c4000000 {
flash@0,0 {
compatible = "intel,ixp4xx-flash", "cfi-flash";
bank-width = <2>;
/*
* 8 MB of Flash in 64 0x20000 sized blocks
* mapped in at CS0.
*/
reg = <0 0x00000000 0x0800000>;
/* Configure expansion bus to allow writes */
intel,ixp4xx-eb-write-enable = <1>;
partitions {
compatible = "redboot-fis";
fis-index-block = <0x3f>;
};
};
gpio1: gpio@1,0 {
/* MMIO GPIO at CS1 */
compatible = "intel,ixp4xx-expansion-bus-mmio-gpio";
gpio-controller;
#gpio-cells = <2>;
big-endian;
reg = <1 0x00000000 0x2>;
reg-names = "dat";
/* Expansion bus settings */
intel,ixp4xx-eb-write-enable = <1>;
pci-reset-hog {
gpio-hog;
gpios = <7 GPIO_ACTIVE_HIGH>;
output-high;
line-name = "PCI reset";
};
pstn-relay-hog-1 {
gpio-hog;
gpios = <11 GPIO_ACTIVE_HIGH>;
output-low;
line-name = "PSTN relay control 1";
};
pstn-relay-hog-2 {
gpio-hog;
gpios = <12 GPIO_ACTIVE_HIGH>;
output-low;
line-name = "PSTN relay control 2";
};
};
};
pci@c0000000 {
status = "okay";
#interrupt-cells = <1>;
interrupt-map-mask = <0xf800 0 0 7>;
interrupt-map =
/* IDSEL 13 */
<0x6800 0 0 1 &gpio0 8 IRQ_TYPE_LEVEL_LOW>, /* INT A on slot 13 is irq 8 */
<0x6800 0 0 2 &gpio0 6 IRQ_TYPE_LEVEL_LOW>, /* INT B on slot 13 is irq 6 */
/* IDSEL 14 */
<0x7000 0 0 1 &gpio0 8 IRQ_TYPE_LEVEL_LOW>, /* INT A on slot 14 is irq 7 */
<0x7000 0 0 2 &gpio0 6 IRQ_TYPE_LEVEL_LOW>, /* INT B on slot 14 is irq 8 */
/* IDSEL 15 */
<0x7800 0 0 1 &gpio0 8 IRQ_TYPE_LEVEL_LOW>, /* INT A on slot 15 is irq 6 */
<0x7800 0 0 2 &gpio0 6 IRQ_TYPE_LEVEL_LOW>; /* INT B on slot 15 is irq 7 */
};
ethb: ethernet@c8009000 {
status = "okay";
queue-rx = <&qmgr 3>;
queue-txready = <&qmgr 20>;
phy-mode = "mii";
mdio {
#address-cells = <1>;
#size-cells = <0>;
/* 1, 2, 3 and 4 are ports on the KS8995 switch */
phy1: ethernet-phy@1 {
/* LAN1 */
reg = <1>;
};
phy2: ethernet-phy@2 {
/* LAN2 */
reg = <2>;
};
phy3: ethernet-phy@3 {
/* LAN3 */
reg = <3>;
};
phy4: ethernet-phy@4 {
/* LAN4 */
reg = <4>;
};
};
};
ethc: ethernet@c800a000 {
status = "okay";
queue-rx = <&qmgr 4>;
queue-txready = <&qmgr 21>;
phy-mode = "mii";
};
};
};

View File

@@ -11,6 +11,8 @@
#include "sama7d65-pinfunc.h"
#include "sama7d65.dtsi"
#include <dt-bindings/mfd/atmel-flexcom.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/leds/common.h>
#include <dt-bindings/pinctrl/at91.h>
/ {
@@ -26,6 +28,43 @@ chosen {
stdout-path = "serial0:115200n8";
};
gpio-keys {
compatible = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_key_gpio_default>;
button {
label = "PB_USER";
gpios = <&pioa PIN_PC10 GPIO_ACTIVE_LOW>;
linux,code = <KEY_PROG1>;
wakeup-source;
};
};
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_led_gpio_default>;
led0: led-red {
color = <LED_COLOR_ID_RED>;
gpios = <&pioa PIN_PB17 GPIO_ACTIVE_HIGH>; /* Conflict with pwm. */
};
led1: led-green {
color = <LED_COLOR_ID_GREEN>;
gpios = <&pioa PIN_PB15 GPIO_ACTIVE_HIGH>; /* Conflict with pwm. */
};
led2: led-blue {
color = <LED_COLOR_ID_BLUE>;
function = LED_FUNCTION_HEARTBEAT;
gpios = <&pioa PIN_PA21 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "heartbeat";
};
};
memory@60000000 {
device_type = "memory";
reg = <0x60000000 0x40000000>;
@@ -346,12 +385,24 @@ pinctrl_gmac0_txck_default: gmac0-txck-default {
bias-pull-up;
};
pinctrl_i2c10_default: i2c10-default{
pinctrl_i2c10_default: i2c10-default {
pinmux = <PIN_PB19__FLEXCOM10_IO1>,
<PIN_PB20__FLEXCOM10_IO0>;
bias-pull-up;
};
pinctrl_key_gpio_default: key-gpio-default {
pinmux = <PIN_PC10__GPIO>;
bias-pull-up;
};
pinctrl_led_gpio_default: led-gpio-default {
pinmux = <PIN_PB15__GPIO>,
<PIN_PB17__GPIO>,
<PIN_PA21__GPIO>;
bias-pull-up;
};
pinctrl_sdmmc1_default: sdmmc1-default {
cmd-data {
pinmux = <PIN_PB22__SDMMC1_CMD>,

View File

@@ -271,6 +271,27 @@ AT91_XDMAC_DT_PERID(38))>,
status = "disabled";
};
qspi: spi@f0014000 {
compatible = "microchip,sam9x7-ospi";
#address-cells = <1>;
#size-cells = <0>;
reg = <0xf0014000 0x100>, <0x60000000 0x20000000>;
reg-names = "qspi_base", "qspi_mmap";
interrupts = <35 IRQ_TYPE_LEVEL_HIGH 7>;
dmas = <&dma0
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
AT91_XDMAC_DT_PERID(26))>,
<&dma0
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
AT91_XDMAC_DT_PERID(27))>;
dma-names = "tx", "rx";
clocks = <&pmc PMC_TYPE_PERIPHERAL 35>, <&pmc PMC_TYPE_GCK 35>;
clock-names = "pclk", "gclk";
assigned-clocks = <&pmc PMC_TYPE_GCK 35>;
assigned-clock-parents = <&pmc PMC_TYPE_CORE PMC_PLLADIV2>;
status = "disabled";
};
i2s: i2s@f001c000 {
compatible = "microchip,sam9x7-i2smcc", "microchip,sam9x60-i2smcc";
reg = <0xf001c000 0x100>;

Some files were not shown because too many files have changed in this diff Show More