mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-25 16:11:45 +00:00
ARM: Device-tree updates
New SoCs: - Atmel/Microchip SAM9X60 (ARM926 SoC) - OMAP 37xx gets split into AM3703/AM3715/DM3725, who are all variants of it with different GPU/media IP configurations. - ST stm32mp15 SoCs (1-2 Cortex-A7, CAN, GPU depending on SKU) - ST Ericsson ab8505 (variant of ab8500) and db8520 (variant of db8500) - Unisoc SC9863A SoC (8x Cortex-A55 mobile chipset w/ GPU, modem) - Qualcomm SC7180 (8-core 64bit SoC, unnamed CPU class) New boards: - Allwinner + Emlid Neutis SoM (H3 variant) + Libre Computer ALL-H3-IT + PineH64 Model B - Amlogic + Libretech Amlogic GX PC (s905d and s912-based variants) - Atmel/Microchip: + Kizboxmini, sam9x60 EK, sama5d27 Wireless SOM (wlsom1) - Marvell: + Armada 385-based SolidRun Clearfog GTR - NXP: + Gateworks GW59xx boards based on i.MX6/6Q/6QDL + Tolino Shine 3 eBook reader (i.MX6sl) + Embedded Artists COM (i.MX7ULP) + SolidRun CLearfog CX/ITX and HoneyComb (LX2160A-based systems) + Google Coral Edge TPU (i.MX8MQ) - Rockchip + Radxa Dalang Carrier (supports rk3288 and rk3399 SOMs) + Radxa Rock Pi N10 (RK3399Pro-based) + VMARC RK3399Pro SOM - ST + Reference boards for stm32mp15 - ST Ericsson + Samsung Galaxy S III mini (GT-I8190) + HREF520 reference board for DB8520 - TI OMAP + Gen1 Amazon Echo (OMAP3630-based) - Qualcomm + Inforce 6640 Single Board Computer (msm8996-based) + SC7180 IDP (SC7180-based) -----BEGIN PGP SIGNATURE----- iQJDBAABCAAtFiEElf+HevZ4QCAJmMQ+jBrnPN6EHHcFAl4+kmIPHG9sb2ZAbGl4 b20ubmV0AAoJEIwa5zzehBx3WIIP/2Nbbe0AKMbWK4tr53UffdZ+/voO5zp/M6Eq 6yeUmbMYSLqq4N3jRpFGoEnIPUVccLKffIi5EjdFygVl3C6D54O4IhgHPh4jBvWJ wr+vKpbNX6wekI2/LoHRnNTKz4xX2RcmW7eI/2RGvJgL3/7jaXm9g9QqZHf1Ne0T /JHEkl2xkgbIvgQ8UCTB38VHQKe2FdC6bzGRDttBJOv5NJvQScZSqyS91iiB0IWe uYMSI9A/k2LMgTDA+QD6uaL4U3RO2fxmMOTQI72QKLgLePaoUyG844R3RGsU1axc n9MiazspS6V/c3zsfJAUU6MQivD0arBWJrkb8CCVDIW6Az8QhR/0HnkvcwUXPd35 tzhCX0idJb3z7TKVx+SWuFDnmVma9g9nplEPcQc2MSaQxnwG0Xulxgsp1Pq69xZ5 mh+k065Xdk4J7MENNQpBtlpfUUX8f9doIz7zA4LpLTQEXBdgy1TtPMdMrzdbhH5u T/a29u8CubJjhBoZ70P6LabvtMVOmZYhi46hhdEylfINYnOKOQq7uokJU6SV5Vha cYZFuNzhAk2PsujDpoYQPY1eqjoKbzheBRtunNJ9or+ALWO/NRXq+9QdUW4CnSXo xy3dXMj2vJ4B+3XRuxEcFhS/L9nJsf5YyPs8xjaYmcy1BMcH2mJz3e8s0+ayUk1t QjU6sWVt =Upyw -----END PGP SIGNATURE----- Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc Pull ARM Device-tree updates from Olof Johansson: "New SoCs: - Atmel/Microchip SAM9X60 (ARM926 SoC) - OMAP 37xx gets split into AM3703/AM3715/DM3725, who are all variants of it with different GPU/media IP configurations. - ST stm32mp15 SoCs (1-2 Cortex-A7, CAN, GPU depending on SKU) - ST Ericsson ab8505 (variant of ab8500) and db8520 (variant of db8500) - Unisoc SC9863A SoC (8x Cortex-A55 mobile chipset w/ GPU, modem) - Qualcomm SC7180 (8-core 64bit SoC, unnamed CPU class) New boards: - Allwinner: + Emlid Neutis SoM (H3 variant) + Libre Computer ALL-H3-IT + PineH64 Model B - Amlogic: + Libretech Amlogic GX PC (s905d and s912-based variants) - Atmel/Microchip: + Kizboxmini, sam9x60 EK, sama5d27 Wireless SOM (wlsom1) - Marvell: + Armada 385-based SolidRun Clearfog GTR - NXP: + Gateworks GW59xx boards based on i.MX6/6Q/6QDL + Tolino Shine 3 eBook reader (i.MX6sl) + Embedded Artists COM (i.MX7ULP) + SolidRun CLearfog CX/ITX and HoneyComb (LX2160A-based systems) + Google Coral Edge TPU (i.MX8MQ) - Rockchip: + Radxa Dalang Carrier (supports rk3288 and rk3399 SOMs) + Radxa Rock Pi N10 (RK3399Pro-based) + VMARC RK3399Pro SOM - ST: + Reference boards for stm32mp15 - ST Ericsson: + Samsung Galaxy S III mini (GT-I8190) + HREF520 reference board for DB8520 - TI OMAP: + Gen1 Amazon Echo (OMAP3630-based) - Qualcomm: + Inforce 6640 Single Board Computer (msm8996-based) + SC7180 IDP (SC7180-based)" * tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (623 commits) dt-bindings: fix compilation error of the example in marvell,mmp3-hsic-phy.yaml arm64: dts: ti: k3-am654-base-board: Add CSI2 OV5640 camera arm64: dts: ti: k3-am65-main Add CAL node arm64: dts: ti: k3-j721e-main: Add McASP nodes arm64: dts: ti: k3-am654-main: Add McASP nodes arm64: dts: ti: k3-j721e: DMA support arm64: dts: ti: k3-j721e-main: Move secure proxy and smmu under main_navss arm64: dts: ti: k3-j721e-main: Correct main NAVSS representation arm64: dts: ti: k3-j721e: Correct the address for MAIN NAVSS arm64: dts: ti: k3-am65: DMA support arm64: dts: ti: k3-am65-main: Move secure proxy under cbass_main_navss arm64: dts: ti: k3-am65-main: Correct main NAVSS representation ARM: dts: aspeed: rainier: Add UCD90320 power sequencer ARM: dts: aspeed: rainier: Switch PSUs to unknown version arm64: dts: rockchip: Kill off "simple-panel" compatibles ARM: dts: rockchip: Kill off "simple-panel" compatibles arm64: dts: rockchip: rename dwmmc node names to mmc ARM: dts: rockchip: rename dwmmc node names to mmc arm64: dts: exynos: Rename Samsung and Exynos to lowercase arm64: dts: uniphier: add reset-names to NAND controller node ...
This commit is contained in:
commit
1afa9c3b7c
585 changed files with 32247 additions and 15797 deletions
|
@ -59,6 +59,7 @@ properties:
|
||||||
- friendlyarm,nanopi-k2
|
- friendlyarm,nanopi-k2
|
||||||
- hardkernel,odroid-c2
|
- hardkernel,odroid-c2
|
||||||
- nexbox,a95x
|
- nexbox,a95x
|
||||||
|
- videostrong,kii-pro
|
||||||
- wetek,hub
|
- wetek,hub
|
||||||
- wetek,play2
|
- wetek,play2
|
||||||
- const: amlogic,meson-gxbb
|
- const: amlogic,meson-gxbb
|
||||||
|
@ -104,6 +105,7 @@ properties:
|
||||||
- enum:
|
- enum:
|
||||||
- amlogic,p230
|
- amlogic,p230
|
||||||
- amlogic,p231
|
- amlogic,p231
|
||||||
|
- libretech,aml-s905d-pc
|
||||||
- phicomm,n1
|
- phicomm,n1
|
||||||
- const: amlogic,s905d
|
- const: amlogic,s905d
|
||||||
- const: amlogic,meson-gxl
|
- const: amlogic,meson-gxl
|
||||||
|
@ -115,6 +117,7 @@ properties:
|
||||||
- amlogic,q201
|
- amlogic,q201
|
||||||
- khadas,vim2
|
- khadas,vim2
|
||||||
- kingnovel,r-box-pro
|
- kingnovel,r-box-pro
|
||||||
|
- libretech,aml-s912-pc
|
||||||
- nexbox,a1
|
- nexbox,a1
|
||||||
- tronsmart,vega-s96
|
- tronsmart,vega-s96
|
||||||
- const: amlogic,s912
|
- const: amlogic,s912
|
||||||
|
|
|
@ -35,6 +35,16 @@ properties:
|
||||||
- atmel,at91sam9x60
|
- atmel,at91sam9x60
|
||||||
- const: atmel,at91sam9
|
- const: atmel,at91sam9
|
||||||
|
|
||||||
|
- items:
|
||||||
|
- enum:
|
||||||
|
- overkiz,kizboxmini-base # Overkiz kizbox Mini Base Board
|
||||||
|
- overkiz,kizboxmini-mb # Overkiz kizbox Mini Mother Board
|
||||||
|
- overkiz,kizboxmini-rd # Overkiz kizbox Mini RailDIN
|
||||||
|
- overkiz,smartkiz # Overkiz SmartKiz Board
|
||||||
|
- const: atmel,at91sam9g25
|
||||||
|
- const: atmel,at91sam9x5
|
||||||
|
- const: atmel,at91sam9
|
||||||
|
|
||||||
- items:
|
- items:
|
||||||
- enum:
|
- enum:
|
||||||
- atmel,at91sam9g15
|
- atmel,at91sam9g15
|
||||||
|
@ -52,11 +62,32 @@ properties:
|
||||||
- const: atmel,sama5d2
|
- const: atmel,sama5d2
|
||||||
- const: atmel,sama5
|
- const: atmel,sama5
|
||||||
|
|
||||||
|
- description: Microchip SAMA5D27 WLSOM1
|
||||||
|
items:
|
||||||
|
- const: microchip,sama5d27-wlsom1
|
||||||
|
- const: atmel,sama5d27
|
||||||
|
- const: atmel,sama5d2
|
||||||
|
- const: atmel,sama5
|
||||||
|
|
||||||
|
- description: Microchip SAMA5D27 WLSOM1 Evaluation Kit
|
||||||
|
items:
|
||||||
|
- const: microchip,sama5d27-wlsom1-ek
|
||||||
|
- const: microchip,sama5d27-wlsom1
|
||||||
|
- const: atmel,sama5d27
|
||||||
|
- const: atmel,sama5d2
|
||||||
|
- const: atmel,sama5
|
||||||
|
|
||||||
- items:
|
- items:
|
||||||
- const: atmel,sama5d27
|
- const: atmel,sama5d27
|
||||||
- const: atmel,sama5d2
|
- const: atmel,sama5d2
|
||||||
- const: atmel,sama5
|
- const: atmel,sama5
|
||||||
|
|
||||||
|
- description: SAM9X60-EK board
|
||||||
|
items:
|
||||||
|
- const: microchip,sam9x60ek
|
||||||
|
- const: microchip,sam9x60
|
||||||
|
- const: atmel,at91sam9
|
||||||
|
|
||||||
- description: Nattis v2 board with Natte v2 power board
|
- description: Nattis v2 board with Natte v2 power board
|
||||||
items:
|
items:
|
||||||
- const: axentia,nattis-2
|
- const: axentia,nattis-2
|
||||||
|
|
|
@ -45,6 +45,7 @@ RAMC SDRAM/DDR Controller required properties:
|
||||||
"atmel,at91sam9260-sdramc",
|
"atmel,at91sam9260-sdramc",
|
||||||
"atmel,at91sam9g45-ddramc",
|
"atmel,at91sam9g45-ddramc",
|
||||||
"atmel,sama5d3-ddramc",
|
"atmel,sama5d3-ddramc",
|
||||||
|
"microchip,sam9x60-ddramc"
|
||||||
- reg: Should contain registers location and length
|
- reg: Should contain registers location and length
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
|
|
|
@ -128,6 +128,27 @@ properties:
|
||||||
- variscite,dt6customboard
|
- variscite,dt6customboard
|
||||||
- const: fsl,imx6q
|
- const: fsl,imx6q
|
||||||
|
|
||||||
|
- description: i.MX6Q Gateworks Ventana Boards
|
||||||
|
items:
|
||||||
|
- enum:
|
||||||
|
- gw,imx6q-gw51xx
|
||||||
|
- gw,imx6q-gw52xx
|
||||||
|
- gw,imx6q-gw53xx
|
||||||
|
- gw,imx6q-gw5400-a
|
||||||
|
- gw,imx6q-gw54xx
|
||||||
|
- gw,imx6q-gw551x
|
||||||
|
- gw,imx6q-gw552x
|
||||||
|
- gw,imx6q-gw553x
|
||||||
|
- gw,imx6q-gw560x
|
||||||
|
- gw,imx6q-gw5903
|
||||||
|
- gw,imx6q-gw5904
|
||||||
|
- gw,imx6q-gw5907
|
||||||
|
- gw,imx6q-gw5910
|
||||||
|
- gw,imx6q-gw5912
|
||||||
|
- gw,imx6q-gw5913
|
||||||
|
- const: gw,ventana
|
||||||
|
- const: fsl,imx6q
|
||||||
|
|
||||||
- description: i.MX6QP based Boards
|
- description: i.MX6QP based Boards
|
||||||
items:
|
items:
|
||||||
- enum:
|
- enum:
|
||||||
|
@ -154,10 +175,31 @@ properties:
|
||||||
- ysoft,imx6dl-yapp4-ursa # i.MX6 Solo Y Soft IOTA Ursa board
|
- ysoft,imx6dl-yapp4-ursa # i.MX6 Solo Y Soft IOTA Ursa board
|
||||||
- const: fsl,imx6dl
|
- const: fsl,imx6dl
|
||||||
|
|
||||||
|
- description: i.MX6DL Gateworks Ventana Boards
|
||||||
|
items:
|
||||||
|
- enum:
|
||||||
|
- gw,imx6dl-gw51xx
|
||||||
|
- gw,imx6dl-gw52xx
|
||||||
|
- gw,imx6dl-gw53xx
|
||||||
|
- gw,imx6dl-gw54xx
|
||||||
|
- gw,imx6dl-gw551x
|
||||||
|
- gw,imx6dl-gw552x
|
||||||
|
- gw,imx6dl-gw553x
|
||||||
|
- gw,imx6dl-gw560x
|
||||||
|
- gw,imx6dl-gw5903
|
||||||
|
- gw,imx6dl-gw5904
|
||||||
|
- gw,imx6dl-gw5907
|
||||||
|
- gw,imx6dl-gw5910
|
||||||
|
- gw,imx6dl-gw5912
|
||||||
|
- gw,imx6dl-gw5913
|
||||||
|
- const: gw,ventana
|
||||||
|
- const: fsl,imx6dl
|
||||||
|
|
||||||
- description: i.MX6SL based Boards
|
- description: i.MX6SL based Boards
|
||||||
items:
|
items:
|
||||||
- enum:
|
- enum:
|
||||||
- fsl,imx6sl-evk # i.MX6 SoloLite EVK Board
|
- fsl,imx6sl-evk # i.MX6 SoloLite EVK Board
|
||||||
|
- kobo,tolino-shine3
|
||||||
- const: fsl,imx6sl
|
- const: fsl,imx6sl
|
||||||
|
|
||||||
- description: i.MX6SLL based Boards
|
- description: i.MX6SLL based Boards
|
||||||
|
@ -172,6 +214,7 @@ properties:
|
||||||
- enum:
|
- enum:
|
||||||
- fsl,imx6sx-sabreauto # i.MX6 SoloX Sabre Auto Board
|
- fsl,imx6sx-sabreauto # i.MX6 SoloX Sabre Auto Board
|
||||||
- fsl,imx6sx-sdb # i.MX6 SoloX SDB Board
|
- fsl,imx6sx-sdb # i.MX6 SoloX SDB Board
|
||||||
|
- fsl,imx6sx-sdb-reva # i.MX6 SoloX SDB Rev-A Board
|
||||||
- const: fsl,imx6sx
|
- const: fsl,imx6sx
|
||||||
|
|
||||||
- description: i.MX6UL based Boards
|
- description: i.MX6UL based Boards
|
||||||
|
@ -239,6 +282,7 @@ properties:
|
||||||
items:
|
items:
|
||||||
- enum:
|
- enum:
|
||||||
- fsl,imx7d-sdb # i.MX7 SabreSD Board
|
- fsl,imx7d-sdb # i.MX7 SabreSD Board
|
||||||
|
- fsl,imx7d-sdb-reva # i.MX7 SabreSD Rev-A Board
|
||||||
- novtech,imx7d-meerkat96 # i.MX7 Meerkat96 Board
|
- novtech,imx7d-meerkat96 # i.MX7 Meerkat96 Board
|
||||||
- toradex,colibri-imx7d # Colibri iMX7 Dual Module
|
- toradex,colibri-imx7d # Colibri iMX7 Dual Module
|
||||||
- toradex,colibri-imx7d-emmc # Colibri iMX7 Dual 1GB (eMMC) Module
|
- toradex,colibri-imx7d-emmc # Colibri iMX7 Dual 1GB (eMMC) Module
|
||||||
|
@ -263,6 +307,7 @@ properties:
|
||||||
- description: i.MX7ULP based Boards
|
- description: i.MX7ULP based Boards
|
||||||
items:
|
items:
|
||||||
- enum:
|
- enum:
|
||||||
|
- ea,imx7ulp-com # i.MX7ULP Embedded Artists COM Board
|
||||||
- fsl,imx7ulp-evk # i.MX7ULP Evaluation Kit
|
- fsl,imx7ulp-evk # i.MX7ULP Evaluation Kit
|
||||||
- const: fsl,imx7ulp
|
- const: fsl,imx7ulp
|
||||||
|
|
||||||
|
@ -283,7 +328,9 @@ properties:
|
||||||
items:
|
items:
|
||||||
- enum:
|
- enum:
|
||||||
- boundary,imx8mq-nitrogen8m # i.MX8MQ NITROGEN Board
|
- boundary,imx8mq-nitrogen8m # i.MX8MQ NITROGEN Board
|
||||||
|
- einfochips,imx8mq-thor96 # i.MX8MQ Thor96 Board
|
||||||
- fsl,imx8mq-evk # i.MX8MQ EVK Board
|
- fsl,imx8mq-evk # i.MX8MQ EVK Board
|
||||||
|
- google,imx8mq-phanbell # Google Coral Edge TPU
|
||||||
- purism,librem5-devkit # Purism Librem5 devkit
|
- purism,librem5-devkit # Purism Librem5 devkit
|
||||||
- solidrun,hummingboard-pulse # SolidRun Hummingboard Pulse
|
- solidrun,hummingboard-pulse # SolidRun Hummingboard Pulse
|
||||||
- technexion,pico-pi-imx8m # TechNexion PICO-PI-8M evk
|
- technexion,pico-pi-imx8m # TechNexion PICO-PI-8M evk
|
||||||
|
@ -385,6 +432,13 @@ properties:
|
||||||
- fsl,ls2088a-rdb
|
- fsl,ls2088a-rdb
|
||||||
- const: fsl,ls2088a
|
- const: fsl,ls2088a
|
||||||
|
|
||||||
|
- description: LX2160A based Boards
|
||||||
|
items:
|
||||||
|
- enum:
|
||||||
|
- fsl,lx2160a-qds
|
||||||
|
- fsl,lx2160a-rdb
|
||||||
|
- const: fsl,lx2160a
|
||||||
|
|
||||||
- description: S32V234 based Boards
|
- description: S32V234 based Boards
|
||||||
items:
|
items:
|
||||||
- enum:
|
- enum:
|
||||||
|
|
|
@ -24,28 +24,30 @@ description: |
|
||||||
|
|
||||||
The 'SoC' element must be one of the following strings:
|
The 'SoC' element must be one of the following strings:
|
||||||
|
|
||||||
apq8016
|
apq8016
|
||||||
apq8074
|
apq8074
|
||||||
apq8084
|
apq8084
|
||||||
apq8096
|
apq8096
|
||||||
msm8916
|
ipq8074
|
||||||
msm8974
|
mdm9615
|
||||||
msm8992
|
msm8916
|
||||||
msm8994
|
msm8974
|
||||||
msm8996
|
msm8992
|
||||||
mdm9615
|
msm8994
|
||||||
ipq8074
|
msm8996
|
||||||
sdm845
|
sc7180
|
||||||
|
sdm845
|
||||||
|
|
||||||
The 'board' element must be one of the following strings:
|
The 'board' element must be one of the following strings:
|
||||||
|
|
||||||
cdp
|
cdp
|
||||||
liquid
|
dragonboard
|
||||||
dragonboard
|
hk01
|
||||||
mtp
|
idp
|
||||||
sbc
|
liquid
|
||||||
hk01
|
mtp
|
||||||
qrd
|
qrd
|
||||||
|
sbc
|
||||||
|
|
||||||
The 'soc_version' and 'board_version' elements take the form of v<Major>.<Minor>
|
The 'soc_version' and 'board_version' elements take the form of v<Major>.<Minor>
|
||||||
where the minor number may be omitted when it's zero, i.e. v1.0 is the same
|
where the minor number may be omitted when it's zero, i.e. v1.0 is the same
|
||||||
|
@ -144,4 +146,8 @@ properties:
|
||||||
- qcom,ipq8074-hk01
|
- qcom,ipq8074-hk01
|
||||||
- const: qcom,ipq8074
|
- const: qcom,ipq8074
|
||||||
|
|
||||||
|
- items:
|
||||||
|
- enum:
|
||||||
|
- qcom,sc7180-idp
|
||||||
|
- const: qcom,sc7180
|
||||||
...
|
...
|
||||||
|
|
|
@ -409,6 +409,9 @@ properties:
|
||||||
|
|
||||||
- description: Pine64 RockPro64
|
- description: Pine64 RockPro64
|
||||||
items:
|
items:
|
||||||
|
- enum:
|
||||||
|
- pine64,rockpro64-v2.1
|
||||||
|
- pine64,rockpro64-v2.0
|
||||||
- const: pine64,rockpro64
|
- const: pine64,rockpro64
|
||||||
- const: rockchip,rk3399
|
- const: rockchip,rk3399
|
||||||
|
|
||||||
|
@ -422,6 +425,12 @@ properties:
|
||||||
- const: radxa,rockpi4
|
- const: radxa,rockpi4
|
||||||
- const: rockchip,rk3399
|
- const: rockchip,rk3399
|
||||||
|
|
||||||
|
- description: Radxa ROCK Pi N10
|
||||||
|
items:
|
||||||
|
- const: radxa,rockpi-n10
|
||||||
|
- const: vamrs,rk3399pro-vmarc-som
|
||||||
|
- const: rockchip,rk3399pro
|
||||||
|
|
||||||
- description: Radxa Rock2 Square
|
- description: Radxa Rock2 Square
|
||||||
items:
|
items:
|
||||||
- const: radxa,rock2-square
|
- const: radxa,rock2-square
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
# Copyright 2019 Unisoc Inc.
|
# Copyright 2019 Unisoc Inc.
|
||||||
%YAML 1.2
|
%YAML 1.2
|
||||||
---
|
---
|
||||||
$id: http://devicetree.org/schemas/arm/sprd.yaml#
|
$id: http://devicetree.org/schemas/arm/sprd/sprd.yaml#
|
||||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
title: Unisoc platforms device tree bindings
|
title: Unisoc platforms device tree bindings
|
|
@ -342,6 +342,16 @@ properties:
|
||||||
- const: libretech,all-h3-cc-h5
|
- const: libretech,all-h3-cc-h5
|
||||||
- const: allwinner,sun50i-h5
|
- const: allwinner,sun50i-h5
|
||||||
|
|
||||||
|
- description: Libre Computer Board ALL-H3-IT H5
|
||||||
|
items:
|
||||||
|
- const: libretech,all-h3-it-h5
|
||||||
|
- const: allwinner,sun50i-h5
|
||||||
|
|
||||||
|
- description: Libre Computer Board ALL-H5-CC H5
|
||||||
|
items:
|
||||||
|
- const: libretech,all-h5-cc-h5
|
||||||
|
- const: allwinner,sun50i-h5
|
||||||
|
|
||||||
- description: Lichee Pi One
|
- description: Lichee Pi One
|
||||||
items:
|
items:
|
||||||
- const: licheepi,licheepi-one
|
- const: licheepi,licheepi-one
|
||||||
|
@ -470,6 +480,12 @@ properties:
|
||||||
- const: emlid,neutis-n5
|
- const: emlid,neutis-n5
|
||||||
- const: allwinner,sun50i-h5
|
- const: allwinner,sun50i-h5
|
||||||
|
|
||||||
|
- description: Emlid Neutis N5H3 Developper Board
|
||||||
|
items:
|
||||||
|
- const: emlid,neutis-n5h3-devboard
|
||||||
|
- const: emlid,neutis-n5h3
|
||||||
|
- const: allwinner,sun8i-h3
|
||||||
|
|
||||||
- description: NextThing Co. CHIP
|
- description: NextThing Co. CHIP
|
||||||
items:
|
items:
|
||||||
- const: nextthing,chip
|
- const: nextthing,chip
|
||||||
|
@ -599,11 +615,16 @@ properties:
|
||||||
- const: pine64,pine64-plus
|
- const: pine64,pine64-plus
|
||||||
- const: allwinner,sun50i-a64
|
- const: allwinner,sun50i-a64
|
||||||
|
|
||||||
- description: Pine64 PineH64
|
- description: Pine64 PineH64 model A
|
||||||
items:
|
items:
|
||||||
- const: pine64,pine-h64
|
- const: pine64,pine-h64
|
||||||
- const: allwinner,sun50i-h6
|
- const: allwinner,sun50i-h6
|
||||||
|
|
||||||
|
- description: Pine64 PineH64 model B
|
||||||
|
items:
|
||||||
|
- const: pine64,pine-h64-model-b
|
||||||
|
- const: allwinner,sun50i-h6
|
||||||
|
|
||||||
- description: Pine64 LTS
|
- description: Pine64 LTS
|
||||||
items:
|
items:
|
||||||
- const: pine64,pine64-lts
|
- const: pine64,pine64-lts
|
||||||
|
|
36
Documentation/devicetree/bindings/arm/ux500.yaml
Normal file
36
Documentation/devicetree/bindings/arm/ux500.yaml
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
# SPDX-License-Identifier: GPL-2.0-only
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/arm/ux500.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Ux500 platforms device tree bindings
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Linus Walleij <linus.walleij@linaro.org>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
$nodename:
|
||||||
|
const: '/'
|
||||||
|
compatible:
|
||||||
|
oneOf:
|
||||||
|
|
||||||
|
- description: ST-Ericsson HREF (pre-v60)
|
||||||
|
items:
|
||||||
|
- const: st-ericsson,mop500
|
||||||
|
- const: st-ericsson,u8500
|
||||||
|
|
||||||
|
- description: ST-Ericsson HREF (v60+)
|
||||||
|
items:
|
||||||
|
- const: st-ericsson,hrefv60+
|
||||||
|
- const: st-ericsson,u8500
|
||||||
|
|
||||||
|
- description: Calao Systems Snowball
|
||||||
|
items:
|
||||||
|
- const: calaosystems,snowball-a9500
|
||||||
|
- const: st-ericsson,u9500
|
||||||
|
|
||||||
|
- description: Samsung Galaxy S III mini (GT-I8190)
|
||||||
|
items:
|
||||||
|
- const: samsung,golden
|
||||||
|
- const: st-ericsson,u8500
|
|
@ -0,0 +1,76 @@
|
||||||
|
# SPDX-License-Identifier: GPL-2.0+
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/clock/allwinner,sun8i-a83t-de2-clk.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Allwinner A83t Display Engine 2/3 Clock Controller Device Tree Bindings
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Chen-Yu Tsai <wens@csie.org>
|
||||||
|
- Maxime Ripard <mripard@kernel.org>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
"#clock-cells":
|
||||||
|
const: 1
|
||||||
|
|
||||||
|
"#reset-cells":
|
||||||
|
const: 1
|
||||||
|
|
||||||
|
compatible:
|
||||||
|
oneOf:
|
||||||
|
- const: allwinner,sun8i-a83t-de2-clk
|
||||||
|
- const: allwinner,sun8i-h3-de2-clk
|
||||||
|
- const: allwinner,sun8i-v3s-de2-clk
|
||||||
|
- const: allwinner,sun50i-a64-de2-clk
|
||||||
|
- const: allwinner,sun50i-h5-de2-clk
|
||||||
|
- const: allwinner,sun50i-h6-de2-clk
|
||||||
|
- items:
|
||||||
|
- const: allwinner,sun8i-r40-de2-clk
|
||||||
|
- const: allwinner,sun8i-h3-de2-clk
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
items:
|
||||||
|
- description: Bus Clock
|
||||||
|
- description: Module Clock
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: bus
|
||||||
|
- const: mod
|
||||||
|
|
||||||
|
resets:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
required:
|
||||||
|
- "#clock-cells"
|
||||||
|
- "#reset-cells"
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- clocks
|
||||||
|
- clock-names
|
||||||
|
- resets
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/clock/sun8i-h3-ccu.h>
|
||||||
|
#include <dt-bindings/reset/sun8i-h3-ccu.h>
|
||||||
|
|
||||||
|
de2_clocks: clock@1000000 {
|
||||||
|
compatible = "allwinner,sun8i-h3-de2-clk";
|
||||||
|
reg = <0x01000000 0x100000>;
|
||||||
|
clocks = <&ccu CLK_BUS_DE>,
|
||||||
|
<&ccu CLK_DE>;
|
||||||
|
clock-names = "bus",
|
||||||
|
"mod";
|
||||||
|
resets = <&ccu RST_BUS_DE>;
|
||||||
|
#clock-cells = <1>;
|
||||||
|
#reset-cells = <1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
...
|
|
@ -0,0 +1,67 @@
|
||||||
|
# SPDX-License-Identifier: GPL-2.0+
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/clock/allwinner,sun9i-a80-de-clks.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Allwinner A80 Display Engine Clock Controller Device Tree Bindings
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Chen-Yu Tsai <wens@csie.org>
|
||||||
|
- Maxime Ripard <mripard@kernel.org>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
"#clock-cells":
|
||||||
|
const: 1
|
||||||
|
|
||||||
|
"#reset-cells":
|
||||||
|
const: 1
|
||||||
|
|
||||||
|
compatible:
|
||||||
|
const: allwinner,sun9i-a80-de-clks
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
items:
|
||||||
|
- description: Bus Clock
|
||||||
|
- description: RAM Bus Clock
|
||||||
|
- description: Module Clock
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: mod
|
||||||
|
- const: dram
|
||||||
|
- const: bus
|
||||||
|
|
||||||
|
resets:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
required:
|
||||||
|
- "#clock-cells"
|
||||||
|
- "#reset-cells"
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- clocks
|
||||||
|
- clock-names
|
||||||
|
- resets
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/clock/sun9i-a80-ccu.h>
|
||||||
|
#include <dt-bindings/reset/sun9i-a80-ccu.h>
|
||||||
|
|
||||||
|
de_clocks: clock@3000000 {
|
||||||
|
compatible = "allwinner,sun9i-a80-de-clks";
|
||||||
|
reg = <0x03000000 0x30>;
|
||||||
|
clocks = <&ccu CLK_DE>, <&ccu CLK_SDRAM>, <&ccu CLK_BUS_DE>;
|
||||||
|
clock-names = "mod", "dram", "bus";
|
||||||
|
resets = <&ccu RST_BUS_DE>;
|
||||||
|
#clock-cells = <1>;
|
||||||
|
#reset-cells = <1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
...
|
|
@ -0,0 +1,59 @@
|
||||||
|
# SPDX-License-Identifier: GPL-2.0+
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/clock/allwinner,sun9i-a80-usb-clocks.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Allwinner A80 USB Clock Controller Device Tree Bindings
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Chen-Yu Tsai <wens@csie.org>
|
||||||
|
- Maxime Ripard <mripard@kernel.org>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
"#clock-cells":
|
||||||
|
const: 1
|
||||||
|
|
||||||
|
"#reset-cells":
|
||||||
|
const: 1
|
||||||
|
|
||||||
|
compatible:
|
||||||
|
const: allwinner,sun9i-a80-usb-clocks
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
items:
|
||||||
|
- description: Bus Clock
|
||||||
|
- description: High Frequency Oscillator
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: bus
|
||||||
|
- const: hosc
|
||||||
|
|
||||||
|
required:
|
||||||
|
- "#clock-cells"
|
||||||
|
- "#reset-cells"
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- clocks
|
||||||
|
- clock-names
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/clock/sun9i-a80-ccu.h>
|
||||||
|
|
||||||
|
usb_clocks: clock@a08000 {
|
||||||
|
compatible = "allwinner,sun9i-a80-usb-clks";
|
||||||
|
reg = <0x00a08000 0x8>;
|
||||||
|
clocks = <&ccu CLK_BUS_USB>, <&osc24M>;
|
||||||
|
clock-names = "bus", "hosc";
|
||||||
|
#clock-cells = <1>;
|
||||||
|
#reset-cells = <1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
...
|
|
@ -1,34 +0,0 @@
|
||||||
Allwinner Display Engine 2.0/3.0 Clock Control Binding
|
|
||||||
------------------------------------------------------
|
|
||||||
|
|
||||||
Required properties :
|
|
||||||
- compatible: must contain one of the following compatibles:
|
|
||||||
- "allwinner,sun8i-a83t-de2-clk"
|
|
||||||
- "allwinner,sun8i-h3-de2-clk"
|
|
||||||
- "allwinner,sun8i-v3s-de2-clk"
|
|
||||||
- "allwinner,sun50i-a64-de2-clk"
|
|
||||||
- "allwinner,sun50i-h5-de2-clk"
|
|
||||||
- "allwinner,sun50i-h6-de3-clk"
|
|
||||||
|
|
||||||
- reg: Must contain the registers base address and length
|
|
||||||
- clocks: phandle to the clocks feeding the display engine subsystem.
|
|
||||||
Three are needed:
|
|
||||||
- "mod": the display engine module clock (on A83T it's the DE PLL)
|
|
||||||
- "bus": the bus clock for the whole display engine subsystem
|
|
||||||
- clock-names: Must contain the clock names described just above
|
|
||||||
- resets: phandle to the reset control for the display engine subsystem.
|
|
||||||
- #clock-cells : must contain 1
|
|
||||||
- #reset-cells : must contain 1
|
|
||||||
|
|
||||||
Example:
|
|
||||||
de2_clocks: clock@1000000 {
|
|
||||||
compatible = "allwinner,sun8i-h3-de2-clk";
|
|
||||||
reg = <0x01000000 0x100000>;
|
|
||||||
clocks = <&ccu CLK_BUS_DE>,
|
|
||||||
<&ccu CLK_DE>;
|
|
||||||
clock-names = "bus",
|
|
||||||
"mod";
|
|
||||||
resets = <&ccu RST_BUS_DE>;
|
|
||||||
#clock-cells = <1>;
|
|
||||||
#reset-cells = <1>;
|
|
||||||
};
|
|
|
@ -1,28 +0,0 @@
|
||||||
Allwinner A80 Display Engine Clock Control Binding
|
|
||||||
--------------------------------------------------
|
|
||||||
|
|
||||||
Required properties :
|
|
||||||
- compatible: must contain one of the following compatibles:
|
|
||||||
- "allwinner,sun9i-a80-de-clks"
|
|
||||||
|
|
||||||
- reg: Must contain the registers base address and length
|
|
||||||
- clocks: phandle to the clocks feeding the display engine subsystem.
|
|
||||||
Three are needed:
|
|
||||||
- "mod": the display engine module clock
|
|
||||||
- "dram": the DRAM bus clock for the system
|
|
||||||
- "bus": the bus clock for the whole display engine subsystem
|
|
||||||
- clock-names: Must contain the clock names described just above
|
|
||||||
- resets: phandle to the reset control for the display engine subsystem.
|
|
||||||
- #clock-cells : must contain 1
|
|
||||||
- #reset-cells : must contain 1
|
|
||||||
|
|
||||||
Example:
|
|
||||||
de_clocks: clock@3000000 {
|
|
||||||
compatible = "allwinner,sun9i-a80-de-clks";
|
|
||||||
reg = <0x03000000 0x30>;
|
|
||||||
clocks = <&ccu CLK_DE>, <&ccu CLK_SDRAM>, <&ccu CLK_BUS_DE>;
|
|
||||||
clock-names = "mod", "dram", "bus";
|
|
||||||
resets = <&ccu RST_BUS_DE>;
|
|
||||||
#clock-cells = <1>;
|
|
||||||
#reset-cells = <1>;
|
|
||||||
};
|
|
|
@ -1,24 +0,0 @@
|
||||||
Allwinner A80 USB Clock Control Binding
|
|
||||||
---------------------------------------
|
|
||||||
|
|
||||||
Required properties :
|
|
||||||
- compatible: must contain one of the following compatibles:
|
|
||||||
- "allwinner,sun9i-a80-usb-clocks"
|
|
||||||
|
|
||||||
- reg: Must contain the registers base address and length
|
|
||||||
- clocks: phandle to the clocks feeding the USB subsystem. Two are needed:
|
|
||||||
- "bus": the bus clock for the whole USB subsystem
|
|
||||||
- "hosc": the high frequency oscillator (usually at 24MHz)
|
|
||||||
- clock-names: Must contain the clock names described just above
|
|
||||||
- #clock-cells : must contain 1
|
|
||||||
- #reset-cells : must contain 1
|
|
||||||
|
|
||||||
Example:
|
|
||||||
usb_clocks: clock@a08000 {
|
|
||||||
compatible = "allwinner,sun9i-a80-usb-clks";
|
|
||||||
reg = <0x00a08000 0x8>;
|
|
||||||
clocks = <&ccu CLK_BUS_USB>, <&osc24M>;
|
|
||||||
clock-names = "bus", "hosc";
|
|
||||||
#clock-cells = <1>;
|
|
||||||
#reset-cells = <1>;
|
|
||||||
};
|
|
|
@ -6,6 +6,7 @@ Required properties:
|
||||||
- compatible: Should be "fsl,imx23-lcdif" for i.MX23.
|
- compatible: Should be "fsl,imx23-lcdif" for i.MX23.
|
||||||
Should be "fsl,imx28-lcdif" for i.MX28.
|
Should be "fsl,imx28-lcdif" for i.MX28.
|
||||||
Should be "fsl,imx6sx-lcdif" for i.MX6SX.
|
Should be "fsl,imx6sx-lcdif" for i.MX6SX.
|
||||||
|
Should be "fsl,imx8mq-lcdif" for i.MX8MQ.
|
||||||
- reg: Address and length of the register set for LCDIF
|
- reg: Address and length of the register set for LCDIF
|
||||||
- interrupts: Should contain LCDIF interrupt
|
- interrupts: Should contain LCDIF interrupt
|
||||||
- clocks: A list of phandle + clock-specifier pairs, one for each
|
- clocks: A list of phandle + clock-specifier pairs, one for each
|
||||||
|
|
|
@ -2,9 +2,7 @@
|
||||||
|
|
||||||
* XDMA Controller
|
* XDMA Controller
|
||||||
Required properties:
|
Required properties:
|
||||||
- compatible: Should be "atmel,<chip>-dma".
|
- compatible: Should be "atmel,sama5d4-dma" or "microchip,sam9x60-dma".
|
||||||
<chip> compatible description:
|
|
||||||
- sama5d4: first SoC adding the XDMAC
|
|
||||||
- reg: Should contain DMA registers location and length.
|
- reg: Should contain DMA registers location and length.
|
||||||
- interrupts: Should contain DMA interrupt.
|
- interrupts: Should contain DMA interrupt.
|
||||||
- #dma-cells: Must be <1>, used to represent the number of integer cells in
|
- #dma-cells: Must be <1>, used to represent the number of integer cells in
|
||||||
|
|
|
@ -18,6 +18,7 @@ properties:
|
||||||
- enum:
|
- enum:
|
||||||
- amlogic,meson-g12a-mali
|
- amlogic,meson-g12a-mali
|
||||||
- realtek,rtd1619-mali
|
- realtek,rtd1619-mali
|
||||||
|
- rockchip,px30-mali
|
||||||
- const: arm,mali-bifrost # Mali Bifrost GPU model/revision is fully discoverable
|
- const: arm,mali-bifrost # Mali Bifrost GPU model/revision is fully discoverable
|
||||||
|
|
||||||
reg:
|
reg:
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
* AT91 SAMA5D2 Analog to Digital Converter (ADC)
|
* AT91 SAMA5D2 Analog to Digital Converter (ADC)
|
||||||
|
|
||||||
Required properties:
|
Required properties:
|
||||||
- compatible: Should be "atmel,sama5d2-adc".
|
- compatible: Should be "atmel,sama5d2-adc" or "microchip,sam9x60-adc".
|
||||||
- reg: Should contain ADC registers location and length.
|
- reg: Should contain ADC registers location and length.
|
||||||
- interrupts: Should contain the IRQ line for the ADC.
|
- interrupts: Should contain the IRQ line for the ADC.
|
||||||
- clocks: phandle to device clock.
|
- clocks: phandle to device clock.
|
||||||
|
|
|
@ -2,7 +2,7 @@ Atmel Image Sensor Interface (ISI)
|
||||||
----------------------------------
|
----------------------------------
|
||||||
|
|
||||||
Required properties for ISI:
|
Required properties for ISI:
|
||||||
- compatible: must be "atmel,at91sam9g45-isi".
|
- compatible: must be "atmel,at91sam9g45-isi" or "microchip,sam9x60-isi".
|
||||||
- reg: physical base address and length of the registers set for the device.
|
- reg: physical base address and length of the registers set for the device.
|
||||||
- interrupts: should contain IRQ line for the ISI.
|
- interrupts: should contain IRQ line for the ISI.
|
||||||
- clocks: list of clock specifiers, corresponding to entries in the clock-names
|
- clocks: list of clock specifiers, corresponding to entries in the clock-names
|
||||||
|
|
|
@ -8,7 +8,7 @@ i.MX SoCs from i.MX23 to i.MX7.
|
||||||
|
|
||||||
Required properties:
|
Required properties:
|
||||||
- compatible: should be "fsl,<soc>-pxp", where SoC can be one of imx23, imx28,
|
- compatible: should be "fsl,<soc>-pxp", where SoC can be one of imx23, imx28,
|
||||||
imx6dl, imx6sl, imx6ul, imx6sx, imx6ull, or imx7d.
|
imx6dl, imx6sl, imx6sll, imx6ul, imx6sx, imx6ull, or imx7d.
|
||||||
- reg: the register base and size for the device registers
|
- reg: the register base and size for the device registers
|
||||||
- interrupts: the PXP interrupt, two interrupts for imx6ull and imx7d.
|
- interrupts: the PXP interrupt, two interrupts for imx6ull and imx7d.
|
||||||
- clock-names: should be "axi"
|
- clock-names: should be "axi"
|
||||||
|
|
|
@ -123,6 +123,7 @@ properties:
|
||||||
- rc-su3000
|
- rc-su3000
|
||||||
- rc-tango
|
- rc-tango
|
||||||
- rc-tanix-tx3mini
|
- rc-tanix-tx3mini
|
||||||
|
- rc-tanix-tx5max
|
||||||
- rc-tbs-nec
|
- rc-tbs-nec
|
||||||
- rc-technisat-ts35
|
- rc-technisat-ts35
|
||||||
- rc-technisat-usb2
|
- rc-technisat-usb2
|
||||||
|
|
|
@ -1,374 +0,0 @@
|
||||||
NVIDIA Tegra124 SoC EMC (external memory controller)
|
|
||||||
====================================================
|
|
||||||
|
|
||||||
Required properties :
|
|
||||||
- compatible : Should be "nvidia,tegra124-emc".
|
|
||||||
- reg : physical base address and length of the controller's registers.
|
|
||||||
- nvidia,memory-controller : phandle of the MC driver.
|
|
||||||
|
|
||||||
The node should contain a "emc-timings" subnode for each supported RAM type
|
|
||||||
(see field RAM_CODE in register PMC_STRAPPING_OPT_A), with its unit address
|
|
||||||
being its RAM_CODE.
|
|
||||||
|
|
||||||
Required properties for "emc-timings" nodes :
|
|
||||||
- nvidia,ram-code : Should contain the value of RAM_CODE this timing set is
|
|
||||||
used for.
|
|
||||||
|
|
||||||
Each "emc-timings" node should contain a "timing" subnode for every supported
|
|
||||||
EMC clock rate. The "timing" subnodes should have the clock rate in Hz as
|
|
||||||
their unit address.
|
|
||||||
|
|
||||||
Required properties for "timing" nodes :
|
|
||||||
- clock-frequency : Should contain the memory clock rate in Hz.
|
|
||||||
- The following properties contain EMC timing characterization values
|
|
||||||
(specified in the board documentation) :
|
|
||||||
- nvidia,emc-auto-cal-config : EMC_AUTO_CAL_CONFIG
|
|
||||||
- nvidia,emc-auto-cal-config2 : EMC_AUTO_CAL_CONFIG2
|
|
||||||
- nvidia,emc-auto-cal-config3 : EMC_AUTO_CAL_CONFIG3
|
|
||||||
- nvidia,emc-auto-cal-interval : EMC_AUTO_CAL_INTERVAL
|
|
||||||
- nvidia,emc-bgbias-ctl0 : EMC_BGBIAS_CTL0
|
|
||||||
- nvidia,emc-cfg : EMC_CFG
|
|
||||||
- nvidia,emc-cfg-2 : EMC_CFG_2
|
|
||||||
- nvidia,emc-ctt-term-ctrl : EMC_CTT_TERM_CTRL
|
|
||||||
- nvidia,emc-mode-1 : Mode Register 1
|
|
||||||
- nvidia,emc-mode-2 : Mode Register 2
|
|
||||||
- nvidia,emc-mode-4 : Mode Register 4
|
|
||||||
- nvidia,emc-mode-reset : Mode Register 0
|
|
||||||
- nvidia,emc-mrs-wait-cnt : EMC_MRS_WAIT_CNT
|
|
||||||
- nvidia,emc-sel-dpd-ctrl : EMC_SEL_DPD_CTRL
|
|
||||||
- nvidia,emc-xm2dqspadctrl2 : EMC_XM2DQSPADCTRL2
|
|
||||||
- nvidia,emc-zcal-cnt-long : EMC_ZCAL_WAIT_CNT after clock change
|
|
||||||
- nvidia,emc-zcal-interval : EMC_ZCAL_INTERVAL
|
|
||||||
- nvidia,emc-configuration : EMC timing characterization data. These are the
|
|
||||||
registers (see section "15.6.2 EMC Registers" in the TRM) whose values need to
|
|
||||||
be specified, according to the board documentation:
|
|
||||||
|
|
||||||
EMC_RC
|
|
||||||
EMC_RFC
|
|
||||||
EMC_RFC_SLR
|
|
||||||
EMC_RAS
|
|
||||||
EMC_RP
|
|
||||||
EMC_R2W
|
|
||||||
EMC_W2R
|
|
||||||
EMC_R2P
|
|
||||||
EMC_W2P
|
|
||||||
EMC_RD_RCD
|
|
||||||
EMC_WR_RCD
|
|
||||||
EMC_RRD
|
|
||||||
EMC_REXT
|
|
||||||
EMC_WEXT
|
|
||||||
EMC_WDV
|
|
||||||
EMC_WDV_MASK
|
|
||||||
EMC_QUSE
|
|
||||||
EMC_QUSE_WIDTH
|
|
||||||
EMC_IBDLY
|
|
||||||
EMC_EINPUT
|
|
||||||
EMC_EINPUT_DURATION
|
|
||||||
EMC_PUTERM_EXTRA
|
|
||||||
EMC_PUTERM_WIDTH
|
|
||||||
EMC_PUTERM_ADJ
|
|
||||||
EMC_CDB_CNTL_1
|
|
||||||
EMC_CDB_CNTL_2
|
|
||||||
EMC_CDB_CNTL_3
|
|
||||||
EMC_QRST
|
|
||||||
EMC_QSAFE
|
|
||||||
EMC_RDV
|
|
||||||
EMC_RDV_MASK
|
|
||||||
EMC_REFRESH
|
|
||||||
EMC_BURST_REFRESH_NUM
|
|
||||||
EMC_PRE_REFRESH_REQ_CNT
|
|
||||||
EMC_PDEX2WR
|
|
||||||
EMC_PDEX2RD
|
|
||||||
EMC_PCHG2PDEN
|
|
||||||
EMC_ACT2PDEN
|
|
||||||
EMC_AR2PDEN
|
|
||||||
EMC_RW2PDEN
|
|
||||||
EMC_TXSR
|
|
||||||
EMC_TXSRDLL
|
|
||||||
EMC_TCKE
|
|
||||||
EMC_TCKESR
|
|
||||||
EMC_TPD
|
|
||||||
EMC_TFAW
|
|
||||||
EMC_TRPAB
|
|
||||||
EMC_TCLKSTABLE
|
|
||||||
EMC_TCLKSTOP
|
|
||||||
EMC_TREFBW
|
|
||||||
EMC_FBIO_CFG6
|
|
||||||
EMC_ODT_WRITE
|
|
||||||
EMC_ODT_READ
|
|
||||||
EMC_FBIO_CFG5
|
|
||||||
EMC_CFG_DIG_DLL
|
|
||||||
EMC_CFG_DIG_DLL_PERIOD
|
|
||||||
EMC_DLL_XFORM_DQS0
|
|
||||||
EMC_DLL_XFORM_DQS1
|
|
||||||
EMC_DLL_XFORM_DQS2
|
|
||||||
EMC_DLL_XFORM_DQS3
|
|
||||||
EMC_DLL_XFORM_DQS4
|
|
||||||
EMC_DLL_XFORM_DQS5
|
|
||||||
EMC_DLL_XFORM_DQS6
|
|
||||||
EMC_DLL_XFORM_DQS7
|
|
||||||
EMC_DLL_XFORM_DQS8
|
|
||||||
EMC_DLL_XFORM_DQS9
|
|
||||||
EMC_DLL_XFORM_DQS10
|
|
||||||
EMC_DLL_XFORM_DQS11
|
|
||||||
EMC_DLL_XFORM_DQS12
|
|
||||||
EMC_DLL_XFORM_DQS13
|
|
||||||
EMC_DLL_XFORM_DQS14
|
|
||||||
EMC_DLL_XFORM_DQS15
|
|
||||||
EMC_DLL_XFORM_QUSE0
|
|
||||||
EMC_DLL_XFORM_QUSE1
|
|
||||||
EMC_DLL_XFORM_QUSE2
|
|
||||||
EMC_DLL_XFORM_QUSE3
|
|
||||||
EMC_DLL_XFORM_QUSE4
|
|
||||||
EMC_DLL_XFORM_QUSE5
|
|
||||||
EMC_DLL_XFORM_QUSE6
|
|
||||||
EMC_DLL_XFORM_QUSE7
|
|
||||||
EMC_DLL_XFORM_ADDR0
|
|
||||||
EMC_DLL_XFORM_ADDR1
|
|
||||||
EMC_DLL_XFORM_ADDR2
|
|
||||||
EMC_DLL_XFORM_ADDR3
|
|
||||||
EMC_DLL_XFORM_ADDR4
|
|
||||||
EMC_DLL_XFORM_ADDR5
|
|
||||||
EMC_DLL_XFORM_QUSE8
|
|
||||||
EMC_DLL_XFORM_QUSE9
|
|
||||||
EMC_DLL_XFORM_QUSE10
|
|
||||||
EMC_DLL_XFORM_QUSE11
|
|
||||||
EMC_DLL_XFORM_QUSE12
|
|
||||||
EMC_DLL_XFORM_QUSE13
|
|
||||||
EMC_DLL_XFORM_QUSE14
|
|
||||||
EMC_DLL_XFORM_QUSE15
|
|
||||||
EMC_DLI_TRIM_TXDQS0
|
|
||||||
EMC_DLI_TRIM_TXDQS1
|
|
||||||
EMC_DLI_TRIM_TXDQS2
|
|
||||||
EMC_DLI_TRIM_TXDQS3
|
|
||||||
EMC_DLI_TRIM_TXDQS4
|
|
||||||
EMC_DLI_TRIM_TXDQS5
|
|
||||||
EMC_DLI_TRIM_TXDQS6
|
|
||||||
EMC_DLI_TRIM_TXDQS7
|
|
||||||
EMC_DLI_TRIM_TXDQS8
|
|
||||||
EMC_DLI_TRIM_TXDQS9
|
|
||||||
EMC_DLI_TRIM_TXDQS10
|
|
||||||
EMC_DLI_TRIM_TXDQS11
|
|
||||||
EMC_DLI_TRIM_TXDQS12
|
|
||||||
EMC_DLI_TRIM_TXDQS13
|
|
||||||
EMC_DLI_TRIM_TXDQS14
|
|
||||||
EMC_DLI_TRIM_TXDQS15
|
|
||||||
EMC_DLL_XFORM_DQ0
|
|
||||||
EMC_DLL_XFORM_DQ1
|
|
||||||
EMC_DLL_XFORM_DQ2
|
|
||||||
EMC_DLL_XFORM_DQ3
|
|
||||||
EMC_DLL_XFORM_DQ4
|
|
||||||
EMC_DLL_XFORM_DQ5
|
|
||||||
EMC_DLL_XFORM_DQ6
|
|
||||||
EMC_DLL_XFORM_DQ7
|
|
||||||
EMC_XM2CMDPADCTRL
|
|
||||||
EMC_XM2CMDPADCTRL4
|
|
||||||
EMC_XM2CMDPADCTRL5
|
|
||||||
EMC_XM2DQPADCTRL2
|
|
||||||
EMC_XM2DQPADCTRL3
|
|
||||||
EMC_XM2CLKPADCTRL
|
|
||||||
EMC_XM2CLKPADCTRL2
|
|
||||||
EMC_XM2COMPPADCTRL
|
|
||||||
EMC_XM2VTTGENPADCTRL
|
|
||||||
EMC_XM2VTTGENPADCTRL2
|
|
||||||
EMC_XM2VTTGENPADCTRL3
|
|
||||||
EMC_XM2DQSPADCTRL3
|
|
||||||
EMC_XM2DQSPADCTRL4
|
|
||||||
EMC_XM2DQSPADCTRL5
|
|
||||||
EMC_XM2DQSPADCTRL6
|
|
||||||
EMC_DSR_VTTGEN_DRV
|
|
||||||
EMC_TXDSRVTTGEN
|
|
||||||
EMC_FBIO_SPARE
|
|
||||||
EMC_ZCAL_WAIT_CNT
|
|
||||||
EMC_MRS_WAIT_CNT2
|
|
||||||
EMC_CTT
|
|
||||||
EMC_CTT_DURATION
|
|
||||||
EMC_CFG_PIPE
|
|
||||||
EMC_DYN_SELF_REF_CONTROL
|
|
||||||
EMC_QPOP
|
|
||||||
|
|
||||||
Example SoC include file:
|
|
||||||
|
|
||||||
/ {
|
|
||||||
emc@7001b000 {
|
|
||||||
compatible = "nvidia,tegra124-emc";
|
|
||||||
reg = <0x0 0x7001b000 0x0 0x1000>;
|
|
||||||
|
|
||||||
nvidia,memory-controller = <&mc>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
Example board file:
|
|
||||||
|
|
||||||
/ {
|
|
||||||
emc@7001b000 {
|
|
||||||
emc-timings-3 {
|
|
||||||
nvidia,ram-code = <3>;
|
|
||||||
|
|
||||||
timing-12750000 {
|
|
||||||
clock-frequency = <12750000>;
|
|
||||||
|
|
||||||
nvidia,emc-zcal-cnt-long = <0x00000042>;
|
|
||||||
nvidia,emc-auto-cal-interval = <0x001fffff>;
|
|
||||||
nvidia,emc-ctt-term-ctrl = <0x00000802>;
|
|
||||||
nvidia,emc-cfg = <0x73240000>;
|
|
||||||
nvidia,emc-cfg-2 = <0x000008c5>;
|
|
||||||
nvidia,emc-sel-dpd-ctrl = <0x00040128>;
|
|
||||||
nvidia,emc-bgbias-ctl0 = <0x00000008>;
|
|
||||||
nvidia,emc-auto-cal-config = <0xa1430000>;
|
|
||||||
nvidia,emc-auto-cal-config2 = <0x00000000>;
|
|
||||||
nvidia,emc-auto-cal-config3 = <0x00000000>;
|
|
||||||
nvidia,emc-mode-reset = <0x80001221>;
|
|
||||||
nvidia,emc-mode-1 = <0x80100003>;
|
|
||||||
nvidia,emc-mode-2 = <0x80200008>;
|
|
||||||
nvidia,emc-mode-4 = <0x00000000>;
|
|
||||||
|
|
||||||
nvidia,emc-configuration = <
|
|
||||||
0x00000000 /* EMC_RC */
|
|
||||||
0x00000003 /* EMC_RFC */
|
|
||||||
0x00000000 /* EMC_RFC_SLR */
|
|
||||||
0x00000000 /* EMC_RAS */
|
|
||||||
0x00000000 /* EMC_RP */
|
|
||||||
0x00000004 /* EMC_R2W */
|
|
||||||
0x0000000a /* EMC_W2R */
|
|
||||||
0x00000003 /* EMC_R2P */
|
|
||||||
0x0000000b /* EMC_W2P */
|
|
||||||
0x00000000 /* EMC_RD_RCD */
|
|
||||||
0x00000000 /* EMC_WR_RCD */
|
|
||||||
0x00000003 /* EMC_RRD */
|
|
||||||
0x00000003 /* EMC_REXT */
|
|
||||||
0x00000000 /* EMC_WEXT */
|
|
||||||
0x00000006 /* EMC_WDV */
|
|
||||||
0x00000006 /* EMC_WDV_MASK */
|
|
||||||
0x00000006 /* EMC_QUSE */
|
|
||||||
0x00000002 /* EMC_QUSE_WIDTH */
|
|
||||||
0x00000000 /* EMC_IBDLY */
|
|
||||||
0x00000005 /* EMC_EINPUT */
|
|
||||||
0x00000005 /* EMC_EINPUT_DURATION */
|
|
||||||
0x00010000 /* EMC_PUTERM_EXTRA */
|
|
||||||
0x00000003 /* EMC_PUTERM_WIDTH */
|
|
||||||
0x00000000 /* EMC_PUTERM_ADJ */
|
|
||||||
0x00000000 /* EMC_CDB_CNTL_1 */
|
|
||||||
0x00000000 /* EMC_CDB_CNTL_2 */
|
|
||||||
0x00000000 /* EMC_CDB_CNTL_3 */
|
|
||||||
0x00000004 /* EMC_QRST */
|
|
||||||
0x0000000c /* EMC_QSAFE */
|
|
||||||
0x0000000d /* EMC_RDV */
|
|
||||||
0x0000000f /* EMC_RDV_MASK */
|
|
||||||
0x00000060 /* EMC_REFRESH */
|
|
||||||
0x00000000 /* EMC_BURST_REFRESH_NUM */
|
|
||||||
0x00000018 /* EMC_PRE_REFRESH_REQ_CNT */
|
|
||||||
0x00000002 /* EMC_PDEX2WR */
|
|
||||||
0x00000002 /* EMC_PDEX2RD */
|
|
||||||
0x00000001 /* EMC_PCHG2PDEN */
|
|
||||||
0x00000000 /* EMC_ACT2PDEN */
|
|
||||||
0x00000007 /* EMC_AR2PDEN */
|
|
||||||
0x0000000f /* EMC_RW2PDEN */
|
|
||||||
0x00000005 /* EMC_TXSR */
|
|
||||||
0x00000005 /* EMC_TXSRDLL */
|
|
||||||
0x00000004 /* EMC_TCKE */
|
|
||||||
0x00000005 /* EMC_TCKESR */
|
|
||||||
0x00000004 /* EMC_TPD */
|
|
||||||
0x00000000 /* EMC_TFAW */
|
|
||||||
0x00000000 /* EMC_TRPAB */
|
|
||||||
0x00000005 /* EMC_TCLKSTABLE */
|
|
||||||
0x00000005 /* EMC_TCLKSTOP */
|
|
||||||
0x00000064 /* EMC_TREFBW */
|
|
||||||
0x00000000 /* EMC_FBIO_CFG6 */
|
|
||||||
0x00000000 /* EMC_ODT_WRITE */
|
|
||||||
0x00000000 /* EMC_ODT_READ */
|
|
||||||
0x106aa298 /* EMC_FBIO_CFG5 */
|
|
||||||
0x002c00a0 /* EMC_CFG_DIG_DLL */
|
|
||||||
0x00008000 /* EMC_CFG_DIG_DLL_PERIOD */
|
|
||||||
0x00064000 /* EMC_DLL_XFORM_DQS0 */
|
|
||||||
0x00064000 /* EMC_DLL_XFORM_DQS1 */
|
|
||||||
0x00064000 /* EMC_DLL_XFORM_DQS2 */
|
|
||||||
0x00064000 /* EMC_DLL_XFORM_DQS3 */
|
|
||||||
0x00064000 /* EMC_DLL_XFORM_DQS4 */
|
|
||||||
0x00064000 /* EMC_DLL_XFORM_DQS5 */
|
|
||||||
0x00064000 /* EMC_DLL_XFORM_DQS6 */
|
|
||||||
0x00064000 /* EMC_DLL_XFORM_DQS7 */
|
|
||||||
0x00064000 /* EMC_DLL_XFORM_DQS8 */
|
|
||||||
0x00064000 /* EMC_DLL_XFORM_DQS9 */
|
|
||||||
0x00064000 /* EMC_DLL_XFORM_DQS10 */
|
|
||||||
0x00064000 /* EMC_DLL_XFORM_DQS11 */
|
|
||||||
0x00064000 /* EMC_DLL_XFORM_DQS12 */
|
|
||||||
0x00064000 /* EMC_DLL_XFORM_DQS13 */
|
|
||||||
0x00064000 /* EMC_DLL_XFORM_DQS14 */
|
|
||||||
0x00064000 /* EMC_DLL_XFORM_DQS15 */
|
|
||||||
0x00000000 /* EMC_DLL_XFORM_QUSE0 */
|
|
||||||
0x00000000 /* EMC_DLL_XFORM_QUSE1 */
|
|
||||||
0x00000000 /* EMC_DLL_XFORM_QUSE2 */
|
|
||||||
0x00000000 /* EMC_DLL_XFORM_QUSE3 */
|
|
||||||
0x00000000 /* EMC_DLL_XFORM_QUSE4 */
|
|
||||||
0x00000000 /* EMC_DLL_XFORM_QUSE5 */
|
|
||||||
0x00000000 /* EMC_DLL_XFORM_QUSE6 */
|
|
||||||
0x00000000 /* EMC_DLL_XFORM_QUSE7 */
|
|
||||||
0x00000000 /* EMC_DLL_XFORM_ADDR0 */
|
|
||||||
0x00000000 /* EMC_DLL_XFORM_ADDR1 */
|
|
||||||
0x00000000 /* EMC_DLL_XFORM_ADDR2 */
|
|
||||||
0x00000000 /* EMC_DLL_XFORM_ADDR3 */
|
|
||||||
0x00000000 /* EMC_DLL_XFORM_ADDR4 */
|
|
||||||
0x00000000 /* EMC_DLL_XFORM_ADDR5 */
|
|
||||||
0x00000000 /* EMC_DLL_XFORM_QUSE8 */
|
|
||||||
0x00000000 /* EMC_DLL_XFORM_QUSE9 */
|
|
||||||
0x00000000 /* EMC_DLL_XFORM_QUSE10 */
|
|
||||||
0x00000000 /* EMC_DLL_XFORM_QUSE11 */
|
|
||||||
0x00000000 /* EMC_DLL_XFORM_QUSE12 */
|
|
||||||
0x00000000 /* EMC_DLL_XFORM_QUSE13 */
|
|
||||||
0x00000000 /* EMC_DLL_XFORM_QUSE14 */
|
|
||||||
0x00000000 /* EMC_DLL_XFORM_QUSE15 */
|
|
||||||
0x00000000 /* EMC_DLI_TRIM_TXDQS0 */
|
|
||||||
0x00000000 /* EMC_DLI_TRIM_TXDQS1 */
|
|
||||||
0x00000000 /* EMC_DLI_TRIM_TXDQS2 */
|
|
||||||
0x00000000 /* EMC_DLI_TRIM_TXDQS3 */
|
|
||||||
0x00000000 /* EMC_DLI_TRIM_TXDQS4 */
|
|
||||||
0x00000000 /* EMC_DLI_TRIM_TXDQS5 */
|
|
||||||
0x00000000 /* EMC_DLI_TRIM_TXDQS6 */
|
|
||||||
0x00000000 /* EMC_DLI_TRIM_TXDQS7 */
|
|
||||||
0x00000000 /* EMC_DLI_TRIM_TXDQS8 */
|
|
||||||
0x00000000 /* EMC_DLI_TRIM_TXDQS9 */
|
|
||||||
0x00000000 /* EMC_DLI_TRIM_TXDQS10 */
|
|
||||||
0x00000000 /* EMC_DLI_TRIM_TXDQS11 */
|
|
||||||
0x00000000 /* EMC_DLI_TRIM_TXDQS12 */
|
|
||||||
0x00000000 /* EMC_DLI_TRIM_TXDQS13 */
|
|
||||||
0x00000000 /* EMC_DLI_TRIM_TXDQS14 */
|
|
||||||
0x00000000 /* EMC_DLI_TRIM_TXDQS15 */
|
|
||||||
0x000fc000 /* EMC_DLL_XFORM_DQ0 */
|
|
||||||
0x000fc000 /* EMC_DLL_XFORM_DQ1 */
|
|
||||||
0x000fc000 /* EMC_DLL_XFORM_DQ2 */
|
|
||||||
0x000fc000 /* EMC_DLL_XFORM_DQ3 */
|
|
||||||
0x0000fc00 /* EMC_DLL_XFORM_DQ4 */
|
|
||||||
0x0000fc00 /* EMC_DLL_XFORM_DQ5 */
|
|
||||||
0x0000fc00 /* EMC_DLL_XFORM_DQ6 */
|
|
||||||
0x0000fc00 /* EMC_DLL_XFORM_DQ7 */
|
|
||||||
0x10000280 /* EMC_XM2CMDPADCTRL */
|
|
||||||
0x00000000 /* EMC_XM2CMDPADCTRL4 */
|
|
||||||
0x00111111 /* EMC_XM2CMDPADCTRL5 */
|
|
||||||
0x00000000 /* EMC_XM2DQPADCTRL2 */
|
|
||||||
0x00000000 /* EMC_XM2DQPADCTRL3 */
|
|
||||||
0x77ffc081 /* EMC_XM2CLKPADCTRL */
|
|
||||||
0x00000e0e /* EMC_XM2CLKPADCTRL2 */
|
|
||||||
0x81f1f108 /* EMC_XM2COMPPADCTRL */
|
|
||||||
0x07070004 /* EMC_XM2VTTGENPADCTRL */
|
|
||||||
0x0000003f /* EMC_XM2VTTGENPADCTRL2 */
|
|
||||||
0x016eeeee /* EMC_XM2VTTGENPADCTRL3 */
|
|
||||||
0x51451400 /* EMC_XM2DQSPADCTRL3 */
|
|
||||||
0x00514514 /* EMC_XM2DQSPADCTRL4 */
|
|
||||||
0x00514514 /* EMC_XM2DQSPADCTRL5 */
|
|
||||||
0x51451400 /* EMC_XM2DQSPADCTRL6 */
|
|
||||||
0x0000003f /* EMC_DSR_VTTGEN_DRV */
|
|
||||||
0x00000007 /* EMC_TXDSRVTTGEN */
|
|
||||||
0x00000000 /* EMC_FBIO_SPARE */
|
|
||||||
0x00000042 /* EMC_ZCAL_WAIT_CNT */
|
|
||||||
0x000e000e /* EMC_MRS_WAIT_CNT2 */
|
|
||||||
0x00000000 /* EMC_CTT */
|
|
||||||
0x00000003 /* EMC_CTT_DURATION */
|
|
||||||
0x0000f2f3 /* EMC_CFG_PIPE */
|
|
||||||
0x800001c5 /* EMC_DYN_SELF_REF_CONTROL */
|
|
||||||
0x0000000a /* EMC_QPOP */
|
|
||||||
>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -0,0 +1,528 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/memory-controllers/nvidia,tegra124-emc.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: NVIDIA Tegra124 SoC External Memory Controller
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Thierry Reding <thierry.reding@gmail.com>
|
||||||
|
- Jon Hunter <jonathanh@nvidia.com>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
The EMC interfaces with the off-chip SDRAM to service the request stream
|
||||||
|
sent from the memory controller.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: nvidia,tegra124-emc
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
items:
|
||||||
|
- description: external memory clock
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: emc
|
||||||
|
|
||||||
|
nvidia,memory-controller:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||||||
|
description:
|
||||||
|
phandle of the memory controller node
|
||||||
|
|
||||||
|
patternProperties:
|
||||||
|
"^emc-timings-[0-9]+$":
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
nvidia,ram-code:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description:
|
||||||
|
value of the RAM_CODE field in the PMC_STRAPPING_OPT_A register that
|
||||||
|
this timing set is used for
|
||||||
|
|
||||||
|
patternProperties:
|
||||||
|
"^timing-[0-9]+$":
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
clock-frequency:
|
||||||
|
description:
|
||||||
|
external memory clock rate in Hz
|
||||||
|
minimum: 1000000
|
||||||
|
maximum: 1000000000
|
||||||
|
|
||||||
|
nvidia,emc-auto-cal-config:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description:
|
||||||
|
value of the EMC_AUTO_CAL_CONFIG register for this set of
|
||||||
|
timings
|
||||||
|
|
||||||
|
nvidia,emc-auto-cal-config2:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description:
|
||||||
|
value of the EMC_AUTO_CAL_CONFIG2 register for this set of
|
||||||
|
timings
|
||||||
|
|
||||||
|
nvidia,emc-auto-cal-config3:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description:
|
||||||
|
value of the EMC_AUTO_CAL_CONFIG3 register for this set of
|
||||||
|
timings
|
||||||
|
|
||||||
|
nvidia,emc-auto-cal-interval:
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description:
|
||||||
|
pad calibration interval in microseconds
|
||||||
|
minimum: 0
|
||||||
|
maximum: 2097151
|
||||||
|
|
||||||
|
nvidia,emc-bgbias-ctl0:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description:
|
||||||
|
value of the EMC_BGBIAS_CTL0 register for this set of timings
|
||||||
|
|
||||||
|
nvidia,emc-cfg:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description:
|
||||||
|
value of the EMC_CFG register for this set of timings
|
||||||
|
|
||||||
|
nvidia,emc-cfg-2:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description:
|
||||||
|
value of the EMC_CFG_2 register for this set of timings
|
||||||
|
|
||||||
|
nvidia,emc-ctt-term-ctrl:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description:
|
||||||
|
value of the EMC_CTT_TERM_CTRL register for this set of timings
|
||||||
|
|
||||||
|
nvidia,emc-mode-1:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description:
|
||||||
|
value of the EMC_MRW register for this set of timings
|
||||||
|
|
||||||
|
nvidia,emc-mode-2:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description:
|
||||||
|
value of the EMC_MRW2 register for this set of timings
|
||||||
|
|
||||||
|
nvidia,emc-mode-4:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description:
|
||||||
|
value of the EMC_MRW4 register for this set of timings
|
||||||
|
|
||||||
|
nvidia,emc-mode-reset:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description:
|
||||||
|
reset value of the EMC_MRS register for this set of timings
|
||||||
|
|
||||||
|
nvidia,emc-mrs-wait-cnt:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description:
|
||||||
|
value of the EMR_MRS_WAIT_CNT register for this set of timings
|
||||||
|
|
||||||
|
nvidia,emc-sel-dpd-ctrl:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description:
|
||||||
|
value of the EMC_SEL_DPD_CTRL register for this set of timings
|
||||||
|
|
||||||
|
nvidia,emc-xm2dqspadctrl2:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description:
|
||||||
|
value of the EMC_XM2DQSPADCTRL2 register for this set of timings
|
||||||
|
|
||||||
|
nvidia,emc-zcal-cnt-long:
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description:
|
||||||
|
number of EMC clocks to wait before issuing any commands after
|
||||||
|
clock change
|
||||||
|
minimum: 0
|
||||||
|
maximum: 1023
|
||||||
|
|
||||||
|
nvidia,emc-zcal-interval:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description:
|
||||||
|
value of the EMC_ZCAL_INTERVAL register for this set of timings
|
||||||
|
|
||||||
|
nvidia,emc-configuration:
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/types.yaml#/definitions/uint32-array
|
||||||
|
description:
|
||||||
|
EMC timing characterization data. These are the registers (see
|
||||||
|
section "15.6.2 EMC Registers" in the TRM) whose values need to
|
||||||
|
be specified, according to the board documentation.
|
||||||
|
items:
|
||||||
|
- description: EMC_RC
|
||||||
|
- description: EMC_RFC
|
||||||
|
- description: EMC_RFC_SLR
|
||||||
|
- description: EMC_RAS
|
||||||
|
- description: EMC_RP
|
||||||
|
- description: EMC_R2W
|
||||||
|
- description: EMC_W2R
|
||||||
|
- description: EMC_R2P
|
||||||
|
- description: EMC_W2P
|
||||||
|
- description: EMC_RD_RCD
|
||||||
|
- description: EMC_WR_RCD
|
||||||
|
- description: EMC_RRD
|
||||||
|
- description: EMC_REXT
|
||||||
|
- description: EMC_WEXT
|
||||||
|
- description: EMC_WDV
|
||||||
|
- description: EMC_WDV_MASK
|
||||||
|
- description: EMC_QUSE
|
||||||
|
- description: EMC_QUSE_WIDTH
|
||||||
|
- description: EMC_IBDLY
|
||||||
|
- description: EMC_EINPUT
|
||||||
|
- description: EMC_EINPUT_DURATION
|
||||||
|
- description: EMC_PUTERM_EXTRA
|
||||||
|
- description: EMC_PUTERM_WIDTH
|
||||||
|
- description: EMC_PUTERM_ADJ
|
||||||
|
- description: EMC_CDB_CNTL_1
|
||||||
|
- description: EMC_CDB_CNTL_2
|
||||||
|
- description: EMC_CDB_CNTL_3
|
||||||
|
- description: EMC_QRST
|
||||||
|
- description: EMC_QSAFE
|
||||||
|
- description: EMC_RDV
|
||||||
|
- description: EMC_RDV_MASK
|
||||||
|
- description: EMC_REFRESH
|
||||||
|
- description: EMC_BURST_REFRESH_NUM
|
||||||
|
- description: EMC_PRE_REFRESH_REQ_CNT
|
||||||
|
- description: EMC_PDEX2WR
|
||||||
|
- description: EMC_PDEX2RD
|
||||||
|
- description: EMC_PCHG2PDEN
|
||||||
|
- description: EMC_ACT2PDEN
|
||||||
|
- description: EMC_AR2PDEN
|
||||||
|
- description: EMC_RW2PDEN
|
||||||
|
- description: EMC_TXSR
|
||||||
|
- description: EMC_TXSRDLL
|
||||||
|
- description: EMC_TCKE
|
||||||
|
- description: EMC_TCKESR
|
||||||
|
- description: EMC_TPD
|
||||||
|
- description: EMC_TFAW
|
||||||
|
- description: EMC_TRPAB
|
||||||
|
- description: EMC_TCLKSTABLE
|
||||||
|
- description: EMC_TCLKSTOP
|
||||||
|
- description: EMC_TREFBW
|
||||||
|
- description: EMC_FBIO_CFG6
|
||||||
|
- description: EMC_ODT_WRITE
|
||||||
|
- description: EMC_ODT_READ
|
||||||
|
- description: EMC_FBIO_CFG5
|
||||||
|
- description: EMC_CFG_DIG_DLL
|
||||||
|
- description: EMC_CFG_DIG_DLL_PERIOD
|
||||||
|
- description: EMC_DLL_XFORM_DQS0
|
||||||
|
- description: EMC_DLL_XFORM_DQS1
|
||||||
|
- description: EMC_DLL_XFORM_DQS2
|
||||||
|
- description: EMC_DLL_XFORM_DQS3
|
||||||
|
- description: EMC_DLL_XFORM_DQS4
|
||||||
|
- description: EMC_DLL_XFORM_DQS5
|
||||||
|
- description: EMC_DLL_XFORM_DQS6
|
||||||
|
- description: EMC_DLL_XFORM_DQS7
|
||||||
|
- description: EMC_DLL_XFORM_DQS8
|
||||||
|
- description: EMC_DLL_XFORM_DQS9
|
||||||
|
- description: EMC_DLL_XFORM_DQS10
|
||||||
|
- description: EMC_DLL_XFORM_DQS11
|
||||||
|
- description: EMC_DLL_XFORM_DQS12
|
||||||
|
- description: EMC_DLL_XFORM_DQS13
|
||||||
|
- description: EMC_DLL_XFORM_DQS14
|
||||||
|
- description: EMC_DLL_XFORM_DQS15
|
||||||
|
- description: EMC_DLL_XFORM_QUSE0
|
||||||
|
- description: EMC_DLL_XFORM_QUSE1
|
||||||
|
- description: EMC_DLL_XFORM_QUSE2
|
||||||
|
- description: EMC_DLL_XFORM_QUSE3
|
||||||
|
- description: EMC_DLL_XFORM_QUSE4
|
||||||
|
- description: EMC_DLL_XFORM_QUSE5
|
||||||
|
- description: EMC_DLL_XFORM_QUSE6
|
||||||
|
- description: EMC_DLL_XFORM_QUSE7
|
||||||
|
- description: EMC_DLL_XFORM_ADDR0
|
||||||
|
- description: EMC_DLL_XFORM_ADDR1
|
||||||
|
- description: EMC_DLL_XFORM_ADDR2
|
||||||
|
- description: EMC_DLL_XFORM_ADDR3
|
||||||
|
- description: EMC_DLL_XFORM_ADDR4
|
||||||
|
- description: EMC_DLL_XFORM_ADDR5
|
||||||
|
- description: EMC_DLL_XFORM_QUSE8
|
||||||
|
- description: EMC_DLL_XFORM_QUSE9
|
||||||
|
- description: EMC_DLL_XFORM_QUSE10
|
||||||
|
- description: EMC_DLL_XFORM_QUSE11
|
||||||
|
- description: EMC_DLL_XFORM_QUSE12
|
||||||
|
- description: EMC_DLL_XFORM_QUSE13
|
||||||
|
- description: EMC_DLL_XFORM_QUSE14
|
||||||
|
- description: EMC_DLL_XFORM_QUSE15
|
||||||
|
- description: EMC_DLI_TRIM_TXDQS0
|
||||||
|
- description: EMC_DLI_TRIM_TXDQS1
|
||||||
|
- description: EMC_DLI_TRIM_TXDQS2
|
||||||
|
- description: EMC_DLI_TRIM_TXDQS3
|
||||||
|
- description: EMC_DLI_TRIM_TXDQS4
|
||||||
|
- description: EMC_DLI_TRIM_TXDQS5
|
||||||
|
- description: EMC_DLI_TRIM_TXDQS6
|
||||||
|
- description: EMC_DLI_TRIM_TXDQS7
|
||||||
|
- description: EMC_DLI_TRIM_TXDQS8
|
||||||
|
- description: EMC_DLI_TRIM_TXDQS9
|
||||||
|
- description: EMC_DLI_TRIM_TXDQS10
|
||||||
|
- description: EMC_DLI_TRIM_TXDQS11
|
||||||
|
- description: EMC_DLI_TRIM_TXDQS12
|
||||||
|
- description: EMC_DLI_TRIM_TXDQS13
|
||||||
|
- description: EMC_DLI_TRIM_TXDQS14
|
||||||
|
- description: EMC_DLI_TRIM_TXDQS15
|
||||||
|
- description: EMC_DLL_XFORM_DQ0
|
||||||
|
- description: EMC_DLL_XFORM_DQ1
|
||||||
|
- description: EMC_DLL_XFORM_DQ2
|
||||||
|
- description: EMC_DLL_XFORM_DQ3
|
||||||
|
- description: EMC_DLL_XFORM_DQ4
|
||||||
|
- description: EMC_DLL_XFORM_DQ5
|
||||||
|
- description: EMC_DLL_XFORM_DQ6
|
||||||
|
- description: EMC_DLL_XFORM_DQ7
|
||||||
|
- description: EMC_XM2CMDPADCTRL
|
||||||
|
- description: EMC_XM2CMDPADCTRL4
|
||||||
|
- description: EMC_XM2CMDPADCTRL5
|
||||||
|
- description: EMC_XM2DQPADCTRL2
|
||||||
|
- description: EMC_XM2DQPADCTRL3
|
||||||
|
- description: EMC_XM2CLKPADCTRL
|
||||||
|
- description: EMC_XM2CLKPADCTRL2
|
||||||
|
- description: EMC_XM2COMPPADCTRL
|
||||||
|
- description: EMC_XM2VTTGENPADCTRL
|
||||||
|
- description: EMC_XM2VTTGENPADCTRL2
|
||||||
|
- description: EMC_XM2VTTGENPADCTRL3
|
||||||
|
- description: EMC_XM2DQSPADCTRL3
|
||||||
|
- description: EMC_XM2DQSPADCTRL4
|
||||||
|
- description: EMC_XM2DQSPADCTRL5
|
||||||
|
- description: EMC_XM2DQSPADCTRL6
|
||||||
|
- description: EMC_DSR_VTTGEN_DRV
|
||||||
|
- description: EMC_TXDSRVTTGEN
|
||||||
|
- description: EMC_FBIO_SPARE
|
||||||
|
- description: EMC_ZCAL_WAIT_CNT
|
||||||
|
- description: EMC_MRS_WAIT_CNT2
|
||||||
|
- description: EMC_CTT
|
||||||
|
- description: EMC_CTT_DURATION
|
||||||
|
- description: EMC_CFG_PIPE
|
||||||
|
- description: EMC_DYN_SELF_REF_CONTROL
|
||||||
|
- description: EMC_QPOP
|
||||||
|
|
||||||
|
required:
|
||||||
|
- clock-frequency
|
||||||
|
- nvidia,emc-auto-cal-config
|
||||||
|
- nvidia,emc-auto-cal-config2
|
||||||
|
- nvidia,emc-auto-cal-config3
|
||||||
|
- nvidia,emc-auto-cal-interval
|
||||||
|
- nvidia,emc-bgbias-ctl0
|
||||||
|
- nvidia,emc-cfg
|
||||||
|
- nvidia,emc-cfg-2
|
||||||
|
- nvidia,emc-ctt-term-ctrl
|
||||||
|
- nvidia,emc-mode-1
|
||||||
|
- nvidia,emc-mode-2
|
||||||
|
- nvidia,emc-mode-4
|
||||||
|
- nvidia,emc-mode-reset
|
||||||
|
- nvidia,emc-mrs-wait-cnt
|
||||||
|
- nvidia,emc-sel-dpd-ctrl
|
||||||
|
- nvidia,emc-xm2dqspadctrl2
|
||||||
|
- nvidia,emc-zcal-cnt-long
|
||||||
|
- nvidia,emc-zcal-interval
|
||||||
|
- nvidia,emc-configuration
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- clocks
|
||||||
|
- clock-names
|
||||||
|
- nvidia,memory-controller
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/clock/tegra124-car.h>
|
||||||
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||||
|
|
||||||
|
mc: memory-controller@70019000 {
|
||||||
|
compatible = "nvidia,tegra124-mc";
|
||||||
|
reg = <0x0 0x70019000 0x0 0x1000>;
|
||||||
|
clocks = <&tegra_car TEGRA124_CLK_MC>;
|
||||||
|
clock-names = "mc";
|
||||||
|
|
||||||
|
interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
|
||||||
|
#iommu-cells = <1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
external-memory-controller@7001b000 {
|
||||||
|
compatible = "nvidia,tegra124-emc";
|
||||||
|
reg = <0x0 0x7001b000 0x0 0x1000>;
|
||||||
|
clocks = <&car TEGRA124_CLK_EMC>;
|
||||||
|
clock-names = "emc";
|
||||||
|
|
||||||
|
nvidia,memory-controller = <&mc>;
|
||||||
|
|
||||||
|
emc-timings-0 {
|
||||||
|
nvidia,ram-code = <3>;
|
||||||
|
|
||||||
|
timing-0 {
|
||||||
|
clock-frequency = <12750000>;
|
||||||
|
|
||||||
|
nvidia,emc-zcal-cnt-long = <0x00000042>;
|
||||||
|
nvidia,emc-auto-cal-interval = <0x001fffff>;
|
||||||
|
nvidia,emc-ctt-term-ctrl = <0x00000802>;
|
||||||
|
nvidia,emc-cfg = <0x73240000>;
|
||||||
|
nvidia,emc-cfg-2 = <0x000008c5>;
|
||||||
|
nvidia,emc-sel-dpd-ctrl = <0x00040128>;
|
||||||
|
nvidia,emc-bgbias-ctl0 = <0x00000008>;
|
||||||
|
nvidia,emc-auto-cal-config = <0xa1430000>;
|
||||||
|
nvidia,emc-auto-cal-config2 = <0x00000000>;
|
||||||
|
nvidia,emc-auto-cal-config3 = <0x00000000>;
|
||||||
|
nvidia,emc-mode-reset = <0x80001221>;
|
||||||
|
nvidia,emc-mode-1 = <0x80100003>;
|
||||||
|
nvidia,emc-mode-2 = <0x80200008>;
|
||||||
|
nvidia,emc-mode-4 = <0x00000000>;
|
||||||
|
|
||||||
|
nvidia,emc-configuration = <
|
||||||
|
0x00000000 /* EMC_RC */
|
||||||
|
0x00000003 /* EMC_RFC */
|
||||||
|
0x00000000 /* EMC_RFC_SLR */
|
||||||
|
0x00000000 /* EMC_RAS */
|
||||||
|
0x00000000 /* EMC_RP */
|
||||||
|
0x00000004 /* EMC_R2W */
|
||||||
|
0x0000000a /* EMC_W2R */
|
||||||
|
0x00000003 /* EMC_R2P */
|
||||||
|
0x0000000b /* EMC_W2P */
|
||||||
|
0x00000000 /* EMC_RD_RCD */
|
||||||
|
0x00000000 /* EMC_WR_RCD */
|
||||||
|
0x00000003 /* EMC_RRD */
|
||||||
|
0x00000003 /* EMC_REXT */
|
||||||
|
0x00000000 /* EMC_WEXT */
|
||||||
|
0x00000006 /* EMC_WDV */
|
||||||
|
0x00000006 /* EMC_WDV_MASK */
|
||||||
|
0x00000006 /* EMC_QUSE */
|
||||||
|
0x00000002 /* EMC_QUSE_WIDTH */
|
||||||
|
0x00000000 /* EMC_IBDLY */
|
||||||
|
0x00000005 /* EMC_EINPUT */
|
||||||
|
0x00000005 /* EMC_EINPUT_DURATION */
|
||||||
|
0x00010000 /* EMC_PUTERM_EXTRA */
|
||||||
|
0x00000003 /* EMC_PUTERM_WIDTH */
|
||||||
|
0x00000000 /* EMC_PUTERM_ADJ */
|
||||||
|
0x00000000 /* EMC_CDB_CNTL_1 */
|
||||||
|
0x00000000 /* EMC_CDB_CNTL_2 */
|
||||||
|
0x00000000 /* EMC_CDB_CNTL_3 */
|
||||||
|
0x00000004 /* EMC_QRST */
|
||||||
|
0x0000000c /* EMC_QSAFE */
|
||||||
|
0x0000000d /* EMC_RDV */
|
||||||
|
0x0000000f /* EMC_RDV_MASK */
|
||||||
|
0x00000060 /* EMC_REFRESH */
|
||||||
|
0x00000000 /* EMC_BURST_REFRESH_NUM */
|
||||||
|
0x00000018 /* EMC_PRE_REFRESH_REQ_CNT */
|
||||||
|
0x00000002 /* EMC_PDEX2WR */
|
||||||
|
0x00000002 /* EMC_PDEX2RD */
|
||||||
|
0x00000001 /* EMC_PCHG2PDEN */
|
||||||
|
0x00000000 /* EMC_ACT2PDEN */
|
||||||
|
0x00000007 /* EMC_AR2PDEN */
|
||||||
|
0x0000000f /* EMC_RW2PDEN */
|
||||||
|
0x00000005 /* EMC_TXSR */
|
||||||
|
0x00000005 /* EMC_TXSRDLL */
|
||||||
|
0x00000004 /* EMC_TCKE */
|
||||||
|
0x00000005 /* EMC_TCKESR */
|
||||||
|
0x00000004 /* EMC_TPD */
|
||||||
|
0x00000000 /* EMC_TFAW */
|
||||||
|
0x00000000 /* EMC_TRPAB */
|
||||||
|
0x00000005 /* EMC_TCLKSTABLE */
|
||||||
|
0x00000005 /* EMC_TCLKSTOP */
|
||||||
|
0x00000064 /* EMC_TREFBW */
|
||||||
|
0x00000000 /* EMC_FBIO_CFG6 */
|
||||||
|
0x00000000 /* EMC_ODT_WRITE */
|
||||||
|
0x00000000 /* EMC_ODT_READ */
|
||||||
|
0x106aa298 /* EMC_FBIO_CFG5 */
|
||||||
|
0x002c00a0 /* EMC_CFG_DIG_DLL */
|
||||||
|
0x00008000 /* EMC_CFG_DIG_DLL_PERIOD */
|
||||||
|
0x00064000 /* EMC_DLL_XFORM_DQS0 */
|
||||||
|
0x00064000 /* EMC_DLL_XFORM_DQS1 */
|
||||||
|
0x00064000 /* EMC_DLL_XFORM_DQS2 */
|
||||||
|
0x00064000 /* EMC_DLL_XFORM_DQS3 */
|
||||||
|
0x00064000 /* EMC_DLL_XFORM_DQS4 */
|
||||||
|
0x00064000 /* EMC_DLL_XFORM_DQS5 */
|
||||||
|
0x00064000 /* EMC_DLL_XFORM_DQS6 */
|
||||||
|
0x00064000 /* EMC_DLL_XFORM_DQS7 */
|
||||||
|
0x00064000 /* EMC_DLL_XFORM_DQS8 */
|
||||||
|
0x00064000 /* EMC_DLL_XFORM_DQS9 */
|
||||||
|
0x00064000 /* EMC_DLL_XFORM_DQS10 */
|
||||||
|
0x00064000 /* EMC_DLL_XFORM_DQS11 */
|
||||||
|
0x00064000 /* EMC_DLL_XFORM_DQS12 */
|
||||||
|
0x00064000 /* EMC_DLL_XFORM_DQS13 */
|
||||||
|
0x00064000 /* EMC_DLL_XFORM_DQS14 */
|
||||||
|
0x00064000 /* EMC_DLL_XFORM_DQS15 */
|
||||||
|
0x00000000 /* EMC_DLL_XFORM_QUSE0 */
|
||||||
|
0x00000000 /* EMC_DLL_XFORM_QUSE1 */
|
||||||
|
0x00000000 /* EMC_DLL_XFORM_QUSE2 */
|
||||||
|
0x00000000 /* EMC_DLL_XFORM_QUSE3 */
|
||||||
|
0x00000000 /* EMC_DLL_XFORM_QUSE4 */
|
||||||
|
0x00000000 /* EMC_DLL_XFORM_QUSE5 */
|
||||||
|
0x00000000 /* EMC_DLL_XFORM_QUSE6 */
|
||||||
|
0x00000000 /* EMC_DLL_XFORM_QUSE7 */
|
||||||
|
0x00000000 /* EMC_DLL_XFORM_ADDR0 */
|
||||||
|
0x00000000 /* EMC_DLL_XFORM_ADDR1 */
|
||||||
|
0x00000000 /* EMC_DLL_XFORM_ADDR2 */
|
||||||
|
0x00000000 /* EMC_DLL_XFORM_ADDR3 */
|
||||||
|
0x00000000 /* EMC_DLL_XFORM_ADDR4 */
|
||||||
|
0x00000000 /* EMC_DLL_XFORM_ADDR5 */
|
||||||
|
0x00000000 /* EMC_DLL_XFORM_QUSE8 */
|
||||||
|
0x00000000 /* EMC_DLL_XFORM_QUSE9 */
|
||||||
|
0x00000000 /* EMC_DLL_XFORM_QUSE10 */
|
||||||
|
0x00000000 /* EMC_DLL_XFORM_QUSE11 */
|
||||||
|
0x00000000 /* EMC_DLL_XFORM_QUSE12 */
|
||||||
|
0x00000000 /* EMC_DLL_XFORM_QUSE13 */
|
||||||
|
0x00000000 /* EMC_DLL_XFORM_QUSE14 */
|
||||||
|
0x00000000 /* EMC_DLL_XFORM_QUSE15 */
|
||||||
|
0x00000000 /* EMC_DLI_TRIM_TXDQS0 */
|
||||||
|
0x00000000 /* EMC_DLI_TRIM_TXDQS1 */
|
||||||
|
0x00000000 /* EMC_DLI_TRIM_TXDQS2 */
|
||||||
|
0x00000000 /* EMC_DLI_TRIM_TXDQS3 */
|
||||||
|
0x00000000 /* EMC_DLI_TRIM_TXDQS4 */
|
||||||
|
0x00000000 /* EMC_DLI_TRIM_TXDQS5 */
|
||||||
|
0x00000000 /* EMC_DLI_TRIM_TXDQS6 */
|
||||||
|
0x00000000 /* EMC_DLI_TRIM_TXDQS7 */
|
||||||
|
0x00000000 /* EMC_DLI_TRIM_TXDQS8 */
|
||||||
|
0x00000000 /* EMC_DLI_TRIM_TXDQS9 */
|
||||||
|
0x00000000 /* EMC_DLI_TRIM_TXDQS10 */
|
||||||
|
0x00000000 /* EMC_DLI_TRIM_TXDQS11 */
|
||||||
|
0x00000000 /* EMC_DLI_TRIM_TXDQS12 */
|
||||||
|
0x00000000 /* EMC_DLI_TRIM_TXDQS13 */
|
||||||
|
0x00000000 /* EMC_DLI_TRIM_TXDQS14 */
|
||||||
|
0x00000000 /* EMC_DLI_TRIM_TXDQS15 */
|
||||||
|
0x000fc000 /* EMC_DLL_XFORM_DQ0 */
|
||||||
|
0x000fc000 /* EMC_DLL_XFORM_DQ1 */
|
||||||
|
0x000fc000 /* EMC_DLL_XFORM_DQ2 */
|
||||||
|
0x000fc000 /* EMC_DLL_XFORM_DQ3 */
|
||||||
|
0x0000fc00 /* EMC_DLL_XFORM_DQ4 */
|
||||||
|
0x0000fc00 /* EMC_DLL_XFORM_DQ5 */
|
||||||
|
0x0000fc00 /* EMC_DLL_XFORM_DQ6 */
|
||||||
|
0x0000fc00 /* EMC_DLL_XFORM_DQ7 */
|
||||||
|
0x10000280 /* EMC_XM2CMDPADCTRL */
|
||||||
|
0x00000000 /* EMC_XM2CMDPADCTRL4 */
|
||||||
|
0x00111111 /* EMC_XM2CMDPADCTRL5 */
|
||||||
|
0x00000000 /* EMC_XM2DQPADCTRL2 */
|
||||||
|
0x00000000 /* EMC_XM2DQPADCTRL3 */
|
||||||
|
0x77ffc081 /* EMC_XM2CLKPADCTRL */
|
||||||
|
0x00000e0e /* EMC_XM2CLKPADCTRL2 */
|
||||||
|
0x81f1f108 /* EMC_XM2COMPPADCTRL */
|
||||||
|
0x07070004 /* EMC_XM2VTTGENPADCTRL */
|
||||||
|
0x0000003f /* EMC_XM2VTTGENPADCTRL2 */
|
||||||
|
0x016eeeee /* EMC_XM2VTTGENPADCTRL3 */
|
||||||
|
0x51451400 /* EMC_XM2DQSPADCTRL3 */
|
||||||
|
0x00514514 /* EMC_XM2DQSPADCTRL4 */
|
||||||
|
0x00514514 /* EMC_XM2DQSPADCTRL5 */
|
||||||
|
0x51451400 /* EMC_XM2DQSPADCTRL6 */
|
||||||
|
0x0000003f /* EMC_DSR_VTTGEN_DRV */
|
||||||
|
0x00000007 /* EMC_TXDSRVTTGEN */
|
||||||
|
0x00000000 /* EMC_FBIO_SPARE */
|
||||||
|
0x00000042 /* EMC_ZCAL_WAIT_CNT */
|
||||||
|
0x000e000e /* EMC_MRS_WAIT_CNT2 */
|
||||||
|
0x00000000 /* EMC_CTT */
|
||||||
|
0x00000003 /* EMC_CTT_DURATION */
|
||||||
|
0x0000f2f3 /* EMC_CFG_PIPE */
|
||||||
|
0x800001c5 /* EMC_DYN_SELF_REF_CONTROL */
|
||||||
|
0x0000000a /* EMC_QPOP */
|
||||||
|
>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
|
@ -0,0 +1,130 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/memory-controllers/nvidia,tegra186-mc.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: NVIDIA Tegra186 (and later) SoC Memory Controller
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Jon Hunter <jonathanh@nvidia.com>
|
||||||
|
- Thierry Reding <thierry.reding@gmail.com>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
The NVIDIA Tegra186 SoC features a 128 bit memory controller that is split
|
||||||
|
into four 32 bit channels to support LPDDR4 with x16 subpartitions. The MC
|
||||||
|
handles memory requests for 40-bit virtual addresses from internal clients
|
||||||
|
and arbitrates among them to allocate memory bandwidth.
|
||||||
|
|
||||||
|
Up to 15 GiB of physical memory can be supported. Security features such as
|
||||||
|
encryption of traffic to and from DRAM via general security apertures are
|
||||||
|
available for video and other secure applications, as well as DRAM ECC for
|
||||||
|
automotive safety applications (single bit error correction and double bit
|
||||||
|
error detection).
|
||||||
|
|
||||||
|
properties:
|
||||||
|
$nodename:
|
||||||
|
pattern: "^memory-controller@[0-9a-f]+$"
|
||||||
|
|
||||||
|
compatible:
|
||||||
|
items:
|
||||||
|
- enum:
|
||||||
|
- nvidia,tegra186-mc
|
||||||
|
- nvidia,tegra194-mc
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
"#address-cells":
|
||||||
|
const: 2
|
||||||
|
|
||||||
|
"#size-cells":
|
||||||
|
const: 2
|
||||||
|
|
||||||
|
ranges: true
|
||||||
|
|
||||||
|
dma-ranges: true
|
||||||
|
|
||||||
|
patternProperties:
|
||||||
|
"^external-memory-controller@[0-9a-f]+$":
|
||||||
|
description:
|
||||||
|
The bulk of the work involved in controlling the external memory
|
||||||
|
controller on NVIDIA Tegra186 and later is performed on the BPMP. This
|
||||||
|
coprocessor exposes the EMC clock that is used to set the frequency at
|
||||||
|
which the external memory is clocked and a remote procedure call that
|
||||||
|
can be used to obtain the set of available frequencies.
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
items:
|
||||||
|
- enum:
|
||||||
|
- nvidia,tegra186-emc
|
||||||
|
- nvidia,tegra194-emc
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
items:
|
||||||
|
- description: external memory clock
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: emc
|
||||||
|
|
||||||
|
nvidia,bpmp:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||||||
|
description:
|
||||||
|
phandle of the node representing the BPMP
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- interrupts
|
||||||
|
- "#address-cells"
|
||||||
|
- "#size-cells"
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/clock/tegra186-clock.h>
|
||||||
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||||
|
|
||||||
|
memory-controller@2c00000 {
|
||||||
|
compatible = "nvidia,tegra186-mc";
|
||||||
|
reg = <0x0 0x02c00000 0x0 0xb0000>;
|
||||||
|
interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
|
||||||
|
#address-cells = <2>;
|
||||||
|
#size-cells = <2>;
|
||||||
|
|
||||||
|
ranges = <0x0 0x02c00000 0x02c00000 0x0 0xb0000>;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Memory clients have access to all 40 bits that the memory
|
||||||
|
* controller can address.
|
||||||
|
*/
|
||||||
|
dma-ranges = <0x0 0x0 0x0 0x0 0x100 0x0>;
|
||||||
|
|
||||||
|
external-memory-controller@2c60000 {
|
||||||
|
compatible = "nvidia,tegra186-emc";
|
||||||
|
reg = <0x0 0x02c60000 0x0 0x50000>;
|
||||||
|
interrupts = <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
clocks = <&bpmp TEGRA186_CLK_EMC>;
|
||||||
|
clock-names = "emc";
|
||||||
|
|
||||||
|
nvidia,bpmp = <&bpmp>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
bpmp: bpmp {
|
||||||
|
compatible = "nvidia,tegra186-bpmp";
|
||||||
|
#clock-cells = <1>;
|
||||||
|
};
|
|
@ -3,7 +3,9 @@
|
||||||
The GPBR are a set of battery-backed registers.
|
The GPBR are a set of battery-backed registers.
|
||||||
|
|
||||||
Required properties:
|
Required properties:
|
||||||
- compatible: "atmel,at91sam9260-gpbr", "syscon"
|
- compatible: Should be one of the following:
|
||||||
|
"atmel,at91sam9260-gpbr", "syscon"
|
||||||
|
"microchip,sam9x60-gpbr", "syscon"
|
||||||
- reg: contains offset/length value of the GPBR memory
|
- reg: contains offset/length value of the GPBR memory
|
||||||
region.
|
region.
|
||||||
|
|
||||||
|
|
|
@ -13,6 +13,7 @@ Required properties:
|
||||||
"atmel,at91sam9n12-matrix", "syscon"
|
"atmel,at91sam9n12-matrix", "syscon"
|
||||||
"atmel,at91sam9x5-matrix", "syscon"
|
"atmel,at91sam9x5-matrix", "syscon"
|
||||||
"atmel,sama5d3-matrix", "syscon"
|
"atmel,sama5d3-matrix", "syscon"
|
||||||
|
"microchip,sam9x60-matrix", "syscon"
|
||||||
- reg: Contains offset/length value of the Bus Matrix
|
- reg: Contains offset/length value of the Bus Matrix
|
||||||
memory region.
|
memory region.
|
||||||
|
|
||||||
|
|
|
@ -9,6 +9,7 @@ Required properties:
|
||||||
"atmel,at91sam9260-smc", "syscon"
|
"atmel,at91sam9260-smc", "syscon"
|
||||||
"atmel,sama5d3-smc", "syscon"
|
"atmel,sama5d3-smc", "syscon"
|
||||||
"atmel,sama5d2-smc", "syscon"
|
"atmel,sama5d2-smc", "syscon"
|
||||||
|
"microchip,sam9x60-smc", "syscon"
|
||||||
- reg: Contains offset/length value of the SMC memory
|
- reg: Contains offset/length value of the SMC memory
|
||||||
region.
|
region.
|
||||||
|
|
||||||
|
|
|
@ -18,6 +18,7 @@ Required properties:
|
||||||
Optional properties:
|
Optional properties:
|
||||||
===================
|
===================
|
||||||
|
|
||||||
|
- reg: A hint for the memory regions associated with the P2A controller
|
||||||
- memory-region: A phandle to a reserved_memory region to be used for the PCI
|
- memory-region: A phandle to a reserved_memory region to be used for the PCI
|
||||||
to AHB mapping
|
to AHB mapping
|
||||||
|
|
||||||
|
|
|
@ -57,6 +57,7 @@ Required properties:
|
||||||
"atmel,at91sam9g45-pmecc"
|
"atmel,at91sam9g45-pmecc"
|
||||||
"atmel,sama5d4-pmecc"
|
"atmel,sama5d4-pmecc"
|
||||||
"atmel,sama5d2-pmecc"
|
"atmel,sama5d2-pmecc"
|
||||||
|
"microchip,sam9x60-pmecc"
|
||||||
- reg: should contain 2 register ranges. The first one is pointing to the PMECC
|
- reg: should contain 2 register ranges. The first one is pointing to the PMECC
|
||||||
block, and the second one to the PMECC_ERRLOC block.
|
block, and the second one to the PMECC_ERRLOC block.
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
* AT91 CAN *
|
* AT91 CAN *
|
||||||
|
|
||||||
Required properties:
|
Required properties:
|
||||||
- compatible: Should be "atmel,at91sam9263-can" or "atmel,at91sam9x5-can"
|
- compatible: Should be "atmel,at91sam9263-can", "atmel,at91sam9x5-can" or
|
||||||
|
"microchip,sam9x60-can"
|
||||||
- reg: Should contain CAN controller registers location and length
|
- reg: Should contain CAN controller registers location and length
|
||||||
- interrupts: Should contain IRQ line for the CAN controller
|
- interrupts: Should contain IRQ line for the CAN controller
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,7 @@ Required properties:
|
||||||
"renesas,can-r8a7745" if CAN controller is a part of R8A7745 SoC.
|
"renesas,can-r8a7745" if CAN controller is a part of R8A7745 SoC.
|
||||||
"renesas,can-r8a77470" if CAN controller is a part of R8A77470 SoC.
|
"renesas,can-r8a77470" if CAN controller is a part of R8A77470 SoC.
|
||||||
"renesas,can-r8a774a1" if CAN controller is a part of R8A774A1 SoC.
|
"renesas,can-r8a774a1" if CAN controller is a part of R8A774A1 SoC.
|
||||||
|
"renesas,can-r8a774b1" if CAN controller is a part of R8A774B1 SoC.
|
||||||
"renesas,can-r8a774c0" if CAN controller is a part of R8A774C0 SoC.
|
"renesas,can-r8a774c0" if CAN controller is a part of R8A774C0 SoC.
|
||||||
"renesas,can-r8a7778" if CAN controller is a part of R8A7778 SoC.
|
"renesas,can-r8a7778" if CAN controller is a part of R8A7778 SoC.
|
||||||
"renesas,can-r8a7779" if CAN controller is a part of R8A7779 SoC.
|
"renesas,can-r8a7779" if CAN controller is a part of R8A7779 SoC.
|
||||||
|
@ -36,8 +37,8 @@ Required properties:
|
||||||
- pinctrl-0: pin control group to be used for this controller.
|
- pinctrl-0: pin control group to be used for this controller.
|
||||||
- pinctrl-names: must be "default".
|
- pinctrl-names: must be "default".
|
||||||
|
|
||||||
Required properties for R8A774A1, R8A774C0, R8A7795, R8A7796, R8A77965,
|
Required properties for R8A774A1, R8A774B1, R8A774C0, R8A7795, R8A7796,
|
||||||
R8A77990, and R8A77995:
|
R8A77965, R8A77990, and R8A77995:
|
||||||
For the denoted SoCs, "clkp2" can be CANFD clock. This is a div6 clock and can
|
For the denoted SoCs, "clkp2" can be CANFD clock. This is a div6 clock and can
|
||||||
be used by both CAN and CAN FD controller at the same time. It needs to be
|
be used by both CAN and CAN FD controller at the same time. It needs to be
|
||||||
scaled to maximum frequency if any of these controllers use it. This is done
|
scaled to maximum frequency if any of these controllers use it. This is done
|
||||||
|
|
|
@ -5,6 +5,7 @@ Required properties:
|
||||||
- compatible: Must contain one or more of the following:
|
- compatible: Must contain one or more of the following:
|
||||||
- "renesas,rcar-gen3-canfd" for R-Car Gen3 and RZ/G2 compatible controllers.
|
- "renesas,rcar-gen3-canfd" for R-Car Gen3 and RZ/G2 compatible controllers.
|
||||||
- "renesas,r8a774a1-canfd" for R8A774A1 (RZ/G2M) compatible controller.
|
- "renesas,r8a774a1-canfd" for R8A774A1 (RZ/G2M) compatible controller.
|
||||||
|
- "renesas,r8a774b1-canfd" for R8A774B1 (RZ/G2N) compatible controller.
|
||||||
- "renesas,r8a774c0-canfd" for R8A774C0 (RZ/G2E) compatible controller.
|
- "renesas,r8a774c0-canfd" for R8A774C0 (RZ/G2E) compatible controller.
|
||||||
- "renesas,r8a7795-canfd" for R8A7795 (R-Car H3) compatible controller.
|
- "renesas,r8a7795-canfd" for R8A7795 (R-Car H3) compatible controller.
|
||||||
- "renesas,r8a7796-canfd" for R8A7796 (R-Car M3-W) compatible controller.
|
- "renesas,r8a7796-canfd" for R8A7796 (R-Car M3-W) compatible controller.
|
||||||
|
@ -31,8 +32,8 @@ The name of the child nodes are "channel0" and "channel1" respectively. Each
|
||||||
child node supports the "status" property only, which is used to
|
child node supports the "status" property only, which is used to
|
||||||
enable/disable the respective channel.
|
enable/disable the respective channel.
|
||||||
|
|
||||||
Required properties for R8A774A1, R8A774C0, R8A7795, R8A7796, R8A77965,
|
Required properties for R8A774A1, R8A774B1, R8A774C0, R8A7795, R8A7796,
|
||||||
R8A77990, and R8A77995:
|
R8A77965, R8A77990, and R8A77995:
|
||||||
In the denoted SoCs, canfd clock is a div6 clock and can be used by both CAN
|
In the denoted SoCs, canfd clock is a div6 clock and can be used by both CAN
|
||||||
and CAN FD controller at the same time. It needs to be scaled to maximum
|
and CAN FD controller at the same time. It needs to be scaled to maximum
|
||||||
frequency if any of these controllers use it. This is done using the below
|
frequency if any of these controllers use it. This is done using the below
|
||||||
|
|
|
@ -0,0 +1,42 @@
|
||||||
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
# Copyright 2019 Lubomir Rintel <lkundrak@v3.sk>
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: "http://devicetree.org/schemas/phy/marvell,mmp3-hsic-phy.yaml#"
|
||||||
|
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
|
||||||
|
|
||||||
|
title: Marvell MMP3 HSIC PHY
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Lubomir Rintel <lkundrak@v3.sk>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: marvell,mmp3-hsic-phy
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
description: base address of the device
|
||||||
|
|
||||||
|
reset-gpios:
|
||||||
|
maxItems: 1
|
||||||
|
description: GPIO connected to reset
|
||||||
|
|
||||||
|
"#phy-cells":
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- reset-gpios
|
||||||
|
- "#phy-cells"
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
hsic-phy@f0001800 {
|
||||||
|
compatible = "marvell,mmp3-hsic-phy";
|
||||||
|
reg = <0xf0001800 0x40>;
|
||||||
|
reset-gpios = <&gpio 63 GPIO_ACTIVE_HIGH>;
|
||||||
|
#phy-cells = <0>;
|
||||||
|
};
|
|
@ -22,6 +22,9 @@ description: |+
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
const: aspeed,ast2400-pinctrl
|
const: aspeed,ast2400-pinctrl
|
||||||
|
reg:
|
||||||
|
description: |
|
||||||
|
A hint for the memory regions associated with the pin-controller
|
||||||
|
|
||||||
patternProperties:
|
patternProperties:
|
||||||
'^.*$':
|
'^.*$':
|
||||||
|
|
|
@ -23,6 +23,9 @@ description: |+
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
const: aspeed,ast2500-pinctrl
|
const: aspeed,ast2500-pinctrl
|
||||||
|
reg:
|
||||||
|
description: |
|
||||||
|
A hint for the memory regions associated with the pin-controller
|
||||||
aspeed,external-nodes:
|
aspeed,external-nodes:
|
||||||
minItems: 2
|
minItems: 2
|
||||||
maxItems: 2
|
maxItems: 2
|
||||||
|
|
|
@ -30,13 +30,51 @@ properties:
|
||||||
- items:
|
- items:
|
||||||
- const: allwinner,sun50i-h5-pwm
|
- const: allwinner,sun50i-h5-pwm
|
||||||
- const: allwinner,sun5i-a13-pwm
|
- const: allwinner,sun5i-a13-pwm
|
||||||
|
- const: allwinner,sun50i-h6-pwm
|
||||||
|
|
||||||
reg:
|
reg:
|
||||||
maxItems: 1
|
maxItems: 1
|
||||||
|
|
||||||
clocks:
|
clocks:
|
||||||
|
minItems: 1
|
||||||
|
maxItems: 2
|
||||||
|
items:
|
||||||
|
- description: Module Clock
|
||||||
|
- description: Bus Clock
|
||||||
|
|
||||||
|
# Even though it only applies to subschemas under the conditionals,
|
||||||
|
# not listing them here will trigger a warning because of the
|
||||||
|
# additionalsProperties set to false.
|
||||||
|
clock-names: true
|
||||||
|
|
||||||
|
resets:
|
||||||
maxItems: 1
|
maxItems: 1
|
||||||
|
|
||||||
|
if:
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
contains:
|
||||||
|
const: allwinner,sun50i-h6-pwm
|
||||||
|
|
||||||
|
then:
|
||||||
|
properties:
|
||||||
|
clocks:
|
||||||
|
maxItems: 2
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: mod
|
||||||
|
- const: bus
|
||||||
|
|
||||||
|
required:
|
||||||
|
- clock-names
|
||||||
|
- resets
|
||||||
|
|
||||||
|
else:
|
||||||
|
properties:
|
||||||
|
clocks:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
required:
|
required:
|
||||||
- "#pwm-cells"
|
- "#pwm-cells"
|
||||||
- compatible
|
- compatible
|
||||||
|
@ -54,4 +92,17 @@ examples:
|
||||||
#pwm-cells = <3>;
|
#pwm-cells = <3>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/clock/sun50i-h6-ccu.h>
|
||||||
|
#include <dt-bindings/reset/sun50i-h6-ccu.h>
|
||||||
|
|
||||||
|
pwm@300a000 {
|
||||||
|
compatible = "allwinner,sun50i-h6-pwm";
|
||||||
|
reg = <0x0300a000 0x400>;
|
||||||
|
clocks = <&osc24M>, <&ccu CLK_BUS_PWM>;
|
||||||
|
clock-names = "mod", "bus";
|
||||||
|
resets = <&ccu RST_BUS_PWM>;
|
||||||
|
#pwm-cells = <3>;
|
||||||
|
};
|
||||||
|
|
||||||
...
|
...
|
||||||
|
|
|
@ -11,6 +11,7 @@ Required Properties:
|
||||||
- compatible: must contain one or more of the following:
|
- compatible: must contain one or more of the following:
|
||||||
- "renesas,tmu-r8a7740" for the r8a7740 TMU
|
- "renesas,tmu-r8a7740" for the r8a7740 TMU
|
||||||
- "renesas,tmu-r8a774a1" for the r8a774A1 TMU
|
- "renesas,tmu-r8a774a1" for the r8a774A1 TMU
|
||||||
|
- "renesas,tmu-r8a774b1" for the r8a774B1 TMU
|
||||||
- "renesas,tmu-r8a774c0" for the r8a774C0 TMU
|
- "renesas,tmu-r8a774c0" for the r8a774C0 TMU
|
||||||
- "renesas,tmu-r8a7778" for the r8a7778 TMU
|
- "renesas,tmu-r8a7778" for the r8a7778 TMU
|
||||||
- "renesas,tmu-r8a7779" for the r8a7779 TMU
|
- "renesas,tmu-r8a7779" for the r8a7779 TMU
|
||||||
|
|
|
@ -1034,6 +1034,8 @@ patternProperties:
|
||||||
description: Variscite Ltd.
|
description: Variscite Ltd.
|
||||||
"^via,.*":
|
"^via,.*":
|
||||||
description: VIA Technologies, Inc.
|
description: VIA Technologies, Inc.
|
||||||
|
"^videostrong,.*":
|
||||||
|
description: Videostrong Technology Co., Ltd.
|
||||||
"^virtio,.*":
|
"^virtio,.*":
|
||||||
description: Virtual I/O Device Specification, developed by the OASIS consortium
|
description: Virtual I/O Device Specification, developed by the OASIS consortium
|
||||||
"^vishay,.*":
|
"^vishay,.*":
|
||||||
|
|
|
@ -2092,6 +2092,7 @@ F: drivers/rtc/rtc-pl031.c
|
||||||
F: drivers/watchdog/coh901327_wdt.c
|
F: drivers/watchdog/coh901327_wdt.c
|
||||||
F: Documentation/devicetree/bindings/arm/ste-*
|
F: Documentation/devicetree/bindings/arm/ste-*
|
||||||
F: Documentation/devicetree/bindings/arm/ux500/
|
F: Documentation/devicetree/bindings/arm/ux500/
|
||||||
|
F: Documentation/devicetree/bindings/arm/ux500.yaml
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik.git
|
||||||
|
|
||||||
ARM/NUVOTON NPCM ARCHITECTURE
|
ARM/NUVOTON NPCM ARCHITECTURE
|
||||||
|
|
|
@ -37,18 +37,24 @@ dtb-$(CONFIG_SOC_AT91SAM9) += \
|
||||||
at91-ariag25.dtb \
|
at91-ariag25.dtb \
|
||||||
at91-ariettag25.dtb \
|
at91-ariettag25.dtb \
|
||||||
at91-cosino_mega2560.dtb \
|
at91-cosino_mega2560.dtb \
|
||||||
at91-kizboxmini.dtb \
|
at91-kizboxmini-base.dtb \
|
||||||
|
at91-kizboxmini-mb.dtb \
|
||||||
|
at91-kizboxmini-rd.dtb \
|
||||||
|
at91-smartkiz.dtb \
|
||||||
at91-wb45n.dtb \
|
at91-wb45n.dtb \
|
||||||
at91sam9g15ek.dtb \
|
at91sam9g15ek.dtb \
|
||||||
at91sam9g25ek.dtb \
|
at91sam9g25ek.dtb \
|
||||||
at91sam9g35ek.dtb \
|
at91sam9g35ek.dtb \
|
||||||
at91sam9x25ek.dtb \
|
at91sam9x25ek.dtb \
|
||||||
at91sam9x35ek.dtb
|
at91sam9x35ek.dtb
|
||||||
|
dtb-$(CONFIG_SOC_SAM9X60) += \
|
||||||
|
at91-sam9x60ek.dtb
|
||||||
dtb-$(CONFIG_SOC_SAM_V7) += \
|
dtb-$(CONFIG_SOC_SAM_V7) += \
|
||||||
at91-kizbox2-2.dtb \
|
at91-kizbox2-2.dtb \
|
||||||
at91-kizbox3-hs.dtb \
|
at91-kizbox3-hs.dtb \
|
||||||
at91-nattis-2-natte-2.dtb \
|
at91-nattis-2-natte-2.dtb \
|
||||||
at91-sama5d27_som1_ek.dtb \
|
at91-sama5d27_som1_ek.dtb \
|
||||||
|
at91-sama5d27_wlsom1_ek.dtb \
|
||||||
at91-sama5d2_ptc_ek.dtb \
|
at91-sama5d2_ptc_ek.dtb \
|
||||||
at91-sama5d2_xplained.dtb \
|
at91-sama5d2_xplained.dtb \
|
||||||
at91-sama5d3_xplained.dtb \
|
at91-sama5d3_xplained.dtb \
|
||||||
|
@ -422,6 +428,10 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
|
||||||
imx6dl-gw560x.dtb \
|
imx6dl-gw560x.dtb \
|
||||||
imx6dl-gw5903.dtb \
|
imx6dl-gw5903.dtb \
|
||||||
imx6dl-gw5904.dtb \
|
imx6dl-gw5904.dtb \
|
||||||
|
imx6dl-gw5907.dtb \
|
||||||
|
imx6dl-gw5910.dtb \
|
||||||
|
imx6dl-gw5912.dtb \
|
||||||
|
imx6dl-gw5913.dtb \
|
||||||
imx6dl-hummingboard.dtb \
|
imx6dl-hummingboard.dtb \
|
||||||
imx6dl-hummingboard-emmc-som-v15.dtb \
|
imx6dl-hummingboard-emmc-som-v15.dtb \
|
||||||
imx6dl-hummingboard-som-v15.dtb \
|
imx6dl-hummingboard-som-v15.dtb \
|
||||||
|
@ -493,6 +503,10 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
|
||||||
imx6q-gw560x.dtb \
|
imx6q-gw560x.dtb \
|
||||||
imx6q-gw5903.dtb \
|
imx6q-gw5903.dtb \
|
||||||
imx6q-gw5904.dtb \
|
imx6q-gw5904.dtb \
|
||||||
|
imx6q-gw5907.dtb \
|
||||||
|
imx6q-gw5910.dtb \
|
||||||
|
imx6q-gw5912.dtb \
|
||||||
|
imx6q-gw5913.dtb \
|
||||||
imx6q-h100.dtb \
|
imx6q-h100.dtb \
|
||||||
imx6q-hummingboard.dtb \
|
imx6q-hummingboard.dtb \
|
||||||
imx6q-hummingboard-emmc-som-v15.dtb \
|
imx6q-hummingboard-emmc-som-v15.dtb \
|
||||||
|
@ -554,6 +568,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
|
||||||
imx6qp-zii-rdu2.dtb
|
imx6qp-zii-rdu2.dtb
|
||||||
dtb-$(CONFIG_SOC_IMX6SL) += \
|
dtb-$(CONFIG_SOC_IMX6SL) += \
|
||||||
imx6sl-evk.dtb \
|
imx6sl-evk.dtb \
|
||||||
|
imx6sl-tolino-shine3.dtb \
|
||||||
imx6sl-warp.dtb
|
imx6sl-warp.dtb
|
||||||
dtb-$(CONFIG_SOC_IMX6SLL) += \
|
dtb-$(CONFIG_SOC_IMX6SLL) += \
|
||||||
imx6sll-evk.dtb \
|
imx6sll-evk.dtb \
|
||||||
|
@ -612,6 +627,7 @@ dtb-$(CONFIG_SOC_IMX7D) += \
|
||||||
imx7s-mba7.dtb \
|
imx7s-mba7.dtb \
|
||||||
imx7s-warp.dtb
|
imx7s-warp.dtb
|
||||||
dtb-$(CONFIG_SOC_IMX7ULP) += \
|
dtb-$(CONFIG_SOC_IMX7ULP) += \
|
||||||
|
imx7ulp-com.dtb \
|
||||||
imx7ulp-evk.dtb
|
imx7ulp-evk.dtb
|
||||||
dtb-$(CONFIG_SOC_LS1021A) += \
|
dtb-$(CONFIG_SOC_LS1021A) += \
|
||||||
ls1021a-moxa-uc-8410a.dtb \
|
ls1021a-moxa-uc-8410a.dtb \
|
||||||
|
@ -691,6 +707,7 @@ dtb-$(CONFIG_ARCH_OMAP3) += \
|
||||||
omap3-devkit8000.dtb \
|
omap3-devkit8000.dtb \
|
||||||
omap3-devkit8000-lcd43.dtb \
|
omap3-devkit8000-lcd43.dtb \
|
||||||
omap3-devkit8000-lcd70.dtb \
|
omap3-devkit8000-lcd70.dtb \
|
||||||
|
omap3-echo.dtb \
|
||||||
omap3-evm.dtb \
|
omap3-evm.dtb \
|
||||||
omap3-evm-37xx.dtb \
|
omap3-evm-37xx.dtb \
|
||||||
omap3-gta04a3.dtb \
|
omap3-gta04a3.dtb \
|
||||||
|
@ -1129,6 +1146,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \
|
||||||
sun8i-h3-orangepi-plus2e.dtb \
|
sun8i-h3-orangepi-plus2e.dtb \
|
||||||
sun8i-h3-orangepi-zero-plus2.dtb \
|
sun8i-h3-orangepi-zero-plus2.dtb \
|
||||||
sun8i-h3-rervision-dvk.dtb \
|
sun8i-h3-rervision-dvk.dtb \
|
||||||
|
sun8i-h3-emlid-neutis-n5h3-devboard.dtb \
|
||||||
sun8i-r16-bananapi-m2m.dtb \
|
sun8i-r16-bananapi-m2m.dtb \
|
||||||
sun8i-r16-nintendo-nes-classic.dtb \
|
sun8i-r16-nintendo-nes-classic.dtb \
|
||||||
sun8i-r16-nintendo-super-nes-classic.dtb \
|
sun8i-r16-nintendo-super-nes-classic.dtb \
|
||||||
|
@ -1182,7 +1200,9 @@ dtb-$(CONFIG_ARCH_U8500) += \
|
||||||
ste-hrefprev60-stuib.dtb \
|
ste-hrefprev60-stuib.dtb \
|
||||||
ste-hrefprev60-tvk.dtb \
|
ste-hrefprev60-tvk.dtb \
|
||||||
ste-hrefv60plus-stuib.dtb \
|
ste-hrefv60plus-stuib.dtb \
|
||||||
ste-hrefv60plus-tvk.dtb
|
ste-hrefv60plus-tvk.dtb \
|
||||||
|
ste-href520-tvk.dtb \
|
||||||
|
ste-ux500-samsung-golden.dtb
|
||||||
dtb-$(CONFIG_ARCH_UNIPHIER) += \
|
dtb-$(CONFIG_ARCH_UNIPHIER) += \
|
||||||
uniphier-ld4-ref.dtb \
|
uniphier-ld4-ref.dtb \
|
||||||
uniphier-ld6b-ref.dtb \
|
uniphier-ld6b-ref.dtb \
|
||||||
|
@ -1238,6 +1258,8 @@ dtb-$(CONFIG_MACH_ARMADA_370) += \
|
||||||
dtb-$(CONFIG_MACH_ARMADA_375) += \
|
dtb-$(CONFIG_MACH_ARMADA_375) += \
|
||||||
armada-375-db.dtb
|
armada-375-db.dtb
|
||||||
dtb-$(CONFIG_MACH_ARMADA_38X) += \
|
dtb-$(CONFIG_MACH_ARMADA_38X) += \
|
||||||
|
armada-385-clearfog-gtr-s4.dtb \
|
||||||
|
armada-385-clearfog-gtr-l8.dtb \
|
||||||
armada-385-db-88f6820-amc.dtb \
|
armada-385-db-88f6820-amc.dtb \
|
||||||
armada-385-db-ap.dtb \
|
armada-385-db-ap.dtb \
|
||||||
armada-385-linksys-caiman.dtb \
|
armada-385-linksys-caiman.dtb \
|
||||||
|
|
|
@ -113,7 +113,7 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
backlight {
|
backlight: backlight {
|
||||||
compatible = "pwm-backlight";
|
compatible = "pwm-backlight";
|
||||||
pwms = <&ecap0 0 50000 0>;
|
pwms = <&ecap0 0 50000 0>;
|
||||||
brightness-levels = <0 51 53 56 62 75 101 152 255>;
|
brightness-levels = <0 51 53 56 62 75 101 152 255>;
|
||||||
|
@ -121,35 +121,15 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
panel {
|
panel {
|
||||||
compatible = "ti,tilcdc,panel";
|
compatible = "tfc,s9700rtwv43tr-01b";
|
||||||
status = "okay";
|
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&lcd_pins_s0>;
|
pinctrl-0 = <&lcd_pins_s0>;
|
||||||
panel-info {
|
backlight = <&backlight>;
|
||||||
ac-bias = <255>;
|
|
||||||
ac-bias-intrpt = <0>;
|
|
||||||
dma-burst-sz = <16>;
|
|
||||||
bpp = <32>;
|
|
||||||
fdd = <0x80>;
|
|
||||||
sync-edge = <0>;
|
|
||||||
sync-ctrl = <1>;
|
|
||||||
raster-order = <0>;
|
|
||||||
fifo-th = <0>;
|
|
||||||
};
|
|
||||||
|
|
||||||
display-timings {
|
port {
|
||||||
800x480p62 {
|
panel_0: endpoint@0 {
|
||||||
clock-frequency = <30000000>;
|
remote-endpoint = <&lcdc_0>;
|
||||||
hactive = <800>;
|
|
||||||
vactive = <480>;
|
|
||||||
hfront-porch = <39>;
|
|
||||||
hback-porch = <39>;
|
|
||||||
hsync-len = <47>;
|
|
||||||
vback-porch = <29>;
|
|
||||||
vfront-porch = <13>;
|
|
||||||
vsync-len = <2>;
|
|
||||||
hsync-active = <1>;
|
|
||||||
vsync-active = <1>;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -500,6 +480,12 @@
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
|
||||||
blue-and-red-wiring = "crossed";
|
blue-and-red-wiring = "crossed";
|
||||||
|
|
||||||
|
port {
|
||||||
|
lcdc_0: endpoint@0 {
|
||||||
|
remote-endpoint = <&panel_0>;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
&elm {
|
&elm {
|
||||||
|
|
|
@ -183,36 +183,16 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
panel {
|
panel {
|
||||||
compatible = "ti,tilcdc,panel";
|
compatible = "newhaven,nhd-4.3-480272ef-atxl";
|
||||||
|
|
||||||
pinctrl-names = "default", "sleep";
|
pinctrl-names = "default", "sleep";
|
||||||
pinctrl-0 = <&lcd_pins_default>;
|
pinctrl-0 = <&lcd_pins_default>;
|
||||||
pinctrl-1 = <&lcd_pins_sleep>;
|
pinctrl-1 = <&lcd_pins_sleep>;
|
||||||
backlight = <&lcd_bl>;
|
backlight = <&lcd_bl>;
|
||||||
status = "okay";
|
|
||||||
panel-info {
|
port {
|
||||||
ac-bias = <255>;
|
panel_0: endpoint@0 {
|
||||||
ac-bias-intrpt = <0>;
|
remote-endpoint = <&lcdc_0>;
|
||||||
dma-burst-sz = <16>;
|
|
||||||
bpp = <32>;
|
|
||||||
fdd = <0x80>;
|
|
||||||
sync-edge = <0>;
|
|
||||||
sync-ctrl = <1>;
|
|
||||||
raster-order = <0>;
|
|
||||||
fifo-th = <0>;
|
|
||||||
};
|
|
||||||
display-timings {
|
|
||||||
480x272 {
|
|
||||||
hactive = <480>;
|
|
||||||
vactive = <272>;
|
|
||||||
hback-porch = <43>;
|
|
||||||
hfront-porch = <8>;
|
|
||||||
hsync-len = <4>;
|
|
||||||
vback-porch = <12>;
|
|
||||||
vfront-porch = <4>;
|
|
||||||
vsync-len = <10>;
|
|
||||||
clock-frequency = <9000000>;
|
|
||||||
hsync-active = <0>;
|
|
||||||
vsync-active = <0>;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -725,6 +705,12 @@
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
|
||||||
blue-and-red-wiring = "crossed";
|
blue-and-red-wiring = "crossed";
|
||||||
|
|
||||||
|
port {
|
||||||
|
lcdc_0: endpoint@0 {
|
||||||
|
remote-endpoint = <&panel_0>;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
&rtc {
|
&rtc {
|
||||||
|
|
|
@ -287,6 +287,19 @@
|
||||||
gpio-controller;
|
gpio-controller;
|
||||||
#gpio-cells = <2>;
|
#gpio-cells = <2>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* osd9616p0899-10 */
|
||||||
|
display@3c {
|
||||||
|
compatible = "solomon,ssd1306fb-i2c";
|
||||||
|
reg = <0x3c>;
|
||||||
|
solomon,height = <16>;
|
||||||
|
solomon,width = <96>;
|
||||||
|
solomon,com-seq;
|
||||||
|
solomon,com-invdir;
|
||||||
|
solomon,page-offset = <0>;
|
||||||
|
solomon,prechargep1 = <2>;
|
||||||
|
solomon,prechargep2 = <13>;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
&spi0 {
|
&spi0 {
|
||||||
|
|
|
@ -225,7 +225,6 @@
|
||||||
|
|
||||||
target-module@d000 { /* 0x44e0d000, ap 20 38.0 */
|
target-module@d000 { /* 0x44e0d000, ap 20 38.0 */
|
||||||
compatible = "ti,sysc-omap4", "ti,sysc";
|
compatible = "ti,sysc-omap4", "ti,sysc";
|
||||||
ti,hwmods = "adc_tsc";
|
|
||||||
reg = <0xd000 0x4>,
|
reg = <0xd000 0x4>,
|
||||||
<0xd010 0x4>;
|
<0xd010 0x4>;
|
||||||
reg-names = "rev", "sysc";
|
reg-names = "rev", "sysc";
|
||||||
|
@ -1009,7 +1008,6 @@
|
||||||
|
|
||||||
target-module@30000 { /* 0x48030000, ap 77 08.0 */
|
target-module@30000 { /* 0x48030000, ap 77 08.0 */
|
||||||
compatible = "ti,sysc-omap2", "ti,sysc";
|
compatible = "ti,sysc-omap2", "ti,sysc";
|
||||||
ti,hwmods = "spi0";
|
|
||||||
reg = <0x30000 0x4>,
|
reg = <0x30000 0x4>,
|
||||||
<0x30110 0x4>,
|
<0x30110 0x4>,
|
||||||
<0x30114 0x4>;
|
<0x30114 0x4>;
|
||||||
|
@ -1134,7 +1132,6 @@
|
||||||
|
|
||||||
target-module@42000 { /* 0x48042000, ap 24 1c.0 */
|
target-module@42000 { /* 0x48042000, ap 24 1c.0 */
|
||||||
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
||||||
ti,hwmods = "timer3";
|
|
||||||
reg = <0x42000 0x4>,
|
reg = <0x42000 0x4>,
|
||||||
<0x42010 0x4>,
|
<0x42010 0x4>,
|
||||||
<0x42014 0x4>;
|
<0x42014 0x4>;
|
||||||
|
@ -1160,7 +1157,6 @@
|
||||||
|
|
||||||
target-module@44000 { /* 0x48044000, ap 26 26.0 */
|
target-module@44000 { /* 0x48044000, ap 26 26.0 */
|
||||||
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
||||||
ti,hwmods = "timer4";
|
|
||||||
reg = <0x44000 0x4>,
|
reg = <0x44000 0x4>,
|
||||||
<0x44010 0x4>,
|
<0x44010 0x4>,
|
||||||
<0x44014 0x4>;
|
<0x44014 0x4>;
|
||||||
|
@ -1187,7 +1183,6 @@
|
||||||
|
|
||||||
target-module@46000 { /* 0x48046000, ap 28 28.0 */
|
target-module@46000 { /* 0x48046000, ap 28 28.0 */
|
||||||
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
||||||
ti,hwmods = "timer5";
|
|
||||||
reg = <0x46000 0x4>,
|
reg = <0x46000 0x4>,
|
||||||
<0x46010 0x4>,
|
<0x46010 0x4>,
|
||||||
<0x46014 0x4>;
|
<0x46014 0x4>;
|
||||||
|
@ -1214,7 +1209,6 @@
|
||||||
|
|
||||||
target-module@48000 { /* 0x48048000, ap 30 22.0 */
|
target-module@48000 { /* 0x48048000, ap 30 22.0 */
|
||||||
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
||||||
ti,hwmods = "timer6";
|
|
||||||
reg = <0x48000 0x4>,
|
reg = <0x48000 0x4>,
|
||||||
<0x48010 0x4>,
|
<0x48010 0x4>,
|
||||||
<0x48014 0x4>;
|
<0x48014 0x4>;
|
||||||
|
@ -1241,7 +1235,6 @@
|
||||||
|
|
||||||
target-module@4a000 { /* 0x4804a000, ap 85 60.0 */
|
target-module@4a000 { /* 0x4804a000, ap 85 60.0 */
|
||||||
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
||||||
ti,hwmods = "timer7";
|
|
||||||
reg = <0x4a000 0x4>,
|
reg = <0x4a000 0x4>,
|
||||||
<0x4a010 0x4>,
|
<0x4a010 0x4>,
|
||||||
<0x4a014 0x4>;
|
<0x4a014 0x4>;
|
||||||
|
@ -1344,7 +1337,6 @@
|
||||||
|
|
||||||
target-module@80000 { /* 0x48080000, ap 38 18.0 */
|
target-module@80000 { /* 0x48080000, ap 38 18.0 */
|
||||||
compatible = "ti,sysc-omap2", "ti,sysc";
|
compatible = "ti,sysc-omap2", "ti,sysc";
|
||||||
ti,hwmods = "elm";
|
|
||||||
reg = <0x80000 0x4>,
|
reg = <0x80000 0x4>,
|
||||||
<0x80010 0x4>,
|
<0x80010 0x4>,
|
||||||
<0x80014 0x4>;
|
<0x80014 0x4>;
|
||||||
|
@ -1412,7 +1404,6 @@
|
||||||
|
|
||||||
target-module@ca000 { /* 0x480ca000, ap 91 40.0 */
|
target-module@ca000 { /* 0x480ca000, ap 91 40.0 */
|
||||||
compatible = "ti,sysc-omap2", "ti,sysc";
|
compatible = "ti,sysc-omap2", "ti,sysc";
|
||||||
ti,hwmods = "spinlock";
|
|
||||||
reg = <0xca000 0x4>,
|
reg = <0xca000 0x4>,
|
||||||
<0xca010 0x4>,
|
<0xca010 0x4>,
|
||||||
<0xca014 0x4>;
|
<0xca014 0x4>;
|
||||||
|
@ -1533,7 +1524,6 @@
|
||||||
|
|
||||||
target-module@a0000 { /* 0x481a0000, ap 79 24.0 */
|
target-module@a0000 { /* 0x481a0000, ap 79 24.0 */
|
||||||
compatible = "ti,sysc-omap2", "ti,sysc";
|
compatible = "ti,sysc-omap2", "ti,sysc";
|
||||||
ti,hwmods = "spi1";
|
|
||||||
reg = <0xa0000 0x4>,
|
reg = <0xa0000 0x4>,
|
||||||
<0xa0110 0x4>,
|
<0xa0110 0x4>,
|
||||||
<0xa0114 0x4>;
|
<0xa0114 0x4>;
|
||||||
|
@ -1749,7 +1739,6 @@
|
||||||
compatible = "ti,sysc-omap4", "ti,sysc";
|
compatible = "ti,sysc-omap4", "ti,sysc";
|
||||||
reg = <0xcc020 0x4>;
|
reg = <0xcc020 0x4>;
|
||||||
reg-names = "rev";
|
reg-names = "rev";
|
||||||
ti,hwmods = "d_can0";
|
|
||||||
/* Domains (P, C): per_pwrdm, l4ls_clkdm */
|
/* Domains (P, C): per_pwrdm, l4ls_clkdm */
|
||||||
clocks = <&l4ls_clkctrl AM3_L4LS_D_CAN0_CLKCTRL 0>,
|
clocks = <&l4ls_clkctrl AM3_L4LS_D_CAN0_CLKCTRL 0>,
|
||||||
<&dcan0_fck>;
|
<&dcan0_fck>;
|
||||||
|
@ -1773,7 +1762,6 @@
|
||||||
compatible = "ti,sysc-omap4", "ti,sysc";
|
compatible = "ti,sysc-omap4", "ti,sysc";
|
||||||
reg = <0xd0020 0x4>;
|
reg = <0xd0020 0x4>;
|
||||||
reg-names = "rev";
|
reg-names = "rev";
|
||||||
ti,hwmods = "d_can1";
|
|
||||||
/* Domains (P, C): per_pwrdm, l4ls_clkdm */
|
/* Domains (P, C): per_pwrdm, l4ls_clkdm */
|
||||||
clocks = <&l4ls_clkctrl AM3_L4LS_D_CAN1_CLKCTRL 0>,
|
clocks = <&l4ls_clkctrl AM3_L4LS_D_CAN1_CLKCTRL 0>,
|
||||||
<&dcan1_fck>;
|
<&dcan1_fck>;
|
||||||
|
@ -1863,7 +1851,6 @@
|
||||||
|
|
||||||
target-module@0 { /* 0x48300000, ap 66 48.0 */
|
target-module@0 { /* 0x48300000, ap 66 48.0 */
|
||||||
compatible = "ti,sysc-omap4", "ti,sysc";
|
compatible = "ti,sysc-omap4", "ti,sysc";
|
||||||
ti,hwmods = "epwmss0";
|
|
||||||
reg = <0x0 0x4>,
|
reg = <0x0 0x4>,
|
||||||
<0x4 0x4>;
|
<0x4 0x4>;
|
||||||
reg-names = "rev", "sysc";
|
reg-names = "rev", "sysc";
|
||||||
|
@ -1916,7 +1903,6 @@
|
||||||
|
|
||||||
target-module@2000 { /* 0x48302000, ap 68 52.0 */
|
target-module@2000 { /* 0x48302000, ap 68 52.0 */
|
||||||
compatible = "ti,sysc-omap4", "ti,sysc";
|
compatible = "ti,sysc-omap4", "ti,sysc";
|
||||||
ti,hwmods = "epwmss1";
|
|
||||||
reg = <0x2000 0x4>,
|
reg = <0x2000 0x4>,
|
||||||
<0x2004 0x4>;
|
<0x2004 0x4>;
|
||||||
reg-names = "rev", "sysc";
|
reg-names = "rev", "sysc";
|
||||||
|
@ -1969,7 +1955,6 @@
|
||||||
|
|
||||||
target-module@4000 { /* 0x48304000, ap 70 44.0 */
|
target-module@4000 { /* 0x48304000, ap 70 44.0 */
|
||||||
compatible = "ti,sysc-omap4", "ti,sysc";
|
compatible = "ti,sysc-omap4", "ti,sysc";
|
||||||
ti,hwmods = "epwmss2";
|
|
||||||
reg = <0x4000 0x4>,
|
reg = <0x4000 0x4>,
|
||||||
<0x4004 0x4>;
|
<0x4004 0x4>;
|
||||||
reg-names = "rev", "sysc";
|
reg-names = "rev", "sysc";
|
||||||
|
@ -2022,7 +2007,6 @@
|
||||||
|
|
||||||
target-module@e000 { /* 0x4830e000, ap 72 4a.0 */
|
target-module@e000 { /* 0x4830e000, ap 72 4a.0 */
|
||||||
compatible = "ti,sysc-omap4", "ti,sysc";
|
compatible = "ti,sysc-omap4", "ti,sysc";
|
||||||
ti,hwmods = "lcdc";
|
|
||||||
reg = <0xe000 0x4>,
|
reg = <0xe000 0x4>,
|
||||||
<0xe054 0x4>;
|
<0xe054 0x4>;
|
||||||
reg-names = "rev", "sysc";
|
reg-names = "rev", "sysc";
|
||||||
|
|
|
@ -439,23 +439,62 @@
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
sham: sham@53100000 {
|
sham_target: target-module@53100000 {
|
||||||
compatible = "ti,omap4-sham";
|
compatible = "ti,sysc-omap3-sham", "ti,sysc";
|
||||||
ti,hwmods = "sham";
|
reg = <0x53100100 0x4>,
|
||||||
reg = <0x53100000 0x200>;
|
<0x53100110 0x4>,
|
||||||
interrupts = <109>;
|
<0x53100114 0x4>;
|
||||||
dmas = <&edma 36 0>;
|
reg-names = "rev", "sysc", "syss";
|
||||||
dma-names = "rx";
|
ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET |
|
||||||
|
SYSC_OMAP2_AUTOIDLE)>;
|
||||||
|
ti,sysc-sidle = <SYSC_IDLE_FORCE>,
|
||||||
|
<SYSC_IDLE_NO>,
|
||||||
|
<SYSC_IDLE_SMART>;
|
||||||
|
ti,syss-mask = <1>;
|
||||||
|
/* Domains (P, C): per_pwrdm, l3_clkdm */
|
||||||
|
clocks = <&l3_clkctrl AM3_L3_SHAM_CLKCTRL 0>;
|
||||||
|
clock-names = "fck";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
ranges = <0x0 0x53100000 0x1000>;
|
||||||
|
|
||||||
|
sham: sham@0 {
|
||||||
|
compatible = "ti,omap4-sham";
|
||||||
|
reg = <0 0x200>;
|
||||||
|
interrupts = <109>;
|
||||||
|
dmas = <&edma 36 0>;
|
||||||
|
dma-names = "rx";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
aes: aes@53500000 {
|
aes_target: target-module@53500000 {
|
||||||
compatible = "ti,omap4-aes";
|
compatible = "ti,sysc-omap2", "ti,sysc";
|
||||||
ti,hwmods = "aes";
|
reg = <0x53500080 0x4>,
|
||||||
reg = <0x53500000 0xa0>;
|
<0x53500084 0x4>,
|
||||||
interrupts = <103>;
|
<0x53500088 0x4>;
|
||||||
dmas = <&edma 6 0>,
|
reg-names = "rev", "sysc", "syss";
|
||||||
<&edma 5 0>;
|
ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET |
|
||||||
dma-names = "tx", "rx";
|
SYSC_OMAP2_AUTOIDLE)>;
|
||||||
|
ti,sysc-sidle = <SYSC_IDLE_FORCE>,
|
||||||
|
<SYSC_IDLE_NO>,
|
||||||
|
<SYSC_IDLE_SMART>,
|
||||||
|
<SYSC_IDLE_SMART_WKUP>;
|
||||||
|
ti,syss-mask = <1>;
|
||||||
|
/* Domains (P, C): per_pwrdm, l3_clkdm */
|
||||||
|
clocks = <&l3_clkctrl AM3_L3_AES_CLKCTRL 0>;
|
||||||
|
clock-names = "fck";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
ranges = <0x0 0x53500000 0x1000>;
|
||||||
|
|
||||||
|
aes: aes@0 {
|
||||||
|
compatible = "ti,omap4-aes";
|
||||||
|
reg = <0 0xa0>;
|
||||||
|
interrupts = <103>;
|
||||||
|
dmas = <&edma 6 0>,
|
||||||
|
<&edma 5 0>;
|
||||||
|
dma-names = "tx", "rx";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -74,7 +74,7 @@
|
||||||
clock-names = "ick";
|
clock-names = "ick";
|
||||||
};
|
};
|
||||||
|
|
||||||
davinci_mdio: ethernet@5c030000 {
|
davinci_mdio: mdio@5c030000 {
|
||||||
compatible = "ti,davinci_mdio";
|
compatible = "ti,davinci_mdio";
|
||||||
ti,hwmods = "davinci_mdio";
|
ti,hwmods = "davinci_mdio";
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
|
|
14
arch/arm/boot/dts/am3703.dtsi
Normal file
14
arch/arm/boot/dts/am3703.dtsi
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-only
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2020 André Hentschel <nerv@dawncrow.de>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "omap36xx.dtsi"
|
||||||
|
|
||||||
|
&iva {
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
&sgx_module {
|
||||||
|
status = "disabled";
|
||||||
|
};
|
10
arch/arm/boot/dts/am3715.dtsi
Normal file
10
arch/arm/boot/dts/am3715.dtsi
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-only
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2020 André Hentschel <nerv@dawncrow.de>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "omap36xx.dtsi"
|
||||||
|
|
||||||
|
&iva {
|
||||||
|
status = "disabled";
|
||||||
|
};
|
|
@ -256,33 +256,92 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
sham: sham@53100000 {
|
sham_target: target-module@53100000 {
|
||||||
compatible = "ti,omap5-sham";
|
compatible = "ti,sysc-omap3-sham", "ti,sysc";
|
||||||
ti,hwmods = "sham";
|
reg = <0x53100100 0x4>,
|
||||||
reg = <0x53100000 0x300>;
|
<0x53100110 0x4>,
|
||||||
dmas = <&edma 36 0>;
|
<0x53100114 0x4>;
|
||||||
dma-names = "rx";
|
reg-names = "rev", "sysc", "syss";
|
||||||
interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
|
ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET |
|
||||||
|
SYSC_OMAP2_AUTOIDLE)>;
|
||||||
|
ti,sysc-sidle = <SYSC_IDLE_FORCE>,
|
||||||
|
<SYSC_IDLE_NO>,
|
||||||
|
<SYSC_IDLE_SMART>;
|
||||||
|
ti,syss-mask = <1>;
|
||||||
|
/* Domains (P, C): per_pwrdm, l3_clkdm */
|
||||||
|
clocks = <&l3_clkctrl AM4_L3_SHAM_CLKCTRL 0>;
|
||||||
|
clock-names = "fck";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
ranges = <0x0 0x53100000 0x1000>;
|
||||||
|
|
||||||
|
sham: sham@0 {
|
||||||
|
compatible = "ti,omap5-sham";
|
||||||
|
reg = <0 0x300>;
|
||||||
|
dmas = <&edma 36 0>;
|
||||||
|
dma-names = "rx";
|
||||||
|
interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
aes: aes@53501000 {
|
aes_target: target-module@53501000 {
|
||||||
compatible = "ti,omap4-aes";
|
compatible = "ti,sysc-omap2", "ti,sysc";
|
||||||
ti,hwmods = "aes";
|
reg = <0x53501080 0x4>,
|
||||||
reg = <0x53501000 0xa0>;
|
<0x53501084 0x4>,
|
||||||
interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
|
<0x53501088 0x4>;
|
||||||
dmas = <&edma 6 0>,
|
reg-names = "rev", "sysc", "syss";
|
||||||
<&edma 5 0>;
|
ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET |
|
||||||
dma-names = "tx", "rx";
|
SYSC_OMAP2_AUTOIDLE)>;
|
||||||
|
ti,sysc-sidle = <SYSC_IDLE_FORCE>,
|
||||||
|
<SYSC_IDLE_NO>,
|
||||||
|
<SYSC_IDLE_SMART>,
|
||||||
|
<SYSC_IDLE_SMART_WKUP>;
|
||||||
|
ti,syss-mask = <1>;
|
||||||
|
/* Domains (P, C): per_pwrdm, l3_clkdm */
|
||||||
|
clocks = <&l3_clkctrl AM4_L3_AES_CLKCTRL 0>;
|
||||||
|
clock-names = "fck";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
ranges = <0x0 0x53501000 0x1000>;
|
||||||
|
|
||||||
|
aes: aes@0 {
|
||||||
|
compatible = "ti,omap4-aes";
|
||||||
|
reg = <0 0xa0>;
|
||||||
|
interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
dmas = <&edma 6 0>,
|
||||||
|
<&edma 5 0>;
|
||||||
|
dma-names = "tx", "rx";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
des: des@53701000 {
|
des_target: target-module@53701000 {
|
||||||
compatible = "ti,omap4-des";
|
compatible = "ti,sysc-omap2", "ti,sysc";
|
||||||
ti,hwmods = "des";
|
reg = <0x53701030 0x4>,
|
||||||
reg = <0x53701000 0xa0>;
|
<0x53701034 0x4>,
|
||||||
interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>;
|
<0x53701038 0x4>;
|
||||||
dmas = <&edma 34 0>,
|
reg-names = "rev", "sysc", "syss";
|
||||||
<&edma 33 0>;
|
ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET |
|
||||||
dma-names = "tx", "rx";
|
SYSC_OMAP2_AUTOIDLE)>;
|
||||||
|
ti,sysc-sidle = <SYSC_IDLE_FORCE>,
|
||||||
|
<SYSC_IDLE_NO>,
|
||||||
|
<SYSC_IDLE_SMART>,
|
||||||
|
<SYSC_IDLE_SMART_WKUP>;
|
||||||
|
ti,syss-mask = <1>;
|
||||||
|
/* Domains (P, C): per_pwrdm, l3_clkdm */
|
||||||
|
clocks = <&l3_clkctrl AM4_L3_DES_CLKCTRL 0>;
|
||||||
|
clock-names = "fck";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
ranges = <0 0x53701000 0x1000>;
|
||||||
|
|
||||||
|
des: des@0 {
|
||||||
|
compatible = "ti,omap4-des";
|
||||||
|
reg = <0 0xa0>;
|
||||||
|
interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
dmas = <&edma 34 0>,
|
||||||
|
<&edma 33 0>;
|
||||||
|
dma-names = "tx", "rx";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
gpmc: gpmc@50000000 {
|
gpmc: gpmc@50000000 {
|
||||||
|
@ -305,17 +364,34 @@
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
qspi: spi@47900000 {
|
target-module@47900000 {
|
||||||
compatible = "ti,am4372-qspi";
|
compatible = "ti,sysc-omap4", "ti,sysc";
|
||||||
reg = <0x47900000 0x100>,
|
reg = <0x47900000 0x4>,
|
||||||
<0x30000000 0x4000000>;
|
<0x47900010 0x4>;
|
||||||
reg-names = "qspi_base", "qspi_mmap";
|
reg-names = "rev", "sysc";
|
||||||
|
ti,sysc-sidle = <SYSC_IDLE_FORCE>,
|
||||||
|
<SYSC_IDLE_NO>,
|
||||||
|
<SYSC_IDLE_SMART>,
|
||||||
|
<SYSC_IDLE_SMART_WKUP>;
|
||||||
|
clocks = <&l3s_clkctrl AM4_L3S_QSPI_CLKCTRL 0>;
|
||||||
|
clock-names = "fck";
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <1>;
|
||||||
ti,hwmods = "qspi";
|
ranges = <0x0 0x47900000 0x1000>,
|
||||||
interrupts = <0 138 0x4>;
|
<0x30000000 0x30000000 0x4000000>;
|
||||||
num-cs = <4>;
|
|
||||||
status = "disabled";
|
qspi: spi@0 {
|
||||||
|
compatible = "ti,am4372-qspi";
|
||||||
|
reg = <0 0x100>,
|
||||||
|
<0x30000000 0x4000000>;
|
||||||
|
reg-names = "qspi_base", "qspi_mmap";
|
||||||
|
clocks = <&dpll_per_m2_div4_ck>;
|
||||||
|
clock-names = "fck";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
interrupts = <0 138 0x4>;
|
||||||
|
num-cs = <4>;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
dss: dss@4832a000 {
|
dss: dss@4832a000 {
|
||||||
|
|
|
@ -225,7 +225,6 @@
|
||||||
|
|
||||||
target-module@d000 { /* 0x44e0d000, ap 20 38.0 */
|
target-module@d000 { /* 0x44e0d000, ap 20 38.0 */
|
||||||
compatible = "ti,sysc-omap4", "ti,sysc";
|
compatible = "ti,sysc-omap4", "ti,sysc";
|
||||||
ti,hwmods = "adc_tsc";
|
|
||||||
reg = <0xd000 0x4>,
|
reg = <0xd000 0x4>,
|
||||||
<0xd010 0x4>;
|
<0xd010 0x4>;
|
||||||
reg-names = "rev", "sysc";
|
reg-names = "rev", "sysc";
|
||||||
|
@ -763,7 +762,6 @@
|
||||||
|
|
||||||
target-module@30000 { /* 0x48030000, ap 65 08.0 */
|
target-module@30000 { /* 0x48030000, ap 65 08.0 */
|
||||||
compatible = "ti,sysc-omap2", "ti,sysc";
|
compatible = "ti,sysc-omap2", "ti,sysc";
|
||||||
ti,hwmods = "spi0";
|
|
||||||
reg = <0x30000 0x4>,
|
reg = <0x30000 0x4>,
|
||||||
<0x30110 0x4>,
|
<0x30110 0x4>,
|
||||||
<0x30114 0x4>;
|
<0x30114 0x4>;
|
||||||
|
@ -900,7 +898,6 @@
|
||||||
|
|
||||||
target-module@42000 { /* 0x48042000, ap 20 24.0 */
|
target-module@42000 { /* 0x48042000, ap 20 24.0 */
|
||||||
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
||||||
ti,hwmods = "timer3";
|
|
||||||
reg = <0x42000 0x4>,
|
reg = <0x42000 0x4>,
|
||||||
<0x42010 0x4>,
|
<0x42010 0x4>,
|
||||||
<0x42014 0x4>;
|
<0x42014 0x4>;
|
||||||
|
@ -927,7 +924,6 @@
|
||||||
|
|
||||||
target-module@44000 { /* 0x48044000, ap 22 26.0 */
|
target-module@44000 { /* 0x48044000, ap 22 26.0 */
|
||||||
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
||||||
ti,hwmods = "timer4";
|
|
||||||
reg = <0x44000 0x4>,
|
reg = <0x44000 0x4>,
|
||||||
<0x44010 0x4>,
|
<0x44010 0x4>,
|
||||||
<0x44014 0x4>;
|
<0x44014 0x4>;
|
||||||
|
@ -955,7 +951,6 @@
|
||||||
|
|
||||||
target-module@46000 { /* 0x48046000, ap 24 28.0 */
|
target-module@46000 { /* 0x48046000, ap 24 28.0 */
|
||||||
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
||||||
ti,hwmods = "timer5";
|
|
||||||
reg = <0x46000 0x4>,
|
reg = <0x46000 0x4>,
|
||||||
<0x46010 0x4>,
|
<0x46010 0x4>,
|
||||||
<0x46014 0x4>;
|
<0x46014 0x4>;
|
||||||
|
@ -983,7 +978,6 @@
|
||||||
|
|
||||||
target-module@48000 { /* 0x48048000, ap 26 1a.0 */
|
target-module@48000 { /* 0x48048000, ap 26 1a.0 */
|
||||||
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
||||||
ti,hwmods = "timer6";
|
|
||||||
reg = <0x48000 0x4>,
|
reg = <0x48000 0x4>,
|
||||||
<0x48010 0x4>,
|
<0x48010 0x4>,
|
||||||
<0x48014 0x4>;
|
<0x48014 0x4>;
|
||||||
|
@ -1011,7 +1005,6 @@
|
||||||
|
|
||||||
target-module@4a000 { /* 0x4804a000, ap 71 48.0 */
|
target-module@4a000 { /* 0x4804a000, ap 71 48.0 */
|
||||||
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
||||||
ti,hwmods = "timer7";
|
|
||||||
reg = <0x4a000 0x4>,
|
reg = <0x4a000 0x4>,
|
||||||
<0x4a010 0x4>,
|
<0x4a010 0x4>,
|
||||||
<0x4a014 0x4>;
|
<0x4a014 0x4>;
|
||||||
|
@ -1107,7 +1100,6 @@
|
||||||
|
|
||||||
target-module@80000 { /* 0x48080000, ap 32 18.0 */
|
target-module@80000 { /* 0x48080000, ap 32 18.0 */
|
||||||
compatible = "ti,sysc-omap2", "ti,sysc";
|
compatible = "ti,sysc-omap2", "ti,sysc";
|
||||||
ti,hwmods = "elm";
|
|
||||||
reg = <0x80000 0x4>,
|
reg = <0x80000 0x4>,
|
||||||
<0x80010 0x4>,
|
<0x80010 0x4>,
|
||||||
<0x80014 0x4>;
|
<0x80014 0x4>;
|
||||||
|
@ -1169,7 +1161,6 @@
|
||||||
|
|
||||||
target-module@ca000 { /* 0x480ca000, ap 77 38.0 */
|
target-module@ca000 { /* 0x480ca000, ap 77 38.0 */
|
||||||
compatible = "ti,sysc-omap2", "ti,sysc";
|
compatible = "ti,sysc-omap2", "ti,sysc";
|
||||||
ti,hwmods = "spinlock";
|
|
||||||
reg = <0xca000 0x4>,
|
reg = <0xca000 0x4>,
|
||||||
<0xca010 0x4>,
|
<0xca010 0x4>,
|
||||||
<0xca014 0x4>;
|
<0xca014 0x4>;
|
||||||
|
@ -1282,7 +1273,6 @@
|
||||||
|
|
||||||
target-module@a0000 { /* 0x481a0000, ap 67 2c.0 */
|
target-module@a0000 { /* 0x481a0000, ap 67 2c.0 */
|
||||||
compatible = "ti,sysc-omap2", "ti,sysc";
|
compatible = "ti,sysc-omap2", "ti,sysc";
|
||||||
ti,hwmods = "spi1";
|
|
||||||
reg = <0xa0000 0x4>,
|
reg = <0xa0000 0x4>,
|
||||||
<0xa0110 0x4>,
|
<0xa0110 0x4>,
|
||||||
<0xa0114 0x4>;
|
<0xa0114 0x4>;
|
||||||
|
@ -1313,7 +1303,6 @@
|
||||||
|
|
||||||
target-module@a2000 { /* 0x481a2000, ap 69 2e.0 */
|
target-module@a2000 { /* 0x481a2000, ap 69 2e.0 */
|
||||||
compatible = "ti,sysc-omap2", "ti,sysc";
|
compatible = "ti,sysc-omap2", "ti,sysc";
|
||||||
ti,hwmods = "spi2";
|
|
||||||
reg = <0xa2000 0x4>,
|
reg = <0xa2000 0x4>,
|
||||||
<0xa2110 0x4>,
|
<0xa2110 0x4>,
|
||||||
<0xa2114 0x4>;
|
<0xa2114 0x4>;
|
||||||
|
@ -1344,7 +1333,6 @@
|
||||||
|
|
||||||
target-module@a4000 { /* 0x481a4000, ap 92 62.0 */
|
target-module@a4000 { /* 0x481a4000, ap 92 62.0 */
|
||||||
compatible = "ti,sysc-omap2", "ti,sysc";
|
compatible = "ti,sysc-omap2", "ti,sysc";
|
||||||
ti,hwmods = "spi3";
|
|
||||||
reg = <0xa4000 0x4>,
|
reg = <0xa4000 0x4>,
|
||||||
<0xa4110 0x4>,
|
<0xa4110 0x4>,
|
||||||
<0xa4114 0x4>;
|
<0xa4114 0x4>;
|
||||||
|
@ -1527,7 +1515,6 @@
|
||||||
|
|
||||||
target-module@c1000 { /* 0x481c1000, ap 94 68.0 */
|
target-module@c1000 { /* 0x481c1000, ap 94 68.0 */
|
||||||
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
||||||
ti,hwmods = "timer8";
|
|
||||||
reg = <0xc1000 0x4>,
|
reg = <0xc1000 0x4>,
|
||||||
<0xc1010 0x4>,
|
<0xc1010 0x4>,
|
||||||
<0xc1014 0x4>;
|
<0xc1014 0x4>;
|
||||||
|
@ -1556,7 +1543,6 @@
|
||||||
compatible = "ti,sysc-omap4", "ti,sysc";
|
compatible = "ti,sysc-omap4", "ti,sysc";
|
||||||
reg = <0xcc020 0x4>;
|
reg = <0xcc020 0x4>;
|
||||||
reg-names = "rev";
|
reg-names = "rev";
|
||||||
ti,hwmods = "d_can0";
|
|
||||||
/* Domains (P, C): per_pwrdm, l4ls_clkdm */
|
/* Domains (P, C): per_pwrdm, l4ls_clkdm */
|
||||||
clocks = <&l4ls_clkctrl AM4_L4LS_D_CAN0_CLKCTRL 0>;
|
clocks = <&l4ls_clkctrl AM4_L4LS_D_CAN0_CLKCTRL 0>;
|
||||||
clock-names = "fck";
|
clock-names = "fck";
|
||||||
|
@ -1577,7 +1563,6 @@
|
||||||
compatible = "ti,sysc-omap4", "ti,sysc";
|
compatible = "ti,sysc-omap4", "ti,sysc";
|
||||||
reg = <0xd0020 0x4>;
|
reg = <0xd0020 0x4>;
|
||||||
reg-names = "rev";
|
reg-names = "rev";
|
||||||
ti,hwmods = "d_can1";
|
|
||||||
/* Domains (P, C): per_pwrdm, l4ls_clkdm */
|
/* Domains (P, C): per_pwrdm, l4ls_clkdm */
|
||||||
clocks = <&l4ls_clkctrl AM4_L4LS_D_CAN1_CLKCTRL 0>;
|
clocks = <&l4ls_clkctrl AM4_L4LS_D_CAN1_CLKCTRL 0>;
|
||||||
clock-names = "fck";
|
clock-names = "fck";
|
||||||
|
@ -1695,7 +1680,6 @@
|
||||||
|
|
||||||
target-module@0 { /* 0x48300000, ap 56 40.0 */
|
target-module@0 { /* 0x48300000, ap 56 40.0 */
|
||||||
compatible = "ti,sysc-omap4", "ti,sysc";
|
compatible = "ti,sysc-omap4", "ti,sysc";
|
||||||
ti,hwmods = "epwmss0";
|
|
||||||
reg = <0x0 0x4>,
|
reg = <0x0 0x4>,
|
||||||
<0x4 0x4>;
|
<0x4 0x4>;
|
||||||
reg-names = "rev", "sysc";
|
reg-names = "rev", "sysc";
|
||||||
|
@ -1748,7 +1732,6 @@
|
||||||
|
|
||||||
target-module@2000 { /* 0x48302000, ap 58 4a.0 */
|
target-module@2000 { /* 0x48302000, ap 58 4a.0 */
|
||||||
compatible = "ti,sysc-omap4", "ti,sysc";
|
compatible = "ti,sysc-omap4", "ti,sysc";
|
||||||
ti,hwmods = "epwmss1";
|
|
||||||
reg = <0x2000 0x4>,
|
reg = <0x2000 0x4>,
|
||||||
<0x2004 0x4>;
|
<0x2004 0x4>;
|
||||||
reg-names = "rev", "sysc";
|
reg-names = "rev", "sysc";
|
||||||
|
@ -1801,7 +1784,6 @@
|
||||||
|
|
||||||
target-module@4000 { /* 0x48304000, ap 60 44.0 */
|
target-module@4000 { /* 0x48304000, ap 60 44.0 */
|
||||||
compatible = "ti,sysc-omap4", "ti,sysc";
|
compatible = "ti,sysc-omap4", "ti,sysc";
|
||||||
ti,hwmods = "epwmss2";
|
|
||||||
reg = <0x4000 0x4>,
|
reg = <0x4000 0x4>,
|
||||||
<0x4004 0x4>;
|
<0x4004 0x4>;
|
||||||
reg-names = "rev", "sysc";
|
reg-names = "rev", "sysc";
|
||||||
|
@ -1854,7 +1836,6 @@
|
||||||
|
|
||||||
target-module@6000 { /* 0x48306000, ap 96 58.0 */
|
target-module@6000 { /* 0x48306000, ap 96 58.0 */
|
||||||
compatible = "ti,sysc-omap4", "ti,sysc";
|
compatible = "ti,sysc-omap4", "ti,sysc";
|
||||||
ti,hwmods = "epwmss3";
|
|
||||||
reg = <0x6000 0x4>,
|
reg = <0x6000 0x4>,
|
||||||
<0x6004 0x4>;
|
<0x6004 0x4>;
|
||||||
reg-names = "rev", "sysc";
|
reg-names = "rev", "sysc";
|
||||||
|
@ -1896,7 +1877,6 @@
|
||||||
|
|
||||||
target-module@8000 { /* 0x48308000, ap 98 54.0 */
|
target-module@8000 { /* 0x48308000, ap 98 54.0 */
|
||||||
compatible = "ti,sysc-omap4", "ti,sysc";
|
compatible = "ti,sysc-omap4", "ti,sysc";
|
||||||
ti,hwmods = "epwmss4";
|
|
||||||
reg = <0x8000 0x4>,
|
reg = <0x8000 0x4>,
|
||||||
<0x8004 0x4>;
|
<0x8004 0x4>;
|
||||||
reg-names = "rev", "sysc";
|
reg-names = "rev", "sysc";
|
||||||
|
@ -1938,7 +1918,6 @@
|
||||||
|
|
||||||
target-module@a000 { /* 0x4830a000, ap 100 60.0 */
|
target-module@a000 { /* 0x4830a000, ap 100 60.0 */
|
||||||
compatible = "ti,sysc-omap4", "ti,sysc";
|
compatible = "ti,sysc-omap4", "ti,sysc";
|
||||||
ti,hwmods = "epwmss5";
|
|
||||||
reg = <0xa000 0x4>,
|
reg = <0xa000 0x4>,
|
||||||
<0xa004 0x4>;
|
<0xa004 0x4>;
|
||||||
reg-names = "rev", "sysc";
|
reg-names = "rev", "sysc";
|
||||||
|
@ -2086,7 +2065,6 @@
|
||||||
|
|
||||||
target-module@26000 { /* 0x48326000, ap 86 66.0 */
|
target-module@26000 { /* 0x48326000, ap 86 66.0 */
|
||||||
compatible = "ti,sysc-omap4", "ti,sysc";
|
compatible = "ti,sysc-omap4", "ti,sysc";
|
||||||
ti,hwmods = "vpfe0";
|
|
||||||
reg = <0x26000 0x4>,
|
reg = <0x26000 0x4>,
|
||||||
<0x26104 0x4>;
|
<0x26104 0x4>;
|
||||||
reg-names = "rev", "sysc";
|
reg-names = "rev", "sysc";
|
||||||
|
@ -2113,7 +2091,6 @@
|
||||||
|
|
||||||
target-module@28000 { /* 0x48328000, ap 75 0e.0 */
|
target-module@28000 { /* 0x48328000, ap 75 0e.0 */
|
||||||
compatible = "ti,sysc-omap4", "ti,sysc";
|
compatible = "ti,sysc-omap4", "ti,sysc";
|
||||||
ti,hwmods = "vpfe1";
|
|
||||||
reg = <0x28000 0x4>,
|
reg = <0x28000 0x4>,
|
||||||
<0x28104 0x4>;
|
<0x28104 0x4>;
|
||||||
reg-names = "rev", "sysc";
|
reg-names = "rev", "sysc";
|
||||||
|
@ -2162,7 +2139,6 @@
|
||||||
|
|
||||||
target-module@3d000 { /* 0x4833d000, ap 102 6e.0 */
|
target-module@3d000 { /* 0x4833d000, ap 102 6e.0 */
|
||||||
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
||||||
ti,hwmods = "timer9";
|
|
||||||
reg = <0x3d000 0x4>,
|
reg = <0x3d000 0x4>,
|
||||||
<0x3d010 0x4>,
|
<0x3d010 0x4>,
|
||||||
<0x3d014 0x4>;
|
<0x3d014 0x4>;
|
||||||
|
@ -2189,7 +2165,6 @@
|
||||||
|
|
||||||
target-module@3f000 { /* 0x4833f000, ap 104 5c.0 */
|
target-module@3f000 { /* 0x4833f000, ap 104 5c.0 */
|
||||||
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
||||||
ti,hwmods = "timer10";
|
|
||||||
reg = <0x3f000 0x4>,
|
reg = <0x3f000 0x4>,
|
||||||
<0x3f010 0x4>,
|
<0x3f010 0x4>,
|
||||||
<0x3f014 0x4>;
|
<0x3f014 0x4>;
|
||||||
|
@ -2216,7 +2191,6 @@
|
||||||
|
|
||||||
target-module@41000 { /* 0x48341000, ap 106 76.0 */
|
target-module@41000 { /* 0x48341000, ap 106 76.0 */
|
||||||
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
||||||
ti,hwmods = "timer11";
|
|
||||||
reg = <0x41000 0x4>,
|
reg = <0x41000 0x4>,
|
||||||
<0x41010 0x4>,
|
<0x41010 0x4>,
|
||||||
<0x41014 0x4>;
|
<0x41014 0x4>;
|
||||||
|
@ -2243,7 +2217,6 @@
|
||||||
|
|
||||||
target-module@45000 { /* 0x48345000, ap 108 6a.0 */
|
target-module@45000 { /* 0x48345000, ap 108 6a.0 */
|
||||||
compatible = "ti,sysc-omap2", "ti,sysc";
|
compatible = "ti,sysc-omap2", "ti,sysc";
|
||||||
ti,hwmods = "spi4";
|
|
||||||
reg = <0x45000 0x4>,
|
reg = <0x45000 0x4>,
|
||||||
<0x45110 0x4>,
|
<0x45110 0x4>,
|
||||||
<0x45114 0x4>;
|
<0x45114 0x4>;
|
||||||
|
@ -2358,7 +2331,6 @@
|
||||||
|
|
||||||
target-module@a8000 { /* 0x483a8000, ap 125 6c.0 */
|
target-module@a8000 { /* 0x483a8000, ap 125 6c.0 */
|
||||||
compatible = "ti,sysc-omap4", "ti,sysc";
|
compatible = "ti,sysc-omap4", "ti,sysc";
|
||||||
ti,hwmods = "ocp2scp0";
|
|
||||||
reg = <0xa8000 0x4>;
|
reg = <0xa8000 0x4>;
|
||||||
reg-names = "rev";
|
reg-names = "rev";
|
||||||
/* Domains (P, C): per_pwrdm, l4ls_clkdm */
|
/* Domains (P, C): per_pwrdm, l4ls_clkdm */
|
||||||
|
@ -2440,7 +2412,6 @@
|
||||||
|
|
||||||
target-module@e8000 { /* 0x483e8000, ap 129 78.0 */
|
target-module@e8000 { /* 0x483e8000, ap 129 78.0 */
|
||||||
compatible = "ti,sysc-omap4", "ti,sysc";
|
compatible = "ti,sysc-omap4", "ti,sysc";
|
||||||
ti,hwmods = "ocp2scp1";
|
|
||||||
reg = <0xe8000 0x4>;
|
reg = <0xe8000 0x4>;
|
||||||
reg-names = "rev";
|
reg-names = "rev";
|
||||||
/* Domains (P, C): per_pwrdm, l4ls_clkdm */
|
/* Domains (P, C): per_pwrdm, l4ls_clkdm */
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
aliases {
|
aliases {
|
||||||
rtc0 = &tps659038_rtc;
|
rtc0 = &tps659038_rtc;
|
||||||
rtc1 = &rtc;
|
rtc1 = &rtc;
|
||||||
|
display0 = &hdmi0;
|
||||||
};
|
};
|
||||||
|
|
||||||
chosen {
|
chosen {
|
||||||
|
@ -96,6 +97,48 @@
|
||||||
default-state = "off";
|
default-state = "off";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
hdmi0: connector@0 {
|
||||||
|
compatible = "hdmi-connector";
|
||||||
|
label = "hdmi";
|
||||||
|
|
||||||
|
type = "a";
|
||||||
|
|
||||||
|
port {
|
||||||
|
hdmi_connector_in: endpoint {
|
||||||
|
remote-endpoint = <&tpd12s015_out>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
tpd12s015: encoder@0 {
|
||||||
|
compatible = "ti,tpd12s016", "ti,tpd12s015";
|
||||||
|
|
||||||
|
gpios = <0>, /* optional CT_CP_HPD */
|
||||||
|
<0>, /* optional LS_OE */
|
||||||
|
<&gpio7 12 GPIO_ACTIVE_HIGH>; /* HPD */
|
||||||
|
|
||||||
|
ports {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
port@0 {
|
||||||
|
reg = <0>;
|
||||||
|
|
||||||
|
tpd12s015_in: endpoint@0 {
|
||||||
|
remote-endpoint = <&hdmi_out>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
port@1 {
|
||||||
|
reg = <1>;
|
||||||
|
|
||||||
|
tpd12s015_out: endpoint@0 {
|
||||||
|
remote-endpoint = <&hdmi_connector_in>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
&dra7_pmx_core {
|
&dra7_pmx_core {
|
||||||
|
@ -485,3 +528,19 @@
|
||||||
&cpu0 {
|
&cpu0 {
|
||||||
vdd-supply = <&smps12_reg>;
|
vdd-supply = <&smps12_reg>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&hdmi {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
vdda-supply = <&ldo4_reg>;
|
||||||
|
|
||||||
|
port {
|
||||||
|
hdmi_out: endpoint {
|
||||||
|
remote-endpoint = <&tpd12s015_in>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&dss {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
115
arch/arm/boot/dts/armada-385-clearfog-gtr-l8.dts
Normal file
115
arch/arm/boot/dts/armada-385-clearfog-gtr-l8.dts
Normal file
|
@ -0,0 +1,115 @@
|
||||||
|
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
|
||||||
|
|
||||||
|
#include "armada-385-clearfog-gtr.dtsi"
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "SolidRun Clearfog GTR L8";
|
||||||
|
};
|
||||||
|
|
||||||
|
&mdio {
|
||||||
|
switch0: switch0@4 {
|
||||||
|
compatible = "marvell,mv88e6190";
|
||||||
|
reg = <4>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&cf_gtr_switch_reset_pins>;
|
||||||
|
reset-gpios = <&gpio0 18 GPIO_ACTIVE_LOW>;
|
||||||
|
|
||||||
|
ports {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
port@1 {
|
||||||
|
reg = <1>;
|
||||||
|
label = "lan8";
|
||||||
|
phy-handle = <&switch0phy0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
port@2 {
|
||||||
|
reg = <2>;
|
||||||
|
label = "lan7";
|
||||||
|
phy-handle = <&switch0phy1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
port@3 {
|
||||||
|
reg = <3>;
|
||||||
|
label = "lan6";
|
||||||
|
phy-handle = <&switch0phy2>;
|
||||||
|
};
|
||||||
|
|
||||||
|
port@4 {
|
||||||
|
reg = <4>;
|
||||||
|
label = "lan5";
|
||||||
|
phy-handle = <&switch0phy3>;
|
||||||
|
};
|
||||||
|
|
||||||
|
port@5 {
|
||||||
|
reg = <5>;
|
||||||
|
label = "lan4";
|
||||||
|
phy-handle = <&switch0phy4>;
|
||||||
|
};
|
||||||
|
|
||||||
|
port@6 {
|
||||||
|
reg = <6>;
|
||||||
|
label = "lan3";
|
||||||
|
phy-handle = <&switch0phy5>;
|
||||||
|
};
|
||||||
|
|
||||||
|
port@7 {
|
||||||
|
reg = <7>;
|
||||||
|
label = "lan2";
|
||||||
|
phy-handle = <&switch0phy6>;
|
||||||
|
};
|
||||||
|
|
||||||
|
port@8 {
|
||||||
|
reg = <8>;
|
||||||
|
label = "lan1";
|
||||||
|
phy-handle = <&switch0phy7>;
|
||||||
|
};
|
||||||
|
|
||||||
|
port@10 {
|
||||||
|
reg = <10>;
|
||||||
|
label = "cpu";
|
||||||
|
ethernet = <ð1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
mdio {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
switch0phy0: switch0phy0@1 {
|
||||||
|
reg = <0x1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
switch0phy1: switch0phy1@2 {
|
||||||
|
reg = <0x2>;
|
||||||
|
};
|
||||||
|
|
||||||
|
switch0phy2: switch0phy2@3 {
|
||||||
|
reg = <0x3>;
|
||||||
|
};
|
||||||
|
|
||||||
|
switch0phy3: switch0phy3@4 {
|
||||||
|
reg = <0x4>;
|
||||||
|
};
|
||||||
|
|
||||||
|
switch0phy4: switch0phy4@5 {
|
||||||
|
reg = <0x5>;
|
||||||
|
};
|
||||||
|
|
||||||
|
switch0phy5: switch0phy5@6 {
|
||||||
|
reg = <0x6>;
|
||||||
|
};
|
||||||
|
|
||||||
|
switch0phy6: switch0phy6@7 {
|
||||||
|
reg = <0x7>;
|
||||||
|
};
|
||||||
|
|
||||||
|
switch0phy7: switch0phy7@8 {
|
||||||
|
reg = <0x8>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
79
arch/arm/boot/dts/armada-385-clearfog-gtr-s4.dts
Normal file
79
arch/arm/boot/dts/armada-385-clearfog-gtr-s4.dts
Normal file
|
@ -0,0 +1,79 @@
|
||||||
|
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
|
||||||
|
|
||||||
|
#include "armada-385-clearfog-gtr.dtsi"
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "SolidRun Clearfog GTR S4";
|
||||||
|
};
|
||||||
|
|
||||||
|
&sfp0 {
|
||||||
|
tx-fault-gpio = <&gpio0 24 GPIO_ACTIVE_HIGH>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&mdio {
|
||||||
|
switch0: switch0@4 {
|
||||||
|
compatible = "marvell,mv88e6085";
|
||||||
|
reg = <4>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&cf_gtr_switch_reset_pins>;
|
||||||
|
reset-gpios = <&gpio0 18 GPIO_ACTIVE_LOW>;
|
||||||
|
|
||||||
|
ports {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
port@1 {
|
||||||
|
reg = <1>;
|
||||||
|
label = "lan2";
|
||||||
|
phy-handle = <&switch0phy0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
port@2 {
|
||||||
|
reg = <2>;
|
||||||
|
label = "lan1";
|
||||||
|
phy-handle = <&switch0phy1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
port@3 {
|
||||||
|
reg = <3>;
|
||||||
|
label = "lan4";
|
||||||
|
phy-handle = <&switch0phy2>;
|
||||||
|
};
|
||||||
|
|
||||||
|
port@4 {
|
||||||
|
reg = <4>;
|
||||||
|
label = "lan3";
|
||||||
|
phy-handle = <&switch0phy3>;
|
||||||
|
};
|
||||||
|
|
||||||
|
port@5 {
|
||||||
|
reg = <5>;
|
||||||
|
label = "cpu";
|
||||||
|
ethernet = <ð1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
mdio {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
switch0phy0: switch0phy0@11 {
|
||||||
|
reg = <0x11>;
|
||||||
|
};
|
||||||
|
|
||||||
|
switch0phy1: switch0phy1@12 {
|
||||||
|
reg = <0x12>;
|
||||||
|
};
|
||||||
|
|
||||||
|
switch0phy2: switch0phy2@13 {
|
||||||
|
reg = <0x13>;
|
||||||
|
};
|
||||||
|
|
||||||
|
switch0phy3: switch0phy3@14 {
|
||||||
|
reg = <0x14>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
450
arch/arm/boot/dts/armada-385-clearfog-gtr.dtsi
Normal file
450
arch/arm/boot/dts/armada-385-clearfog-gtr.dtsi
Normal file
|
@ -0,0 +1,450 @@
|
||||||
|
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
|
||||||
|
/*
|
||||||
|
* Device Tree file for Clearfog GTR machines rev 1.0 (88F6825)
|
||||||
|
*
|
||||||
|
* Rabeeh Khoury <rabeeh@solid-run.com>, based on Russell King clearfog work
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
SERDES mapping -
|
||||||
|
0. SATA1 on CON18, or optionally mini PCIe CON3 - PCIe0
|
||||||
|
1. 6141 switch (2.5Gbps capable)
|
||||||
|
2. SATA0 on CON17, or optionally mini PCIe CON4 - PCIe1
|
||||||
|
3. USB 3.0 Host
|
||||||
|
4. mini PCIe CON2 - PCIe2
|
||||||
|
5. SFP connector, or optionally SGMII Ethernet 1512 PHY
|
||||||
|
|
||||||
|
USB 2.0 mapping -
|
||||||
|
0. USB 2.0 - 0 USB pins header CON12
|
||||||
|
1. USB 2.0 - 1 mini PCIe CON2
|
||||||
|
2. USB 2.0 - 2 to USB 3.0 connector (used with SERDES #3)
|
||||||
|
|
||||||
|
Pin mapping -
|
||||||
|
0,1 - console UART
|
||||||
|
2,3 - I2C0 - connected to I2C EEPROM, two temperature sensors,
|
||||||
|
front panel and PSE controller
|
||||||
|
4,5 - MDC/MDIO
|
||||||
|
6..17 - RGMII
|
||||||
|
18 - Topaz switch reset (active low)
|
||||||
|
19 - 1512 phy reset
|
||||||
|
20 - 1512 phy reset (eth2, optional)
|
||||||
|
21,28,37,38,39,40 - SD0
|
||||||
|
22 - USB 3.0 current limiter enable (active high)
|
||||||
|
24 - SFP TX fault (input active high)
|
||||||
|
25 - SFP present (input active low)
|
||||||
|
26,27 - I2C1 - connected to SFP
|
||||||
|
29 - Fan PWM
|
||||||
|
30 - CON4 mini PCIe wifi disable
|
||||||
|
31 - CON3 mini PCIe wifi disable
|
||||||
|
32 - Fuse programming power toggle (1.8v)
|
||||||
|
33 - CON4 mini PCIe reset
|
||||||
|
34 - CON2 mini PCIe wifi disable
|
||||||
|
35 - CON3 mini PCIe reset
|
||||||
|
36 - Rear button (GPIO active low)
|
||||||
|
41 - CON1 front panel connector
|
||||||
|
42 - Front LED1, or front panel CON1
|
||||||
|
43 - Micron L-PBGA 24 ball SPI (1Gb) CS, or TPM SPI CS
|
||||||
|
44 - CON2 mini PCIe reset
|
||||||
|
45 - TPM PIRQ signal, or front panel CON1
|
||||||
|
46 - SFP TX disable
|
||||||
|
47 - Control isolation of boot sensitive SAR signals
|
||||||
|
48 - PSE reset
|
||||||
|
49 - PSE OSS signal
|
||||||
|
50 - PSE interrupt
|
||||||
|
52 - Front LED2, or front panel
|
||||||
|
53 - Front button
|
||||||
|
54 - SFP LOS (input active high)
|
||||||
|
55 - Fan sense
|
||||||
|
56(mosi),57(clk),58(miso) - SPI interface - 32Mb SPI, 1Gb SPI and TPM
|
||||||
|
59 - SPI 32Mb W25Q32BVZPIG CS0 chip select (bootable)
|
||||||
|
*/
|
||||||
|
|
||||||
|
/dts-v1/;
|
||||||
|
#include <dt-bindings/input/input.h>
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
#include <dt-bindings/leds/common.h>
|
||||||
|
#include "armada-385.dtsi"
|
||||||
|
|
||||||
|
/ {
|
||||||
|
compatible = "marvell,armada385", "marvell,armada380";
|
||||||
|
|
||||||
|
aliases {
|
||||||
|
/* So that mvebu u-boot can update the MAC addresses */
|
||||||
|
ethernet1 = ð0;
|
||||||
|
ethernet2 = ð1;
|
||||||
|
ethernet3 = ð2;
|
||||||
|
i2c0 = &i2c0;
|
||||||
|
i2c1 = &i2c1;
|
||||||
|
};
|
||||||
|
|
||||||
|
chosen {
|
||||||
|
stdout-path = "serial0:115200n8";
|
||||||
|
};
|
||||||
|
|
||||||
|
memory {
|
||||||
|
device_type = "memory";
|
||||||
|
reg = <0x00000000 0x10000000>; /* 256 MB */
|
||||||
|
};
|
||||||
|
|
||||||
|
reg_3p3v: regulator-3p3v {
|
||||||
|
compatible = "regulator-fixed";
|
||||||
|
regulator-name = "3P3V";
|
||||||
|
regulator-min-microvolt = <3300000>;
|
||||||
|
regulator-max-microvolt = <3300000>;
|
||||||
|
regulator-always-on;
|
||||||
|
};
|
||||||
|
|
||||||
|
reg_5p0v: regulator-5p0v {
|
||||||
|
compatible = "regulator-fixed";
|
||||||
|
regulator-name = "5P0V";
|
||||||
|
regulator-min-microvolt = <5000000>;
|
||||||
|
regulator-max-microvolt = <5000000>;
|
||||||
|
regulator-always-on;
|
||||||
|
};
|
||||||
|
|
||||||
|
v_usb3_con: regulator-v-usb3-con {
|
||||||
|
compatible = "regulator-fixed";
|
||||||
|
gpio = <&gpio0 22 GPIO_ACTIVE_LOW>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&cf_gtr_usb3_con_vbus>;
|
||||||
|
regulator-max-microvolt = <5000000>;
|
||||||
|
regulator-min-microvolt = <5000000>;
|
||||||
|
regulator-name = "v_usb3_con";
|
||||||
|
vin-supply = <®_5p0v>;
|
||||||
|
regulator-boot-on;
|
||||||
|
regulator-always-on;
|
||||||
|
};
|
||||||
|
|
||||||
|
soc {
|
||||||
|
ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000
|
||||||
|
MBUS_ID(0x01, 0x1d) 0 0xfff00000 0x100000
|
||||||
|
MBUS_ID(0x09, 0x19) 0 0xf1100000 0x10000
|
||||||
|
MBUS_ID(0x09, 0x15) 0 0xf1110000 0x10000
|
||||||
|
MBUS_ID(0x0c, 0x04) 0 0xf1200000 0x100000>;
|
||||||
|
|
||||||
|
internal-regs {
|
||||||
|
|
||||||
|
rtc@a3800 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
i2c@11000 { /* ROM, temp sensor and front panel */
|
||||||
|
pinctrl-0 = <&i2c0_pins>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
i2c@11100 { /* SFP (CON5/CON6) */
|
||||||
|
pinctrl-0 = <&cf_gtr_i2c1_pins>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
pinctrl@18000 {
|
||||||
|
cf_gtr_switch_reset_pins: cf-gtr-switch-reset-pins {
|
||||||
|
marvell,pins = "mpp18";
|
||||||
|
marvell,function = "gpio";
|
||||||
|
};
|
||||||
|
|
||||||
|
cf_gtr_usb3_con_vbus: cf-gtr-usb3-con-vbus {
|
||||||
|
marvell,pins = "mpp22";
|
||||||
|
marvell,function = "gpio";
|
||||||
|
};
|
||||||
|
|
||||||
|
cf_gtr_fan_pwm: cf-gtr-fan-pwm {
|
||||||
|
marvell,pins = "mpp23";
|
||||||
|
marvell,function = "gpio";
|
||||||
|
};
|
||||||
|
|
||||||
|
cf_gtr_i2c1_pins: i2c1-pins {
|
||||||
|
/* SFP */
|
||||||
|
marvell,pins = "mpp26", "mpp27";
|
||||||
|
marvell,function = "i2c1";
|
||||||
|
};
|
||||||
|
|
||||||
|
cf_gtr_sdhci_pins: cf-gtr-sdhci-pins {
|
||||||
|
marvell,pins = "mpp21", "mpp28",
|
||||||
|
"mpp37", "mpp38",
|
||||||
|
"mpp39", "mpp40";
|
||||||
|
marvell,function = "sd0";
|
||||||
|
};
|
||||||
|
|
||||||
|
cf_gtr_isolation_pins: cf-gtr-isolation-pins {
|
||||||
|
marvell,pins = "mpp47";
|
||||||
|
marvell,function = "gpio";
|
||||||
|
};
|
||||||
|
|
||||||
|
cf_gtr_poe_reset_pins: cf-gtr-poe-reset-pins {
|
||||||
|
marvell,pins = "mpp48";
|
||||||
|
marvell,function = "gpio";
|
||||||
|
};
|
||||||
|
|
||||||
|
cf_gtr_spi1_cs_pins: spi1-cs-pins {
|
||||||
|
marvell,pins = "mpp59";
|
||||||
|
marvell,function = "spi1";
|
||||||
|
};
|
||||||
|
|
||||||
|
cf_gtr_front_button_pins: cf-gtr-front-button-pins {
|
||||||
|
marvell,pins = "mpp53";
|
||||||
|
marvell,function = "gpio";
|
||||||
|
};
|
||||||
|
|
||||||
|
cf_gtr_rear_button_pins: cf-gtr-rear-button-pins {
|
||||||
|
marvell,pins = "mpp36";
|
||||||
|
marvell,function = "gpio";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
sdhci@d8000 {
|
||||||
|
bus-width = <4>;
|
||||||
|
no-1-8-v;
|
||||||
|
non-removable;
|
||||||
|
pinctrl-0 = <&cf_gtr_sdhci_pins>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
status = "okay";
|
||||||
|
vmmc = <®_3p3v>;
|
||||||
|
wp-inverted;
|
||||||
|
};
|
||||||
|
|
||||||
|
usb@58000 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
usb3@f0000 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
usb3@f8000 {
|
||||||
|
vbus-supply = <&v_usb3_con>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
pcie {
|
||||||
|
status = "okay";
|
||||||
|
/*
|
||||||
|
* The PCIe units are accessible through
|
||||||
|
* the mini-PCIe connectors on the board.
|
||||||
|
*/
|
||||||
|
pcie@1,0 {
|
||||||
|
reset-gpios = <&gpio1 3 GPIO_ACTIVE_LOW>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
pcie@2,0 {
|
||||||
|
reset-gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
pcie@3,0 {
|
||||||
|
reset-gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
sfp0: sfp {
|
||||||
|
compatible = "sff,sfp";
|
||||||
|
i2c-bus = <&i2c1>;
|
||||||
|
los-gpio = <&gpio1 22 GPIO_ACTIVE_HIGH>;
|
||||||
|
mod-def0-gpio = <&gpio0 25 GPIO_ACTIVE_LOW>;
|
||||||
|
tx-disable-gpio = <&gpio1 14 GPIO_ACTIVE_HIGH>;
|
||||||
|
};
|
||||||
|
|
||||||
|
gpio-keys {
|
||||||
|
compatible = "gpio-keys";
|
||||||
|
pinctrl-0 = <&cf_gtr_rear_button_pins &cf_gtr_front_button_pins>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
|
||||||
|
button_0 {
|
||||||
|
label = "Rear Button";
|
||||||
|
gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
|
||||||
|
linux,can-disable;
|
||||||
|
linux,code = <BTN_0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
button_1 {
|
||||||
|
label = "Front Button";
|
||||||
|
gpios = <&gpio1 21 GPIO_ACTIVE_LOW>;
|
||||||
|
linux,can-disable;
|
||||||
|
linux,code = <BTN_1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
gpio-leds {
|
||||||
|
compatible = "gpio-leds";
|
||||||
|
|
||||||
|
led1 {
|
||||||
|
function = LED_FUNCTION_CPU;
|
||||||
|
color = <LED_COLOR_ID_GREEN>;
|
||||||
|
gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
|
||||||
|
};
|
||||||
|
|
||||||
|
led2 {
|
||||||
|
function = LED_FUNCTION_HEARTBEAT;
|
||||||
|
color = <LED_COLOR_ID_GREEN>;
|
||||||
|
gpios = <&gpio1 20 GPIO_ACTIVE_HIGH>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&bm {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&bm_bppi {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
ð0 {
|
||||||
|
/* ethernet@70000 */
|
||||||
|
pinctrl-0 = <&ge0_rgmii_pins>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
phy = <&phy_dedicated>;
|
||||||
|
phy-mode = "rgmii-id";
|
||||||
|
buffer-manager = <&bm>;
|
||||||
|
bm,pool-long = <0>;
|
||||||
|
bm,pool-short = <1>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
ð1 {
|
||||||
|
/* ethernet@30000 */
|
||||||
|
bm,pool-long = <2>;
|
||||||
|
bm,pool-short = <1>;
|
||||||
|
buffer-manager = <&bm>;
|
||||||
|
phys = <&comphy1 1>;
|
||||||
|
phy-mode = "2500base-x";
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
fixed-link {
|
||||||
|
speed = <2500>;
|
||||||
|
full-duplex;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
ð2 {
|
||||||
|
/* ethernet@34000 */
|
||||||
|
bm,pool-long = <3>;
|
||||||
|
bm,pool-short = <1>;
|
||||||
|
buffer-manager = <&bm>;
|
||||||
|
managed = "in-band-status";
|
||||||
|
phys = <&comphy5 1>;
|
||||||
|
phy-mode = "sgmii";
|
||||||
|
sfp = <&sfp0>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&mdio {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&mdio_pins>;
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
phy_dedicated: ethernet-phy@0 {
|
||||||
|
/*
|
||||||
|
* Annoyingly, the marvell phy driver configures the LED
|
||||||
|
* register, rather than preserving reset-loaded setting.
|
||||||
|
* We undo that rubbish here.
|
||||||
|
*/
|
||||||
|
marvell,reg-init = <3 16 0 0x1017>;
|
||||||
|
reg = <0>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&uart0 {
|
||||||
|
pinctrl-0 = <&uart0_pins>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&spi1 {
|
||||||
|
/*
|
||||||
|
* CS0: W25Q32 flash
|
||||||
|
*/
|
||||||
|
pinctrl-0 = <&spi1_pins &cf_gtr_spi1_cs_pins>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
spi-flash@0 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
compatible = "w25q32", "jedec,spi-nor";
|
||||||
|
reg = <0>; /* Chip select 0 */
|
||||||
|
spi-max-frequency = <3000000>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&i2c0 {
|
||||||
|
pinctrl-0 = <&i2c0_pins>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
/* U26 temperature sensor placed near SoC */
|
||||||
|
temp1: nct75@4c {
|
||||||
|
compatible = "lm75";
|
||||||
|
reg = <0x4c>;
|
||||||
|
};
|
||||||
|
|
||||||
|
/* U27 temperature sensor placed near RTC battery */
|
||||||
|
temp2: nct75@4d {
|
||||||
|
compatible = "lm75";
|
||||||
|
reg = <0x4d>;
|
||||||
|
};
|
||||||
|
|
||||||
|
/* 2Kb eeprom */
|
||||||
|
eeprom@53 {
|
||||||
|
compatible = "atmel,24c02";
|
||||||
|
reg = <0x53>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&ahci0 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&ahci1 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&gpio0 {
|
||||||
|
pinctrl-0 = <&cf_gtr_fan_pwm>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
|
||||||
|
wifi-disable {
|
||||||
|
gpio-hog;
|
||||||
|
gpios = <30 GPIO_ACTIVE_LOW>, <31 GPIO_ACTIVE_LOW>;
|
||||||
|
output-low;
|
||||||
|
line-name = "wifi-disable";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&gpio1 {
|
||||||
|
pinctrl-0 = <&cf_gtr_isolation_pins &cf_gtr_poe_reset_pins>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
|
||||||
|
lte-disable {
|
||||||
|
gpio-hog;
|
||||||
|
gpios = <2 GPIO_ACTIVE_LOW>;
|
||||||
|
output-low;
|
||||||
|
line-name = "lte-disable";
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This signal, when asserted, isolates Armada 38x sample at reset pins
|
||||||
|
* from control of external devices. Should be de-asserted after reset.
|
||||||
|
*/
|
||||||
|
sar-isolation {
|
||||||
|
gpio-hog;
|
||||||
|
gpios = <15 GPIO_ACTIVE_LOW>;
|
||||||
|
output-low;
|
||||||
|
line-name = "sar-isolation";
|
||||||
|
};
|
||||||
|
|
||||||
|
poe-reset {
|
||||||
|
gpio-hog;
|
||||||
|
gpios = <16 GPIO_ACTIVE_LOW>;
|
||||||
|
output-low;
|
||||||
|
line-name = "poe-reset";
|
||||||
|
};
|
||||||
|
};
|
|
@ -111,11 +111,6 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
&i2c0 {
|
&i2c0 {
|
||||||
clock-frequency = <400000>;
|
|
||||||
pinctrl-0 = <&i2c0_pins>;
|
|
||||||
pinctrl-names = "default";
|
|
||||||
status = "okay";
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* PCA9655 GPIO expander, up to 1MHz clock.
|
* PCA9655 GPIO expander, up to 1MHz clock.
|
||||||
* 0-CON3 CLKREQ#
|
* 0-CON3 CLKREQ#
|
||||||
|
@ -183,6 +178,12 @@
|
||||||
compatible = "microchip,mcp3021";
|
compatible = "microchip,mcp3021";
|
||||||
reg = <0x4c>;
|
reg = <0x4c>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
eeprom@52 {
|
||||||
|
compatible = "atmel,24c02";
|
||||||
|
reg = <0x52>;
|
||||||
|
pagesize = <16>;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
&i2c1 {
|
&i2c1 {
|
||||||
|
|
|
@ -140,11 +140,6 @@
|
||||||
soc {
|
soc {
|
||||||
internal-regs {
|
internal-regs {
|
||||||
i2c@11000 {
|
i2c@11000 {
|
||||||
clock-frequency = <400000>;
|
|
||||||
pinctrl-0 = <&i2c0_pins>;
|
|
||||||
pinctrl-names = "default";
|
|
||||||
status = "okay";
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* PCA9655 GPIO expander, up to 1MHz clock.
|
* PCA9655 GPIO expander, up to 1MHz clock.
|
||||||
* 0-Board Revision bit 0 #
|
* 0-Board Revision bit 0 #
|
||||||
|
|
|
@ -71,6 +71,19 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&i2c0 {
|
||||||
|
clock-frequency = <400000>;
|
||||||
|
pinctrl-0 = <&i2c0_pins>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
eeprom@53 {
|
||||||
|
compatible = "atmel,24c02";
|
||||||
|
reg = <0x53>;
|
||||||
|
pagesize = <16>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
&pinctrl {
|
&pinctrl {
|
||||||
microsom_phy_clk_pins: microsom-phy-clk-pins {
|
microsom_phy_clk_pins: microsom-phy-clk-pins {
|
||||||
marvell,pins = "mpp45";
|
marvell,pins = "mpp45";
|
||||||
|
|
|
@ -76,7 +76,6 @@
|
||||||
|
|
||||||
&mac1 {
|
&mac1 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
no-hw-checksum;
|
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_rgmii2_default &pinctrl_mdio2_default>;
|
pinctrl-0 = <&pinctrl_rgmii2_default &pinctrl_mdio2_default>;
|
||||||
};
|
};
|
||||||
|
|
|
@ -75,7 +75,6 @@
|
||||||
|
|
||||||
&mac1 {
|
&mac1 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
no-hw-checksum;
|
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_rgmii2_default &pinctrl_mdio2_default>;
|
pinctrl-0 = <&pinctrl_rgmii2_default &pinctrl_mdio2_default>;
|
||||||
};
|
};
|
||||||
|
|
|
@ -35,7 +35,6 @@
|
||||||
&mac0 {
|
&mac0 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
use-ncsi;
|
use-ncsi;
|
||||||
no-hw-checksum;
|
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_rmii1_default>;
|
pinctrl-0 = <&pinctrl_rmii1_default>;
|
||||||
clocks = <&syscon ASPEED_CLK_GATE_MAC1CLK>,
|
clocks = <&syscon ASPEED_CLK_GATE_MAC1CLK>,
|
||||||
|
|
|
@ -97,22 +97,22 @@
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
|
||||||
power-supply@68 {
|
power-supply@68 {
|
||||||
compatible = "ibm,cffps2";
|
compatible = "ibm,cffps";
|
||||||
reg = <0x68>;
|
reg = <0x68>;
|
||||||
};
|
};
|
||||||
|
|
||||||
power-supply@69 {
|
power-supply@69 {
|
||||||
compatible = "ibm,cffps2";
|
compatible = "ibm,cffps";
|
||||||
reg = <0x69>;
|
reg = <0x69>;
|
||||||
};
|
};
|
||||||
|
|
||||||
power-supply@6a {
|
power-supply@6a {
|
||||||
compatible = "ibm,cffps2";
|
compatible = "ibm,cffps";
|
||||||
reg = <0x6a>;
|
reg = <0x6a>;
|
||||||
};
|
};
|
||||||
|
|
||||||
power-supply@6b {
|
power-supply@6b {
|
||||||
compatible = "ibm,cffps2";
|
compatible = "ibm,cffps";
|
||||||
reg = <0x6b>;
|
reg = <0x6b>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -352,18 +352,8 @@
|
||||||
&i2c8 {
|
&i2c8 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
|
||||||
ucd90320@b {
|
|
||||||
compatible = "ti,ucd90160";
|
|
||||||
reg = <0x0b>;
|
|
||||||
};
|
|
||||||
|
|
||||||
ucd90320@c {
|
|
||||||
compatible = "ti,ucd90160";
|
|
||||||
reg = <0x0c>;
|
|
||||||
};
|
|
||||||
|
|
||||||
ucd90320@11 {
|
ucd90320@11 {
|
||||||
compatible = "ti,ucd90160";
|
compatible = "ti,ucd90320";
|
||||||
reg = <0x11>;
|
reg = <0x11>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -94,8 +94,6 @@
|
||||||
|
|
||||||
gpio-keys-polled {
|
gpio-keys-polled {
|
||||||
compatible = "gpio-keys-polled";
|
compatible = "gpio-keys-polled";
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <0>;
|
|
||||||
poll-interval = <1000>;
|
poll-interval = <1000>;
|
||||||
|
|
||||||
fan0-presence {
|
fan0-presence {
|
||||||
|
|
|
@ -82,8 +82,6 @@
|
||||||
|
|
||||||
gpio-keys-polled {
|
gpio-keys-polled {
|
||||||
compatible = "gpio-keys-polled";
|
compatible = "gpio-keys-polled";
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <0>;
|
|
||||||
poll-interval = <1000>;
|
poll-interval = <1000>;
|
||||||
|
|
||||||
scm0-presence {
|
scm0-presence {
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
bootargs = "console=ttyS4,115200 earlyprintk";
|
bootargs = "console=ttyS4,115200 earlyprintk";
|
||||||
};
|
};
|
||||||
|
|
||||||
memory {
|
memory@40000000 {
|
||||||
reg = <0x40000000 0x20000000>;
|
reg = <0x40000000 0x20000000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -107,10 +107,7 @@
|
||||||
|
|
||||||
&mac0 {
|
&mac0 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
|
||||||
use-ncsi;
|
use-ncsi;
|
||||||
no-hw-checksum;
|
|
||||||
|
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_rmii1_default>;
|
pinctrl-0 = <&pinctrl_rmii1_default>;
|
||||||
};
|
};
|
||||||
|
@ -236,3 +233,16 @@
|
||||||
&wdt2 {
|
&wdt2 {
|
||||||
aspeed,alt-boot;
|
aspeed,alt-boot;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&sdmmc {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&sdhci1 {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&pinctrl_sd2_default>;
|
||||||
|
cd-inverted;
|
||||||
|
disable-wp;
|
||||||
|
};
|
||||||
|
|
|
@ -77,8 +77,6 @@
|
||||||
|
|
||||||
gpio-keys-polled {
|
gpio-keys-polled {
|
||||||
compatible = "gpio-keys-polled";
|
compatible = "gpio-keys-polled";
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <0>;
|
|
||||||
poll-interval = <1000>;
|
poll-interval = <1000>;
|
||||||
|
|
||||||
fan0-presence {
|
fan0-presence {
|
||||||
|
|
|
@ -179,18 +179,21 @@
|
||||||
compatible = "aspeed,ast2400-scu", "syscon", "simple-mfd";
|
compatible = "aspeed,ast2400-scu", "syscon", "simple-mfd";
|
||||||
reg = <0x1e6e2000 0x1a8>;
|
reg = <0x1e6e2000 0x1a8>;
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <1>;
|
||||||
|
ranges = <0 0x1e6e2000 0x1000>;
|
||||||
#clock-cells = <1>;
|
#clock-cells = <1>;
|
||||||
#reset-cells = <1>;
|
#reset-cells = <1>;
|
||||||
|
|
||||||
pinctrl: pinctrl {
|
p2a: p2a-control@2c {
|
||||||
compatible = "aspeed,ast2400-pinctrl";
|
reg = <0x2c 0x4>;
|
||||||
};
|
|
||||||
|
|
||||||
p2a: p2a-control {
|
|
||||||
compatible = "aspeed,ast2400-p2a-ctrl";
|
compatible = "aspeed,ast2400-p2a-ctrl";
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
pinctrl: pinctrl@80 {
|
||||||
|
reg = <0x80 0x18>, <0xa0 0x10>;
|
||||||
|
compatible = "aspeed,ast2400-pinctrl";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
rng: hwrng@1e6e2078 {
|
rng: hwrng@1e6e2078 {
|
||||||
|
@ -346,14 +349,14 @@
|
||||||
|
|
||||||
lpc_ctrl: lpc-ctrl@0 {
|
lpc_ctrl: lpc-ctrl@0 {
|
||||||
compatible = "aspeed,ast2400-lpc-ctrl";
|
compatible = "aspeed,ast2400-lpc-ctrl";
|
||||||
reg = <0x0 0x80>;
|
reg = <0x0 0x10>;
|
||||||
clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
|
clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
lpc_snoop: lpc-snoop@0 {
|
lpc_snoop: lpc-snoop@10 {
|
||||||
compatible = "aspeed,ast2400-lpc-snoop";
|
compatible = "aspeed,ast2400-lpc-snoop";
|
||||||
reg = <0x0 0x80>;
|
reg = <0x10 0x8>;
|
||||||
interrupts = <8>;
|
interrupts = <8>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
|
@ -47,13 +47,6 @@
|
||||||
reg = <0x80000000 0>;
|
reg = <0x80000000 0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
edac: sdram@1e6e0000 {
|
|
||||||
compatible = "aspeed,ast2500-sdram-edac";
|
|
||||||
reg = <0x1e6e0000 0x174>;
|
|
||||||
interrupts = <0>;
|
|
||||||
status = "disabled";
|
|
||||||
};
|
|
||||||
|
|
||||||
ahb {
|
ahb {
|
||||||
compatible = "simple-bus";
|
compatible = "simple-bus";
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
|
@ -213,23 +206,32 @@
|
||||||
#size-cells = <1>;
|
#size-cells = <1>;
|
||||||
ranges;
|
ranges;
|
||||||
|
|
||||||
|
edac: memory-controller@1e6e0000 {
|
||||||
|
compatible = "aspeed,ast2500-sdram-edac";
|
||||||
|
reg = <0x1e6e0000 0x174>;
|
||||||
|
interrupts = <0>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
syscon: syscon@1e6e2000 {
|
syscon: syscon@1e6e2000 {
|
||||||
compatible = "aspeed,ast2500-scu", "syscon", "simple-mfd";
|
compatible = "aspeed,ast2500-scu", "syscon", "simple-mfd";
|
||||||
reg = <0x1e6e2000 0x1a8>;
|
reg = <0x1e6e2000 0x1a8>;
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <1>;
|
||||||
|
ranges = <0 0x1e6e2000 0x1000>;
|
||||||
#clock-cells = <1>;
|
#clock-cells = <1>;
|
||||||
#reset-cells = <1>;
|
#reset-cells = <1>;
|
||||||
|
|
||||||
pinctrl: pinctrl {
|
p2a: p2a-control@2c {
|
||||||
compatible = "aspeed,ast2500-pinctrl";
|
compatible = "aspeed,ast2500-p2a-ctrl";
|
||||||
aspeed,external-nodes = <&gfx &lhc>;
|
reg = <0x2c 0x4>;
|
||||||
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
p2a: p2a-control {
|
pinctrl: pinctrl@80 {
|
||||||
compatible = "aspeed,ast2500-p2a-ctrl";
|
compatible = "aspeed,ast2500-pinctrl";
|
||||||
status = "disabled";
|
reg = <0x80 0x18>, <0xa0 0x10>;
|
||||||
|
aspeed,external-nodes = <&gfx>, <&lhc>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -460,29 +462,30 @@
|
||||||
|
|
||||||
lpc_ctrl: lpc-ctrl@0 {
|
lpc_ctrl: lpc-ctrl@0 {
|
||||||
compatible = "aspeed,ast2500-lpc-ctrl";
|
compatible = "aspeed,ast2500-lpc-ctrl";
|
||||||
reg = <0x0 0x80>;
|
reg = <0x0 0x10>;
|
||||||
clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
|
clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
lpc_snoop: lpc-snoop@0 {
|
lpc_snoop: lpc-snoop@10 {
|
||||||
compatible = "aspeed,ast2500-lpc-snoop";
|
compatible = "aspeed,ast2500-lpc-snoop";
|
||||||
reg = <0x0 0x80>;
|
reg = <0x10 0x8>;
|
||||||
interrupts = <8>;
|
interrupts = <8>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
lhc: lhc@20 {
|
|
||||||
compatible = "aspeed,ast2500-lhc";
|
|
||||||
reg = <0x20 0x24 0x48 0x8>;
|
|
||||||
};
|
|
||||||
|
|
||||||
lpc_reset: reset-controller@18 {
|
lpc_reset: reset-controller@18 {
|
||||||
compatible = "aspeed,ast2500-lpc-reset";
|
compatible = "aspeed,ast2500-lpc-reset";
|
||||||
reg = <0x18 0x4>;
|
reg = <0x18 0x4>;
|
||||||
#reset-cells = <1>;
|
#reset-cells = <1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
lhc: lhc@20 {
|
||||||
|
compatible = "aspeed,ast2500-lhc";
|
||||||
|
reg = <0x20 0x24 0x48 0x8>;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
ibt: ibt@c0 {
|
ibt: ibt@c0 {
|
||||||
compatible = "aspeed,ast2500-ibt-bmc";
|
compatible = "aspeed,ast2500-ibt-bmc";
|
||||||
reg = <0xc0 0x18>;
|
reg = <0xc0 0x18>;
|
||||||
|
|
|
@ -365,7 +365,7 @@
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
wdt4: watchdog@1e7850C0 {
|
wdt4: watchdog@1e7850c0 {
|
||||||
compatible = "aspeed,ast2600-wdt";
|
compatible = "aspeed,ast2600-wdt";
|
||||||
reg = <0x1e7850C0 0x40>;
|
reg = <0x1e7850C0 0x40>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
|
|
|
@ -71,7 +71,6 @@
|
||||||
|
|
||||||
&mac1 {
|
&mac1 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
no-hw-checksum;
|
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_rgmii2_default &pinctrl_mdio2_default>;
|
pinctrl-0 = <&pinctrl_rgmii2_default &pinctrl_mdio2_default>;
|
||||||
};
|
};
|
||||||
|
|
|
@ -28,85 +28,6 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
ahb {
|
|
||||||
apb {
|
|
||||||
tcb0: timer@fffa0000 {
|
|
||||||
timer@0 {
|
|
||||||
compatible = "atmel,tcb-timer";
|
|
||||||
reg = <0>, <1>;
|
|
||||||
};
|
|
||||||
|
|
||||||
timer@2 {
|
|
||||||
compatible = "atmel,tcb-timer";
|
|
||||||
reg = <2>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
macb0: ethernet@fffc4000 {
|
|
||||||
phy-mode = "mii";
|
|
||||||
pinctrl-0 = <&pinctrl_macb_rmii
|
|
||||||
&pinctrl_macb_rmii_mii_alt>;
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
|
|
||||||
usart3: serial@fffd0000 {
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
|
|
||||||
dbgu: serial@fffff200 {
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
|
|
||||||
watchdog@fffffd40 {
|
|
||||||
timeout-sec = <15>;
|
|
||||||
atmel,max-heartbeat-sec = <16>;
|
|
||||||
atmel,min-heartbeat-sec = <0>;
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
usb0: ohci@500000 {
|
|
||||||
num-ports = <1>;
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
|
|
||||||
ebi: ebi@10000000 {
|
|
||||||
status = "okay";
|
|
||||||
|
|
||||||
nand_controller: nand-controller {
|
|
||||||
status = "okay";
|
|
||||||
pinctrl-0 = <&pinctrl_nand_cs &pinctrl_nand_rb>;
|
|
||||||
pinctrl-names = "default";
|
|
||||||
|
|
||||||
nand@3 {
|
|
||||||
reg = <0x3 0x0 0x800000>;
|
|
||||||
rb-gpios = <&pioC 13 GPIO_ACTIVE_HIGH>;
|
|
||||||
cs-gpios = <&pioC 14 GPIO_ACTIVE_HIGH>;
|
|
||||||
nand-bus-width = <8>;
|
|
||||||
nand-ecc-mode = "soft";
|
|
||||||
nand-on-flash-bbt;
|
|
||||||
label = "atmel_nand";
|
|
||||||
|
|
||||||
partitions {
|
|
||||||
compatible = "fixed-partitions";
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <1>;
|
|
||||||
|
|
||||||
bootstrap@0 {
|
|
||||||
label = "bootstrap";
|
|
||||||
reg = <0x0 0x20000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
ubi@20000 {
|
|
||||||
label = "ubi";
|
|
||||||
reg = <0x20000 0x7fe0000>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
gpio_keys {
|
gpio_keys {
|
||||||
compatible = "gpio-keys";
|
compatible = "gpio-keys";
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
|
@ -127,15 +48,6 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
i2c-gpio-0 {
|
|
||||||
status = "okay";
|
|
||||||
|
|
||||||
rtc: pcf8563@51 {
|
|
||||||
compatible = "nxp,pcf8563";
|
|
||||||
reg = <0x51>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
pwm_leds {
|
pwm_leds {
|
||||||
compatible = "pwm-leds";
|
compatible = "pwm-leds";
|
||||||
|
|
||||||
|
@ -179,3 +91,87 @@
|
||||||
&pinctrl_tcb1_tiob0>;
|
&pinctrl_tcb1_tiob0>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&tcb0 {
|
||||||
|
timer@0 {
|
||||||
|
compatible = "atmel,tcb-timer";
|
||||||
|
reg = <0>, <1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
timer@2 {
|
||||||
|
compatible = "atmel,tcb-timer";
|
||||||
|
reg = <2>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&ebi {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&nand_controller {
|
||||||
|
status = "okay";
|
||||||
|
pinctrl-0 = <&pinctrl_nand_cs &pinctrl_nand_rb>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
|
||||||
|
nand@3 {
|
||||||
|
reg = <0x3 0x0 0x800000>;
|
||||||
|
rb-gpios = <&pioC 13 GPIO_ACTIVE_HIGH>;
|
||||||
|
cs-gpios = <&pioC 14 GPIO_ACTIVE_HIGH>;
|
||||||
|
nand-bus-width = <8>;
|
||||||
|
nand-ecc-mode = "soft";
|
||||||
|
nand-on-flash-bbt;
|
||||||
|
label = "atmel_nand";
|
||||||
|
|
||||||
|
partitions {
|
||||||
|
compatible = "fixed-partitions";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
|
||||||
|
bootstrap@0 {
|
||||||
|
label = "bootstrap";
|
||||||
|
reg = <0x0 0x20000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
ubi@20000 {
|
||||||
|
label = "ubi";
|
||||||
|
reg = <0x20000 0x7fe0000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&macb0 {
|
||||||
|
phy-mode = "mii";
|
||||||
|
pinctrl-0 = <&pinctrl_macb_rmii
|
||||||
|
&pinctrl_macb_rmii_mii_alt>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&usart3 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&dbgu {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&watchdog {
|
||||||
|
timeout-sec = <15>;
|
||||||
|
atmel,max-heartbeat-sec = <16>;
|
||||||
|
atmel,min-heartbeat-sec = <0>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&usb0 {
|
||||||
|
num-ports = <1>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&i2c_gpio0 {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
rtc: pcf8563@51 {
|
||||||
|
compatible = "nxp,pcf8563";
|
||||||
|
reg = <0x51>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
24
arch/arm/boot/dts/at91-kizboxmini-base.dts
Normal file
24
arch/arm/boot/dts/at91-kizboxmini-base.dts
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
/*
|
||||||
|
* at91-kizboxmini-base.dts - Device Tree file for Overkiz Kizbox mini
|
||||||
|
* base board
|
||||||
|
*
|
||||||
|
* Copyright (C) 2015 Overkiz SAS
|
||||||
|
* Author: Antoine Aubert <a.aubert@overkiz.com>
|
||||||
|
* Kévin Raymond <k.raymond@overkiz.com>
|
||||||
|
*/
|
||||||
|
/dts-v1/;
|
||||||
|
#include "at91-kizboxmini-common.dtsi"
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "Overkiz Kizbox Mini";
|
||||||
|
compatible = "overkiz,kizboxmini-base", "atmel,at91sam9g25",
|
||||||
|
"atmel,at91sam9x5", "atmel,at91sam9";
|
||||||
|
};
|
||||||
|
|
||||||
|
&pinctrl_usart0 {
|
||||||
|
atmel,pins =
|
||||||
|
<AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
|
||||||
|
AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_NONE
|
||||||
|
AT91_PIOA 2 AT91_PERIPH_GPIO AT91_PINCTRL_MULTI_DRIVE>;
|
||||||
|
};
|
|
@ -1,17 +1,16 @@
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0
|
||||||
/*
|
/*
|
||||||
* at91-kizboxmini.dts - Device Tree file for Overkiz Kizbox mini board
|
* at91-kizboxmini.dts - Device Tree file for Overkiz Kizbox mini board
|
||||||
*
|
*
|
||||||
* Copyright (C) 2014 Gaël PORTAY <g.portay@overkiz.com>
|
* Copyright (C) 2014-2018 Overkiz SAS
|
||||||
|
* Author: Antoine Aubert <a.aubert@overkiz.com>
|
||||||
|
* Gaël Portay <g.portay@overkiz.com>
|
||||||
|
* Kévin Raymond <k.raymond@overkiz.com>
|
||||||
|
* Dorian Rocipon <d.rocipon@overkiz.com>
|
||||||
*/
|
*/
|
||||||
/dts-v1/;
|
|
||||||
#include "at91sam9g25.dtsi"
|
#include "at91sam9g25.dtsi"
|
||||||
#include <dt-bindings/pwm/pwm.h>
|
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
model = "Overkiz Kizbox mini";
|
|
||||||
compatible = "overkiz,kizboxmini", "atmel,at91sam9g25", "atmel,at91sam9x5", "atmel,at91sam9";
|
|
||||||
|
|
||||||
chosen {
|
chosen {
|
||||||
bootargs = "ubi.mtd=ubi";
|
bootargs = "ubi.mtd=ubi";
|
||||||
stdout-path = &dbgu;
|
stdout-path = &dbgu;
|
||||||
|
@ -22,24 +21,16 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
clocks {
|
clocks {
|
||||||
|
main_xtal {
|
||||||
|
clock-frequency = <12000000>;
|
||||||
|
};
|
||||||
|
|
||||||
slow_xtal {
|
slow_xtal {
|
||||||
clock-frequency = <32768>;
|
clock-frequency = <32768>;
|
||||||
};
|
};
|
||||||
|
|
||||||
main_xtal {
|
adc_op_clk {
|
||||||
clock-frequency = <12000000>;
|
status = "disabled";
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
ahb {
|
|
||||||
nand0: nand@40000000 {
|
|
||||||
nand-bus-width = <8>;
|
|
||||||
nand-ecc-mode = "hw";
|
|
||||||
atmel,has-pmecc;
|
|
||||||
atmel,pmecc-cap = <4>;
|
|
||||||
atmel,pmecc-sector-size = <512>;
|
|
||||||
nand-on-flash-bbt;
|
|
||||||
status = "okay";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -63,17 +54,25 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
pwm_leds {
|
leds: pwm_leds {
|
||||||
compatible = "pwm-leds";
|
compatible = "pwm-leds";
|
||||||
|
|
||||||
green {
|
led_blue: pwm_blue {
|
||||||
|
label = "pwm:blue:user";
|
||||||
|
pwms = <&pwm0 2 10000000 0>;
|
||||||
|
max-brightness = <255>;
|
||||||
|
linux,default-trigger = "none";
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
led_green: pwm_green {
|
||||||
label = "pwm:green:user";
|
label = "pwm:green:user";
|
||||||
pwms = <&pwm0 0 10000000 0>;
|
pwms = <&pwm0 0 10000000 0>;
|
||||||
max-brightness = <255>;
|
max-brightness = <255>;
|
||||||
linux,default-trigger = "default-on";
|
linux,default-trigger = "default-on";
|
||||||
};
|
};
|
||||||
|
|
||||||
red {
|
led_red: pwm_red {
|
||||||
label = "pwm:red:user";
|
label = "pwm:red:user";
|
||||||
pwms = <&pwm0 1 10000000 0>;
|
pwms = <&pwm0 1 10000000 0>;
|
||||||
max-brightness = <255>;
|
max-brightness = <255>;
|
||||||
|
@ -82,53 +81,12 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
&dbgu {
|
&usart0 {
|
||||||
|
atmel,use-dma-rx;
|
||||||
|
atmel,use-dma-tx;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
&ebi {
|
|
||||||
pinctrl-0 = <&pinctrl_ebi_addr_nand
|
|
||||||
&pinctrl_ebi_data_0_7>;
|
|
||||||
pinctrl-names = "default";
|
|
||||||
status = "okay";
|
|
||||||
|
|
||||||
nand-controller {
|
|
||||||
pinctrl-0 = <&pinctrl_nand_oe_we
|
|
||||||
&pinctrl_nand_cs
|
|
||||||
&pinctrl_nand_rb>;
|
|
||||||
pinctrl-names = "default";
|
|
||||||
status = "okay";
|
|
||||||
|
|
||||||
nand@3 {
|
|
||||||
reg = <0x3 0x0 0x800000>;
|
|
||||||
rb-gpios = <&pioD 5 GPIO_ACTIVE_HIGH>;
|
|
||||||
cs-gpios = <&pioD 4 GPIO_ACTIVE_HIGH>;
|
|
||||||
nand-bus-width = <8>;
|
|
||||||
nand-ecc-mode = "hw";
|
|
||||||
nand-ecc-strength = <4>;
|
|
||||||
nand-ecc-step-size = <512>;
|
|
||||||
nand-on-flash-bbt;
|
|
||||||
label = "atmel_nand";
|
|
||||||
|
|
||||||
partitions {
|
|
||||||
compatible = "fixed-partitions";
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <1>;
|
|
||||||
|
|
||||||
bootstrap@0 {
|
|
||||||
label = "bootstrap";
|
|
||||||
reg = <0x0 0x20000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
ubi@20000 {
|
|
||||||
label = "ubi";
|
|
||||||
reg = <0x20000 0x7fe0000>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
&macb0 {
|
&macb0 {
|
||||||
phy-mode = "rmii";
|
phy-mode = "rmii";
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
@ -137,26 +95,70 @@
|
||||||
&pwm0 {
|
&pwm0 {
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_pwm0_pwm0_1
|
pinctrl-0 = <&pinctrl_pwm0_pwm0_1
|
||||||
&pinctrl_pwm0_pwm1_1>;
|
&pinctrl_pwm0_pwm1_1
|
||||||
|
&pinctrl_pwm0_pwm2_1>;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
&tcb0 {
|
&dbgu {
|
||||||
timer@0 {
|
status = "okay";
|
||||||
compatible = "atmel,tcb-timer";
|
|
||||||
reg = <0>;
|
|
||||||
};
|
|
||||||
|
|
||||||
timer@1 {
|
|
||||||
compatible = "atmel,tcb-timer";
|
|
||||||
reg = <1>;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
&usart0 {
|
&watchdog {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&adc0 {
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
&rtc {
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
&ebi {
|
||||||
|
pinctrl-0 = <&pinctrl_ebi_addr_nand
|
||||||
|
&pinctrl_ebi_data_0_7>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&nand_controller {
|
||||||
|
status = "okay";
|
||||||
|
pinctrl-0 = <&pinctrl_nand_oe_we
|
||||||
|
&pinctrl_nand_cs
|
||||||
|
&pinctrl_nand_rb>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
|
||||||
|
nand@3 {
|
||||||
|
reg = <0x3 0x0 0x800000>;
|
||||||
|
rb-gpios = <&pioD 5 GPIO_ACTIVE_HIGH>;
|
||||||
|
cs-gpios = <&pioD 4 GPIO_ACTIVE_HIGH>;
|
||||||
|
nand-bus-width = <8>;
|
||||||
|
nand-ecc-mode = "hw";
|
||||||
|
nand-ecc-strength = <4>;
|
||||||
|
nand-ecc-step-size = <512>;
|
||||||
|
nand-on-flash-bbt;
|
||||||
|
label = "atmel_nand";
|
||||||
|
|
||||||
|
partitions {
|
||||||
|
compatible = "fixed-partitions";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
|
||||||
|
bootstrap@0 {
|
||||||
|
label = "bootstrap";
|
||||||
|
reg = <0x0 0x20000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
ubi@20000 {
|
||||||
|
label = "ubi";
|
||||||
|
reg = <0x20000 0x7fe0000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
&usb0 {
|
&usb0 {
|
||||||
num-ports = <1>;
|
num-ports = <1>;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
@ -166,6 +168,3 @@
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
&watchdog {
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
26
arch/arm/boot/dts/at91-kizboxmini-mb.dts
Normal file
26
arch/arm/boot/dts/at91-kizboxmini-mb.dts
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
// SPDX-License-Identifier: GPL-2.0
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2015-2018 Overkiz SAS
|
||||||
|
* Author: Mickael Gardet <m.gardet@overkiz.com>
|
||||||
|
* Kévin Raymond <k.raymond@overkiz.com>
|
||||||
|
*/
|
||||||
|
/dts-v1/;
|
||||||
|
#include "at91-kizboxmini-common.dtsi"
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "Overkiz Kizbox Mini Mother Board";
|
||||||
|
compatible = "overkiz,kizboxmini-mb", "atmel,at91sam9g25",
|
||||||
|
"atmel,at91sam9x5", "atmel,at91sam9";
|
||||||
|
};
|
||||||
|
|
||||||
|
&usb0 {
|
||||||
|
num-ports = <2>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&rtc {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&led_blue {
|
||||||
|
status = "okay";
|
||||||
|
};
|
49
arch/arm/boot/dts/at91-kizboxmini-rd.dts
Normal file
49
arch/arm/boot/dts/at91-kizboxmini-rd.dts
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
// SPDX-License-Identifier: GPL-2.0
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2015-2018 Overkiz SAS
|
||||||
|
* Author: Mickael Gardet <m.gardet@overkiz.com>
|
||||||
|
* Kévin Raymond <k.raymond@overkiz.com>
|
||||||
|
*/
|
||||||
|
/dts-v1/;
|
||||||
|
#include "at91-kizboxmini-common.dtsi"
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "Overkiz Kizbox Mini RailDIN";
|
||||||
|
compatible = "overkiz,kizboxmini-rd", "atmel,at91sam9g25",
|
||||||
|
"atmel,at91sam9x5", "atmel,at91sam9";
|
||||||
|
|
||||||
|
clocks {
|
||||||
|
adc_op_clk {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&pinctrl {
|
||||||
|
adc0 {
|
||||||
|
pinctrl_adc0_ad5: adc0_ad5-0 {
|
||||||
|
/* pull-up disable */
|
||||||
|
atmel,pins = <AT91_PIOB 16 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&usart0 {
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
&rtc {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&led_blue {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&adc0 {
|
||||||
|
atmel,adc-vref = <2500>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&pinctrl_adc0_ad5>;
|
||||||
|
atmel,adc-channels-used = <0x0020>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
|
@ -8,7 +8,6 @@
|
||||||
*/
|
*/
|
||||||
/dts-v1/;
|
/dts-v1/;
|
||||||
#include "at91-linea.dtsi"
|
#include "at91-linea.dtsi"
|
||||||
#include "sama5d3_lcd.dtsi"
|
|
||||||
#include "at91-natte.dtsi"
|
#include "at91-natte.dtsi"
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
|
|
647
arch/arm/boot/dts/at91-sam9x60ek.dts
Normal file
647
arch/arm/boot/dts/at91-sam9x60ek.dts
Normal file
|
@ -0,0 +1,647 @@
|
||||||
|
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||||
|
/*
|
||||||
|
* at91-sam9x60ek.dts - Device Tree file for Microchip SAM9X60-EK board
|
||||||
|
*
|
||||||
|
* Copyright (C) 2019 Microchip Technology Inc. and its subsidiaries
|
||||||
|
*
|
||||||
|
* Author: Sandeep Sheriker M <sandeepsheriker.mallikarjun@microchip.com>
|
||||||
|
*/
|
||||||
|
/dts-v1/;
|
||||||
|
#include "sam9x60.dtsi"
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "Microchip SAM9X60-EK";
|
||||||
|
compatible = "microchip,sam9x60ek", "microchip,sam9x60", "atmel,at91sam9";
|
||||||
|
|
||||||
|
aliases {
|
||||||
|
i2c0 = &i2c0;
|
||||||
|
i2c1 = &i2c1;
|
||||||
|
serial1 = &uart1;
|
||||||
|
};
|
||||||
|
|
||||||
|
chosen {
|
||||||
|
stdout-path = "serial0:115200n8";
|
||||||
|
};
|
||||||
|
|
||||||
|
clocks {
|
||||||
|
slow_xtal {
|
||||||
|
clock-frequency = <32768>;
|
||||||
|
};
|
||||||
|
|
||||||
|
main_xtal {
|
||||||
|
clock-frequency = <24000000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
regulators: regulators {
|
||||||
|
compatible = "simple-bus";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
vdd_1v8: fixed-regulator-vdd_1v8@0 {
|
||||||
|
compatible = "regulator-fixed";
|
||||||
|
regulator-name = "VDD_1V8";
|
||||||
|
regulator-min-microvolt = <1800000>;
|
||||||
|
regulator-max-microvolt = <1800000>;
|
||||||
|
regulator-always-on;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
vdd_1v5: fixed-regulator-vdd_1v5@1 {
|
||||||
|
compatible = "regulator-fixed";
|
||||||
|
regulator-name = "VDD_1V5";
|
||||||
|
regulator-min-microvolt = <1500000>;
|
||||||
|
regulator-max-microvolt = <1500000>;
|
||||||
|
regulator-always-on;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
vdd1_3v3: fixed-regulator-vdd1_3v3@2 {
|
||||||
|
compatible = "regulator-fixed";
|
||||||
|
regulator-name = "VDD1_3V3";
|
||||||
|
regulator-min-microvolt = <3300000>;
|
||||||
|
regulator-max-microvolt = <3300000>;
|
||||||
|
regulator-always-on;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
vdd2_3v3: regulator-fixed-vdd2_3v3@3 {
|
||||||
|
compatible = "regulator-fixed";
|
||||||
|
regulator-name = "VDD2_3V3";
|
||||||
|
regulator-min-microvolt = <3300000>;
|
||||||
|
regulator-max-microvolt = <3300000>;
|
||||||
|
regulator-always-on;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
gpio_keys {
|
||||||
|
compatible = "gpio-keys";
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&pinctrl_key_gpio_default>;
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
sw1 {
|
||||||
|
label = "SW1";
|
||||||
|
gpios = <&pioD 18 GPIO_ACTIVE_LOW>;
|
||||||
|
linux,code=<0x104>;
|
||||||
|
wakeup-source;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
leds {
|
||||||
|
compatible = "gpio-leds";
|
||||||
|
status = "okay"; /* Conflict with pwm0. */
|
||||||
|
|
||||||
|
red {
|
||||||
|
label = "red";
|
||||||
|
gpios = <&pioB 11 GPIO_ACTIVE_HIGH>;
|
||||||
|
};
|
||||||
|
|
||||||
|
green {
|
||||||
|
label = "green";
|
||||||
|
gpios = <&pioB 12 GPIO_ACTIVE_HIGH>;
|
||||||
|
};
|
||||||
|
|
||||||
|
blue {
|
||||||
|
label = "blue";
|
||||||
|
gpios = <&pioB 13 GPIO_ACTIVE_HIGH>;
|
||||||
|
linux,default-trigger = "heartbeat";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&adc {
|
||||||
|
vddana-supply = <&vdd1_3v3>;
|
||||||
|
vref-supply = <&vdd1_3v3>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&pinctrl_adc_default &pinctrl_adtrg_default>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&can0 {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&pinctrl_can0_rx_tx>;
|
||||||
|
status = "disabled"; /* Conflict with dbgu. */
|
||||||
|
};
|
||||||
|
|
||||||
|
&can1 {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&pinctrl_can1_rx_tx>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&classd {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&pinctrl_classd_default>;
|
||||||
|
atmel,pwm-type = "diff";
|
||||||
|
atmel,non-overlap-time = <10>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&dbgu {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&pinctrl_dbgu>;
|
||||||
|
status = "okay"; /* Conflict with can0. */
|
||||||
|
};
|
||||||
|
|
||||||
|
&ebi {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&pinctrl_ebi_addr_nand &pinctrl_ebi_data_0_7>;
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
nand_controller: nand-controller {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&pinctrl_nand_oe_we &pinctrl_nand_cs &pinctrl_nand_rb>;
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
nand@3 {
|
||||||
|
reg = <0x3 0x0 0x800000>;
|
||||||
|
rb-gpios = <&pioD 5 GPIO_ACTIVE_HIGH>;
|
||||||
|
cs-gpios = <&pioD 4 GPIO_ACTIVE_HIGH>;
|
||||||
|
nand-bus-width = <8>;
|
||||||
|
nand-ecc-mode = "hw";
|
||||||
|
nand-ecc-strength = <8>;
|
||||||
|
nand-ecc-step-size = <512>;
|
||||||
|
nand-on-flash-bbt;
|
||||||
|
label = "atmel_nand";
|
||||||
|
|
||||||
|
partitions {
|
||||||
|
compatible = "fixed-partitions";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
|
||||||
|
at91bootstrap@0 {
|
||||||
|
label = "at91bootstrap";
|
||||||
|
reg = <0x0 0x40000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
uboot@40000 {
|
||||||
|
label = "u-boot";
|
||||||
|
reg = <0x40000 0xc0000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
ubootenvred@100000 {
|
||||||
|
label = "U-Boot Env Redundant";
|
||||||
|
reg = <0x100000 0x40000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
ubootenv@140000 {
|
||||||
|
label = "U-Boot Env";
|
||||||
|
reg = <0x140000 0x40000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
dtb@180000 {
|
||||||
|
label = "device tree";
|
||||||
|
reg = <0x180000 0x80000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
kernel@200000 {
|
||||||
|
label = "kernel";
|
||||||
|
reg = <0x200000 0x600000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
rootfs@800000 {
|
||||||
|
label = "rootfs";
|
||||||
|
reg = <0x800000 0x1f800000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&flx0 {
|
||||||
|
atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
i2c0: i2c@600 {
|
||||||
|
compatible = "microchip,sam9x60-i2c";
|
||||||
|
reg = <0x600 0x200>;
|
||||||
|
interrupts = <5 IRQ_TYPE_LEVEL_HIGH 7>;
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&pinctrl_flx0_default>;
|
||||||
|
atmel,fifo-size = <16>;
|
||||||
|
i2c-analog-filter;
|
||||||
|
i2c-digital-filter;
|
||||||
|
i2c-digital-filter-width-ns = <35>;
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
eeprom@53 {
|
||||||
|
compatible = "atmel,24c32";
|
||||||
|
reg = <0x53>;
|
||||||
|
pagesize = <16>;
|
||||||
|
size = <128>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&flx4 {
|
||||||
|
atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_SPI>;
|
||||||
|
status = "disabled";
|
||||||
|
|
||||||
|
spi0: spi@400 {
|
||||||
|
compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
|
||||||
|
reg = <0x400 0x200>;
|
||||||
|
interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
|
||||||
|
clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
|
||||||
|
clock-names = "spi_clk";
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&pinctrl_flx4_default>;
|
||||||
|
atmel,fifo-size = <16>;
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&flx5 {
|
||||||
|
atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
uart1: serial@200 {
|
||||||
|
compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
|
||||||
|
reg = <0x200 0x200>;
|
||||||
|
interrupts = <14 IRQ_TYPE_LEVEL_HIGH 7>;
|
||||||
|
dmas = <&dma0
|
||||||
|
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
|
||||||
|
AT91_XDMAC_DT_PERID(10))>,
|
||||||
|
<&dma0
|
||||||
|
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
|
||||||
|
AT91_XDMAC_DT_PERID(11))>;
|
||||||
|
dma-names = "tx", "rx";
|
||||||
|
clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
|
||||||
|
clock-names = "usart";
|
||||||
|
pinctrl-0 = <&pinctrl_flx5_default>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
atmel,use-dma-rx;
|
||||||
|
atmel,use-dma-tx;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&flx6 {
|
||||||
|
atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
i2c1: i2c@600 {
|
||||||
|
compatible = "microchip,sam9x60-i2c";
|
||||||
|
reg = <0x600 0x200>;
|
||||||
|
interrupts = <9 IRQ_TYPE_LEVEL_HIGH 7>;
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&pinctrl_flx6_default>;
|
||||||
|
atmel,fifo-size = <16>;
|
||||||
|
i2c-analog-filter;
|
||||||
|
i2c-digital-filter;
|
||||||
|
i2c-digital-filter-width-ns = <35>;
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
gpio_exp: mcp23008@20 {
|
||||||
|
compatible = "microchip,mcp23008";
|
||||||
|
reg = <0x20>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&i2s {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&pinctrl_i2s_default>;
|
||||||
|
#sound-dai-cells = <0>;
|
||||||
|
status = "disabled"; /* Conflict with QSPI. */
|
||||||
|
};
|
||||||
|
|
||||||
|
&macb0 {
|
||||||
|
phy-mode = "rmii";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&pinctrl_macb0_rmii>;
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
ethernet-phy@0 {
|
||||||
|
reg = <0x0>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&pinctrl {
|
||||||
|
atmel,mux-mask = <
|
||||||
|
/* A B C */
|
||||||
|
0xFFFFFE7F 0xC0E0397F 0xEF00019D /* pioA */
|
||||||
|
0x03FFFFFF 0x02FC7E68 0x00780000 /* pioB */
|
||||||
|
0xffffffff 0xF83FFFFF 0xB800F3FC /* pioC */
|
||||||
|
0x003FFFFF 0x003F8000 0x00000000 /* pioD */
|
||||||
|
>;
|
||||||
|
|
||||||
|
adc {
|
||||||
|
pinctrl_adc_default: adc_default {
|
||||||
|
atmel,pins = <AT91_PIOB 15 AT91_PERIPH_A AT91_PINCTRL_NONE>;
|
||||||
|
};
|
||||||
|
|
||||||
|
pinctrl_adtrg_default: adtrg_default {
|
||||||
|
atmel,pins = <AT91_PIOB 18 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
dbgu {
|
||||||
|
pinctrl_dbgu: dbgu-0 {
|
||||||
|
atmel,pins = <AT91_PIOA 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
|
||||||
|
AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_NONE>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
i2s {
|
||||||
|
pinctrl_i2s_default: i2s {
|
||||||
|
atmel,pins =
|
||||||
|
<AT91_PIOB 19 AT91_PERIPH_B AT91_PINCTRL_NONE /* I2SCK */
|
||||||
|
AT91_PIOB 20 AT91_PERIPH_B AT91_PINCTRL_NONE /* I2SWS */
|
||||||
|
AT91_PIOB 21 AT91_PERIPH_B AT91_PINCTRL_NONE /* I2SDIN */
|
||||||
|
AT91_PIOB 22 AT91_PERIPH_B AT91_PINCTRL_NONE /* I2SDOUT */
|
||||||
|
AT91_PIOB 23 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* I2SMCK */
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
qspi {
|
||||||
|
pinctrl_qspi: qspi {
|
||||||
|
atmel,pins =
|
||||||
|
<AT91_PIOB 19 AT91_PERIPH_A AT91_PINCTRL_SLEWRATE_DIS
|
||||||
|
AT91_PIOB 20 AT91_PERIPH_A AT91_PINCTRL_SLEWRATE_DIS
|
||||||
|
AT91_PIOB 21 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_SLEWRATE_DIS)
|
||||||
|
AT91_PIOB 22 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_SLEWRATE_DIS)
|
||||||
|
AT91_PIOB 23 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_SLEWRATE_DIS)
|
||||||
|
AT91_PIOB 24 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_SLEWRATE_DIS)>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
nand {
|
||||||
|
pinctrl_nand_oe_we: nand-oe-we-0 {
|
||||||
|
atmel,pins =
|
||||||
|
<AT91_PIOD 0 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
|
||||||
|
AT91_PIOD 1 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
|
||||||
|
};
|
||||||
|
|
||||||
|
pinctrl_nand_rb: nand-rb-0 {
|
||||||
|
atmel,pins =
|
||||||
|
<AT91_PIOD 5 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
|
||||||
|
};
|
||||||
|
|
||||||
|
pinctrl_nand_cs: nand-cs-0 {
|
||||||
|
atmel,pins =
|
||||||
|
<AT91_PIOD 4 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
ebi {
|
||||||
|
pinctrl_ebi_data_0_7: ebi-data-lsb-0 {
|
||||||
|
atmel,pins =
|
||||||
|
<AT91_PIOD 6 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
|
||||||
|
AT91_PIOD 7 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
|
||||||
|
AT91_PIOD 8 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
|
||||||
|
AT91_PIOD 9 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
|
||||||
|
AT91_PIOD 10 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
|
||||||
|
AT91_PIOD 11 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
|
||||||
|
AT91_PIOD 12 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
|
||||||
|
AT91_PIOD 13 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
|
||||||
|
};
|
||||||
|
|
||||||
|
pinctrl_ebi_data_0_15: ebi-data-msb-0 {
|
||||||
|
atmel,pins =
|
||||||
|
<AT91_PIOD 6 AT91_PERIPH_A AT91_PINCTRL_NONE
|
||||||
|
AT91_PIOD 7 AT91_PERIPH_A AT91_PINCTRL_NONE
|
||||||
|
AT91_PIOD 8 AT91_PERIPH_A AT91_PINCTRL_NONE
|
||||||
|
AT91_PIOD 9 AT91_PERIPH_A AT91_PINCTRL_NONE
|
||||||
|
AT91_PIOD 10 AT91_PERIPH_A AT91_PINCTRL_NONE
|
||||||
|
AT91_PIOD 11 AT91_PERIPH_A AT91_PINCTRL_NONE
|
||||||
|
AT91_PIOD 12 AT91_PERIPH_A AT91_PINCTRL_NONE
|
||||||
|
AT91_PIOD 13 AT91_PERIPH_A AT91_PINCTRL_NONE
|
||||||
|
AT91_PIOD 14 AT91_PERIPH_A AT91_PINCTRL_NONE
|
||||||
|
AT91_PIOD 15 AT91_PERIPH_A AT91_PINCTRL_NONE
|
||||||
|
AT91_PIOD 16 AT91_PERIPH_A AT91_PINCTRL_NONE
|
||||||
|
AT91_PIOD 17 AT91_PERIPH_A AT91_PINCTRL_NONE
|
||||||
|
AT91_PIOD 18 AT91_PERIPH_A AT91_PINCTRL_NONE
|
||||||
|
AT91_PIOD 19 AT91_PERIPH_A AT91_PINCTRL_NONE
|
||||||
|
AT91_PIOD 20 AT91_PERIPH_A AT91_PINCTRL_NONE
|
||||||
|
AT91_PIOD 21 AT91_PERIPH_A AT91_PINCTRL_NONE>;
|
||||||
|
};
|
||||||
|
|
||||||
|
pinctrl_ebi_addr_nand: ebi-addr-0 {
|
||||||
|
atmel,pins =
|
||||||
|
<AT91_PIOD 2 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
|
||||||
|
AT91_PIOD 3 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
flexcom {
|
||||||
|
pinctrl_flx0_default: flx0_twi {
|
||||||
|
atmel,pins =
|
||||||
|
<AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
|
||||||
|
AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
|
||||||
|
};
|
||||||
|
|
||||||
|
pinctrl_flx4_default: flx4_spi {
|
||||||
|
atmel,pins =
|
||||||
|
<AT91_PIOA 11 AT91_PERIPH_A AT91_PINCTRL_NONE
|
||||||
|
AT91_PIOA 12 AT91_PERIPH_A AT91_PINCTRL_NONE
|
||||||
|
AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_NONE
|
||||||
|
AT91_PIOA 14 AT91_PERIPH_A AT91_PINCTRL_NONE>;
|
||||||
|
};
|
||||||
|
|
||||||
|
pinctrl_flx5_default: flx_uart {
|
||||||
|
atmel,pins =
|
||||||
|
<AT91_PIOA 7 AT91_PERIPH_C AT91_PINCTRL_NONE
|
||||||
|
AT91_PIOA 8 AT91_PERIPH_B AT91_PINCTRL_NONE
|
||||||
|
AT91_PIOA 21 AT91_PERIPH_B AT91_PINCTRL_NONE
|
||||||
|
AT91_PIOA 22 AT91_PERIPH_B AT91_PINCTRL_NONE>;
|
||||||
|
};
|
||||||
|
|
||||||
|
pinctrl_flx6_default: flx6_twi {
|
||||||
|
atmel,pins =
|
||||||
|
<AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
|
||||||
|
AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
classd {
|
||||||
|
pinctrl_classd_default: classd {
|
||||||
|
atmel,pins =
|
||||||
|
<AT91_PIOA 24 AT91_PERIPH_C AT91_PINCTRL_PULL_UP
|
||||||
|
AT91_PIOA 25 AT91_PERIPH_C AT91_PINCTRL_PULL_UP
|
||||||
|
AT91_PIOA 26 AT91_PERIPH_C AT91_PINCTRL_PULL_UP
|
||||||
|
AT91_PIOA 27 AT91_PERIPH_C AT91_PINCTRL_PULL_UP>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
can0 {
|
||||||
|
pinctrl_can0_rx_tx: can0_rx_tx {
|
||||||
|
atmel,pins =
|
||||||
|
<AT91_PIOA 9 AT91_PERIPH_B AT91_PINCTRL_NONE /* CANRX0 */
|
||||||
|
AT91_PIOA 10 AT91_PERIPH_B AT91_PINCTRL_NONE /* CANTX0 */
|
||||||
|
AT91_PIOD 20 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_DOWN /* Enable CAN0 mux */
|
||||||
|
AT91_PIOD 21 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_DOWN>; /* Enable CAN Transceivers */
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
can1 {
|
||||||
|
pinctrl_can1_rx_tx: can1_rx_tx {
|
||||||
|
atmel,pins =
|
||||||
|
<AT91_PIOA 6 AT91_PERIPH_B AT91_PINCTRL_NONE /* CANRX1 RXD1 */
|
||||||
|
AT91_PIOA 5 AT91_PERIPH_B AT91_PINCTRL_NONE /* CANTX1 TXD1 */
|
||||||
|
AT91_PIOD 19 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_DOWN /* Enable CAN1 mux */
|
||||||
|
AT91_PIOD 21 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_DOWN>; /* Enable CAN Transceivers */
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
macb0 {
|
||||||
|
pinctrl_macb0_rmii: macb0_rmii-0 {
|
||||||
|
atmel,pins =
|
||||||
|
<AT91_PIOB 0 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB0 periph A */
|
||||||
|
AT91_PIOB 1 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB1 periph A */
|
||||||
|
AT91_PIOB 2 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB2 periph A */
|
||||||
|
AT91_PIOB 3 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB3 periph A */
|
||||||
|
AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB4 periph A */
|
||||||
|
AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB5 periph A */
|
||||||
|
AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB6 periph A */
|
||||||
|
AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB7 periph A */
|
||||||
|
AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB9 periph A */
|
||||||
|
AT91_PIOB 10 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB10 periph A */
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
pwm0 {
|
||||||
|
pinctrl_pwm0_0: pwm0_0 {
|
||||||
|
atmel,pins = <AT91_PIOB 11 AT91_PERIPH_B AT91_PINCTRL_NONE>;
|
||||||
|
};
|
||||||
|
|
||||||
|
pinctrl_pwm0_1: pwm0_1 {
|
||||||
|
atmel,pins = <AT91_PIOB 12 AT91_PERIPH_B AT91_PINCTRL_NONE>;
|
||||||
|
};
|
||||||
|
|
||||||
|
pinctrl_pwm0_2: pwm0_2 {
|
||||||
|
atmel,pins = <AT91_PIOB 13 AT91_PERIPH_B AT91_PINCTRL_NONE>;
|
||||||
|
};
|
||||||
|
|
||||||
|
pinctrl_pwm0_3: pwm0_3 {
|
||||||
|
atmel,pins = <AT91_PIOB 14 AT91_PERIPH_B AT91_PINCTRL_NONE>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
sdmmc0 {
|
||||||
|
pinctrl_sdmmc0_default: sdmmc0 {
|
||||||
|
atmel,pins =
|
||||||
|
<AT91_PIOA 17 AT91_PERIPH_A (AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA17 CK periph A with pullup */
|
||||||
|
AT91_PIOA 16 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA16 CMD periph A with pullup */
|
||||||
|
AT91_PIOA 15 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA15 DAT0 periph A */
|
||||||
|
AT91_PIOA 18 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA18 DAT1 periph A with pullup */
|
||||||
|
AT91_PIOA 19 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA19 DAT2 periph A with pullup */
|
||||||
|
AT91_PIOA 20 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)>; /* PA20 DAT3 periph A with pullup */
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
gpio_keys {
|
||||||
|
pinctrl_key_gpio_default: pinctrl_key_gpio {
|
||||||
|
atmel,pins = <AT91_PIOD 18 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}; /* pinctrl */
|
||||||
|
|
||||||
|
&pmc {
|
||||||
|
atmel,osc-bypass;
|
||||||
|
};
|
||||||
|
|
||||||
|
&pwm0 {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&pinctrl_pwm0_0 &pinctrl_pwm0_1 &pinctrl_pwm0_2 &pinctrl_pwm0_3>;
|
||||||
|
status = "disabled"; /* Conflict with leds. */
|
||||||
|
};
|
||||||
|
|
||||||
|
&sdmmc0 {
|
||||||
|
bus-width = <4>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&pinctrl_sdmmc0_default>;
|
||||||
|
status = "okay";
|
||||||
|
cd-gpios = <&pioA 23 GPIO_ACTIVE_LOW>;
|
||||||
|
disable-wp;
|
||||||
|
};
|
||||||
|
|
||||||
|
&qspi {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&pinctrl_qspi>;
|
||||||
|
status = "okay"; /* Conflict with i2s. */
|
||||||
|
|
||||||
|
flash@0 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
compatible = "jedec,spi-nor";
|
||||||
|
reg = <0>;
|
||||||
|
spi-max-frequency = <80000000>;
|
||||||
|
m25p,fast-read;
|
||||||
|
|
||||||
|
at91bootstrap@0 {
|
||||||
|
label = "qspi: at91bootstrap";
|
||||||
|
reg = <0x0 0x40000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
bootloader@40000 {
|
||||||
|
label = "qspi: bootloader";
|
||||||
|
reg = <0x40000 0xc0000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
bootloaderenvred@100000 {
|
||||||
|
label = "qspi: bootloader env redundant";
|
||||||
|
reg = <0x100000 0x40000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
bootloaderenv@140000 {
|
||||||
|
label = "qspi: bootloader env";
|
||||||
|
reg = <0x140000 0x40000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
dtb@180000 {
|
||||||
|
label = "qspi: device tree";
|
||||||
|
reg = <0x180000 0x80000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
kernel@200000 {
|
||||||
|
label = "qspi: kernel";
|
||||||
|
reg = <0x200000 0x600000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&shutdown_controller {
|
||||||
|
atmel,shdwc-debouncer = <976>;
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
input@0 {
|
||||||
|
reg = <0>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&tcb0 {
|
||||||
|
timer0: timer@0 {
|
||||||
|
compatible = "atmel,tcb-timer";
|
||||||
|
reg = <0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
timer1: timer@1 {
|
||||||
|
compatible = "atmel,tcb-timer";
|
||||||
|
reg = <1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&usb1 {
|
||||||
|
num-ports = <3>;
|
||||||
|
atmel,vbus-gpio = <0
|
||||||
|
&pioD 15 GPIO_ACTIVE_HIGH
|
||||||
|
&pioD 16 GPIO_ACTIVE_HIGH>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&usb2 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
|
@ -24,6 +24,10 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
ahb {
|
ahb {
|
||||||
|
sdmmc0: sdio-host@a0000000 {
|
||||||
|
microchip,sdcal-inverted;
|
||||||
|
};
|
||||||
|
|
||||||
apb {
|
apb {
|
||||||
qspi1: spi@f0024000 {
|
qspi1: spi@f0024000 {
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
|
|
|
@ -131,6 +131,9 @@
|
||||||
interrupts = <20 IRQ_TYPE_LEVEL_HIGH 7>;
|
interrupts = <20 IRQ_TYPE_LEVEL_HIGH 7>;
|
||||||
dmas = <0>, <0>;
|
dmas = <0>, <0>;
|
||||||
dma-names = "tx", "rx";
|
dma-names = "tx", "rx";
|
||||||
|
i2c-analog-filter;
|
||||||
|
i2c-digital-filter;
|
||||||
|
i2c-digital-filter-width-ns = <35>;
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 20>;
|
clocks = <&pmc PMC_TYPE_PERIPHERAL 20>;
|
||||||
|
@ -246,6 +249,9 @@
|
||||||
|
|
||||||
i2c1: i2c@fc028000 {
|
i2c1: i2c@fc028000 {
|
||||||
dmas = <0>, <0>;
|
dmas = <0>, <0>;
|
||||||
|
i2c-analog-filter;
|
||||||
|
i2c-digital-filter;
|
||||||
|
i2c-digital-filter-width-ns = <35>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_i2c1_default>;
|
pinctrl-0 = <&pinctrl_i2c1_default>;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
|
304
arch/arm/boot/dts/at91-sama5d27_wlsom1.dtsi
Normal file
304
arch/arm/boot/dts/at91-sama5d27_wlsom1.dtsi
Normal file
|
@ -0,0 +1,304 @@
|
||||||
|
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||||
|
/*
|
||||||
|
* at91-sama5d27_wlsom1.dtsi - Device Tree file for SAMA5D27 WLSOM1
|
||||||
|
*
|
||||||
|
* Copyright (C) 2019 Microchip Technology Inc. and its subsidiaries
|
||||||
|
*
|
||||||
|
* Author: Nicolas Ferre <nicolas.ferre@microcihp.com>
|
||||||
|
* Author: Eugen Hristev <eugen.hristev@microcihp.com>
|
||||||
|
*/
|
||||||
|
#include "sama5d2.dtsi"
|
||||||
|
#include "sama5d2-pinfunc.h"
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
#include <dt-bindings/mfd/atmel-flexcom.h>
|
||||||
|
#include <dt-bindings/pinctrl/at91.h>
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "Microchip SAMA5D27 WLSOM1";
|
||||||
|
compatible = "microchip,sama5d27-wlsom1", "atmel,sama5d27", "atmel,sama5d2", "atmel,sama5";
|
||||||
|
|
||||||
|
clocks {
|
||||||
|
slow_xtal {
|
||||||
|
clock-frequency = <32768>;
|
||||||
|
};
|
||||||
|
|
||||||
|
main_xtal {
|
||||||
|
clock-frequency = <24000000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&flx1 {
|
||||||
|
atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
|
||||||
|
|
||||||
|
uart6: serial@200 {
|
||||||
|
compatible = "atmel,at91sam9260-usart";
|
||||||
|
reg = <0x200 0x200>;
|
||||||
|
interrupts = <20 IRQ_TYPE_LEVEL_HIGH 7>;
|
||||||
|
dmas = <&dma0
|
||||||
|
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
|
||||||
|
AT91_XDMAC_DT_PERID(13))>,
|
||||||
|
<&dma0
|
||||||
|
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
|
||||||
|
AT91_XDMAC_DT_PERID(14))>;
|
||||||
|
dma-names = "tx", "rx";
|
||||||
|
clocks = <&pmc PMC_TYPE_PERIPHERAL 20>;
|
||||||
|
clock-names = "usart";
|
||||||
|
pinctrl-0 = <&pinctrl_flx1_default>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&i2c0 {
|
||||||
|
pinctrl-0 = <&pinctrl_i2c0_default>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&i2c1 {
|
||||||
|
dmas = <0>, <0>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&pinctrl_i2c1_default>;
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
mcp16502@5b {
|
||||||
|
compatible = "microchip,mcp16502";
|
||||||
|
reg = <0x5b>;
|
||||||
|
status = "okay";
|
||||||
|
lpm-gpios = <&pioBU 0 GPIO_ACTIVE_LOW>;
|
||||||
|
|
||||||
|
regulators {
|
||||||
|
vdd_3v3: VDD_IO {
|
||||||
|
regulator-name = "VDD_IO";
|
||||||
|
regulator-min-microvolt = <1200000>;
|
||||||
|
regulator-max-microvolt = <3700000>;
|
||||||
|
regulator-initial-mode = <2>;
|
||||||
|
regulator-allowed-modes = <2>, <4>;
|
||||||
|
regulator-always-on;
|
||||||
|
|
||||||
|
regulator-state-standby {
|
||||||
|
regulator-on-in-suspend;
|
||||||
|
regulator-mode = <4>;
|
||||||
|
};
|
||||||
|
|
||||||
|
regulator-state-mem {
|
||||||
|
regulator-off-in-suspend;
|
||||||
|
regulator-mode = <4>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
vddio_ddr: VDD_DDR {
|
||||||
|
regulator-name = "VDD_DDR";
|
||||||
|
regulator-min-microvolt = <600000>;
|
||||||
|
regulator-max-microvolt = <1850000>;
|
||||||
|
regulator-initial-mode = <2>;
|
||||||
|
regulator-allowed-modes = <2>, <4>;
|
||||||
|
regulator-always-on;
|
||||||
|
|
||||||
|
regulator-state-standby {
|
||||||
|
regulator-on-in-suspend;
|
||||||
|
regulator-suspend-microvolt = <1200000>;
|
||||||
|
regulator-changeable-in-suspend;
|
||||||
|
regulator-mode = <4>;
|
||||||
|
};
|
||||||
|
|
||||||
|
regulator-state-mem {
|
||||||
|
regulator-on-in-suspend;
|
||||||
|
regulator-suspend-microvolt = <1200000>;
|
||||||
|
regulator-changeable-in-suspend;
|
||||||
|
regulator-mode = <4>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
vdd_core: VDD_CORE {
|
||||||
|
regulator-name = "VDD_CORE";
|
||||||
|
regulator-min-microvolt = <600000>;
|
||||||
|
regulator-max-microvolt = <1850000>;
|
||||||
|
regulator-initial-mode = <2>;
|
||||||
|
regulator-allowed-modes = <2>, <4>;
|
||||||
|
regulator-always-on;
|
||||||
|
|
||||||
|
regulator-state-standby {
|
||||||
|
regulator-on-in-suspend;
|
||||||
|
regulator-mode = <4>;
|
||||||
|
};
|
||||||
|
|
||||||
|
regulator-state-mem {
|
||||||
|
regulator-off-in-suspend;
|
||||||
|
regulator-mode = <4>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
vdd_ddr: VDD_OTHER {
|
||||||
|
regulator-name = "VDD_OTHER";
|
||||||
|
regulator-min-microvolt = <1800000>;
|
||||||
|
regulator-max-microvolt = <1800000>;
|
||||||
|
regulator-initial-mode = <2>;
|
||||||
|
regulator-allowed-modes = <2>, <4>;
|
||||||
|
regulator-always-on;
|
||||||
|
|
||||||
|
regulator-state-standby {
|
||||||
|
regulator-on-in-suspend;
|
||||||
|
regulator-suspend-microvolt = <1800000>;
|
||||||
|
regulator-changeable-in-suspend;
|
||||||
|
regulator-mode = <4>;
|
||||||
|
};
|
||||||
|
|
||||||
|
regulator-state-mem {
|
||||||
|
regulator-on-in-suspend;
|
||||||
|
regulator-suspend-microvolt = <1800000>;
|
||||||
|
regulator-changeable-in-suspend;
|
||||||
|
regulator-mode = <4>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
LDO1 {
|
||||||
|
regulator-name = "LDO1";
|
||||||
|
regulator-min-microvolt = <1200000>;
|
||||||
|
regulator-max-microvolt = <3700000>;
|
||||||
|
regulator-always-on;
|
||||||
|
|
||||||
|
regulator-state-standby {
|
||||||
|
regulator-on-in-suspend;
|
||||||
|
};
|
||||||
|
|
||||||
|
regulator-state-mem {
|
||||||
|
regulator-off-in-suspend;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
LDO2 {
|
||||||
|
regulator-name = "LDO2";
|
||||||
|
regulator-min-microvolt = <1200000>;
|
||||||
|
regulator-max-microvolt = <3700000>;
|
||||||
|
regulator-always-on;
|
||||||
|
|
||||||
|
regulator-state-standby {
|
||||||
|
regulator-on-in-suspend;
|
||||||
|
};
|
||||||
|
|
||||||
|
regulator-state-mem {
|
||||||
|
regulator-off-in-suspend;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&macb0 {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&pinctrl_macb0_default>;
|
||||||
|
phy-mode = "rmii";
|
||||||
|
|
||||||
|
ethernet-phy@0 {
|
||||||
|
reg = <0x0>;
|
||||||
|
interrupt-parent = <&pioA>;
|
||||||
|
interrupts = <PIN_PB24 IRQ_TYPE_LEVEL_LOW>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&pinctrl_macb0_phy_irq>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&pmc {
|
||||||
|
atmel,osc-bypass;
|
||||||
|
};
|
||||||
|
|
||||||
|
&qspi1 {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&pinctrl_qspi1_default>;
|
||||||
|
status = "disabled";
|
||||||
|
|
||||||
|
qspi1_flash: spi_flash@0 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
compatible = "jedec,spi-nor";
|
||||||
|
reg = <0>;
|
||||||
|
spi-max-frequency = <80000000>;
|
||||||
|
spi-rx-bus-width = <4>;
|
||||||
|
spi-tx-bus-width = <4>;
|
||||||
|
m25p,fast-read;
|
||||||
|
status = "disabled";
|
||||||
|
|
||||||
|
at91bootstrap@0 {
|
||||||
|
label = "at91bootstrap";
|
||||||
|
reg = <0x0 0x40000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
bootloader@40000 {
|
||||||
|
label = "bootloader";
|
||||||
|
reg = <0x40000 0xc0000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
bootloaderenvred@100000 {
|
||||||
|
label = "bootloader env redundant";
|
||||||
|
reg = <0x100000 0x40000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
bootloaderenv@140000 {
|
||||||
|
label = "bootloader env";
|
||||||
|
reg = <0x140000 0x40000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
dtb@180000 {
|
||||||
|
label = "device tree";
|
||||||
|
reg = <0x180000 0x80000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
kernel@200000 {
|
||||||
|
label = "kernel";
|
||||||
|
reg = <0x200000 0x600000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&pioA {
|
||||||
|
pinctrl_flx1_default: flx1_usart_default {
|
||||||
|
pinmux = <PIN_PA24__FLEXCOM1_IO0>,
|
||||||
|
<PIN_PA23__FLEXCOM1_IO1>,
|
||||||
|
<PIN_PA25__FLEXCOM1_IO3>,
|
||||||
|
<PIN_PA26__FLEXCOM1_IO4>;
|
||||||
|
bias-disable;
|
||||||
|
};
|
||||||
|
|
||||||
|
pinctrl_i2c0_default: i2c0_default {
|
||||||
|
pinmux = <PIN_PD21__TWD0>,
|
||||||
|
<PIN_PD22__TWCK0>;
|
||||||
|
bias-disable;
|
||||||
|
};
|
||||||
|
|
||||||
|
pinctrl_i2c1_default: i2c1_default {
|
||||||
|
pinmux = <PIN_PD19__TWD1>,
|
||||||
|
<PIN_PD20__TWCK1>;
|
||||||
|
bias-disable;
|
||||||
|
};
|
||||||
|
|
||||||
|
pinctrl_macb0_default: macb0_default {
|
||||||
|
pinmux = <PIN_PB14__GTXCK>,
|
||||||
|
<PIN_PB15__GTXEN>,
|
||||||
|
<PIN_PB16__GRXDV>,
|
||||||
|
<PIN_PB17__GRXER>,
|
||||||
|
<PIN_PB18__GRX0>,
|
||||||
|
<PIN_PB19__GRX1>,
|
||||||
|
<PIN_PB20__GTX0>,
|
||||||
|
<PIN_PB21__GTX1>,
|
||||||
|
<PIN_PB22__GMDC>,
|
||||||
|
<PIN_PB23__GMDIO>;
|
||||||
|
bias-disable;
|
||||||
|
};
|
||||||
|
|
||||||
|
pinctrl_macb0_phy_irq: macb0_phy_irq {
|
||||||
|
pinmux = <PIN_PB24__GPIO>;
|
||||||
|
bias-disable;
|
||||||
|
};
|
||||||
|
|
||||||
|
pinctrl_qspi1_default: qspi1_default {
|
||||||
|
pinmux = <PIN_PB5__QSPI1_SCK>,
|
||||||
|
<PIN_PB6__QSPI1_CS>,
|
||||||
|
<PIN_PB7__QSPI1_IO0>,
|
||||||
|
<PIN_PB8__QSPI1_IO1>,
|
||||||
|
<PIN_PB9__QSPI1_IO2>,
|
||||||
|
<PIN_PB10__QSPI1_IO3>;
|
||||||
|
bias-pull-up;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
270
arch/arm/boot/dts/at91-sama5d27_wlsom1_ek.dts
Normal file
270
arch/arm/boot/dts/at91-sama5d27_wlsom1_ek.dts
Normal file
|
@ -0,0 +1,270 @@
|
||||||
|
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||||
|
/*
|
||||||
|
* at91-sama5d27_wlsom1_ek.dts - Device Tree file for SAMA5D27 WLSOM1 EK
|
||||||
|
*
|
||||||
|
* Copyright (C) 2019 Microchip Technology Inc. and its subsidiaries
|
||||||
|
*
|
||||||
|
* Author: Nicolas Ferre <nicolas.ferre@microcihp.com>
|
||||||
|
*/
|
||||||
|
/dts-v1/;
|
||||||
|
#include "at91-sama5d27_wlsom1.dtsi"
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "Microchip SAMA5D27 WLSOM1 EK";
|
||||||
|
compatible = "microchip,sama5d27-wlsom1-ek", "microchip,sama5d27-wlsom1", "atmel,sama5d27", "atmel,sama5d2", "atmel,sama5";
|
||||||
|
|
||||||
|
aliases {
|
||||||
|
serial0 = &uart0; /* DBGU */
|
||||||
|
serial1 = &uart6; /* BT */
|
||||||
|
serial2 = &uart5; /* mikro BUS 2 */
|
||||||
|
serial3 = &uart3; /* mikro BUS 1 */
|
||||||
|
i2c1 = &i2c1;
|
||||||
|
};
|
||||||
|
|
||||||
|
chosen {
|
||||||
|
stdout-path = "serial0:115200n8";
|
||||||
|
};
|
||||||
|
|
||||||
|
gpio_keys {
|
||||||
|
compatible = "gpio-keys";
|
||||||
|
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&pinctrl_key_gpio_default>;
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
sw4 {
|
||||||
|
label = "USER BUTTON";
|
||||||
|
gpios = <&pioA PIN_PB2 GPIO_ACTIVE_LOW>;
|
||||||
|
linux,code = <0x104>;
|
||||||
|
wakeup-source;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
leds {
|
||||||
|
compatible = "gpio-leds";
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&pinctrl_led_gpio_default>;
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
red {
|
||||||
|
label = "red";
|
||||||
|
gpios = <&pioA PIN_PA6 GPIO_ACTIVE_HIGH>;
|
||||||
|
};
|
||||||
|
|
||||||
|
green {
|
||||||
|
label = "green";
|
||||||
|
gpios = <&pioA PIN_PA7 GPIO_ACTIVE_HIGH>;
|
||||||
|
};
|
||||||
|
|
||||||
|
blue {
|
||||||
|
label = "blue";
|
||||||
|
gpios = <&pioA PIN_PA8 GPIO_ACTIVE_HIGH>;
|
||||||
|
linux,default-trigger = "heartbeat";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&adc {
|
||||||
|
vddana-supply = <&vdd_3v3>;
|
||||||
|
vref-supply = <&vdd_3v3>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&pinctrl_adc_default>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&flx0 {
|
||||||
|
atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
uart5: serial@200 {
|
||||||
|
compatible = "atmel,at91sam9260-usart";
|
||||||
|
reg = <0x200 0x200>;
|
||||||
|
interrupts = <19 IRQ_TYPE_LEVEL_HIGH 7>;
|
||||||
|
dmas = <&dma0
|
||||||
|
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
|
||||||
|
AT91_XDMAC_DT_PERID(11))>,
|
||||||
|
<&dma0
|
||||||
|
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
|
||||||
|
AT91_XDMAC_DT_PERID(12))>;
|
||||||
|
dma-names = "tx", "rx";
|
||||||
|
clocks = <&pmc PMC_TYPE_PERIPHERAL 19>;
|
||||||
|
clock-names = "usart";
|
||||||
|
pinctrl-0 = <&pinctrl_flx0_default>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
atmel,use-dma-rx;
|
||||||
|
atmel,use-dma-tx;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&flx1 {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
uart6: serial@200 {
|
||||||
|
atmel,use-dma-rx;
|
||||||
|
atmel,use-dma-tx;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&macb0 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&pioA {
|
||||||
|
/*
|
||||||
|
* There is no real pinmux for ADC, if the pin
|
||||||
|
* is not requested by another peripheral then
|
||||||
|
* the muxing is done when channel is enabled.
|
||||||
|
* Requesting pins for ADC is GPIO is
|
||||||
|
* encouraged to prevent conflicts and to
|
||||||
|
* disable bias in order to be in the same
|
||||||
|
* state when the pin is not muxed to the adc.
|
||||||
|
*/
|
||||||
|
pinctrl_adc_default: adc_default {
|
||||||
|
pinmux = <PIN_PD25__GPIO>,
|
||||||
|
<PIN_PD26__GPIO>;
|
||||||
|
bias-disable;
|
||||||
|
};
|
||||||
|
|
||||||
|
pinctrl_flx0_default: flx0_usart_default {
|
||||||
|
pinmux = <PIN_PB28__FLEXCOM0_IO0>,
|
||||||
|
<PIN_PB29__FLEXCOM0_IO1>;
|
||||||
|
bias-disable;
|
||||||
|
};
|
||||||
|
|
||||||
|
pinctrl_key_gpio_default: key_gpio_default {
|
||||||
|
pinmux = <PIN_PB2__GPIO>;
|
||||||
|
bias-pull-up;
|
||||||
|
};
|
||||||
|
|
||||||
|
pinctrl_led_gpio_default: led_gpio_default {
|
||||||
|
pinmux = <PIN_PA6__GPIO>,
|
||||||
|
<PIN_PA7__GPIO>,
|
||||||
|
<PIN_PA8__GPIO>;
|
||||||
|
bias-pull-down;
|
||||||
|
};
|
||||||
|
|
||||||
|
pinctrl_sdmmc0_default: sdmmc0_default {
|
||||||
|
cmd_data {
|
||||||
|
pinmux = <PIN_PA1__SDMMC0_CMD>,
|
||||||
|
<PIN_PA2__SDMMC0_DAT0>,
|
||||||
|
<PIN_PA3__SDMMC0_DAT1>,
|
||||||
|
<PIN_PA4__SDMMC0_DAT2>,
|
||||||
|
<PIN_PA5__SDMMC0_DAT3>;
|
||||||
|
bias-disable;
|
||||||
|
};
|
||||||
|
|
||||||
|
ck_cd_vddsel {
|
||||||
|
pinmux = <PIN_PA0__SDMMC0_CK>,
|
||||||
|
<PIN_PA11__SDMMC0_VDDSEL>,
|
||||||
|
<PIN_PA12__SDMMC0_WP>,
|
||||||
|
<PIN_PA13__SDMMC0_CD>;
|
||||||
|
bias-disable;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
pinctrl_uart0_default: uart0_default {
|
||||||
|
pinmux = <PIN_PB26__URXD0>,
|
||||||
|
<PIN_PB27__UTXD0>;
|
||||||
|
bias-disable;
|
||||||
|
};
|
||||||
|
|
||||||
|
pinctrl_uart3_default: uart3_default {
|
||||||
|
pinmux = <PIN_PB11__URXD3>,
|
||||||
|
<PIN_PB12__UTXD3>;
|
||||||
|
bias-disable;
|
||||||
|
};
|
||||||
|
|
||||||
|
pinctrl_pwm0_default: pwm0_default {
|
||||||
|
pinmux = <PIN_PA31__PWML0>,
|
||||||
|
<PIN_PA30__PWMH0>;
|
||||||
|
bias-disable;
|
||||||
|
};
|
||||||
|
|
||||||
|
pinctrl_usb_default: usb_default {
|
||||||
|
pinmux = <PIN_PA10__GPIO>;
|
||||||
|
bias-disable;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&pwm0 {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&pinctrl_pwm0_default>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&qspi1 {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
qspi1_flash: spi_flash@0 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&sdmmc0 {
|
||||||
|
bus-width = <4>;
|
||||||
|
mmc-ddr-3_3v;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&pinctrl_sdmmc0_default>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&shutdown_controller {
|
||||||
|
atmel,shdwc-debouncer = <976>;
|
||||||
|
atmel,wakeup-rtc-timer;
|
||||||
|
|
||||||
|
input@0 {
|
||||||
|
reg = <0>;
|
||||||
|
atmel,wakeup-type = "low";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&tcb0 {
|
||||||
|
timer0: timer@0 {
|
||||||
|
compatible = "atmel,tcb-timer";
|
||||||
|
reg = <0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
timer1: timer@1 {
|
||||||
|
compatible = "atmel,tcb-timer";
|
||||||
|
reg = <1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&uart0 {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&pinctrl_uart0_default>;
|
||||||
|
atmel,use-dma-rx;
|
||||||
|
atmel,use-dma-tx;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&uart3 {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&pinctrl_uart3_default>;
|
||||||
|
atmel,use-dma-rx;
|
||||||
|
atmel,use-dma-tx;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&usb1 {
|
||||||
|
num-ports = <3>;
|
||||||
|
atmel,vbus-gpio = <0
|
||||||
|
&pioA PIN_PA10 GPIO_ACTIVE_HIGH
|
||||||
|
0
|
||||||
|
>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&pinctrl_usb_default>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&usb2 {
|
||||||
|
phy_type = "hsic";
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&watchdog {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
109
arch/arm/boot/dts/at91-smartkiz.dts
Normal file
109
arch/arm/boot/dts/at91-smartkiz.dts
Normal file
|
@ -0,0 +1,109 @@
|
||||||
|
// SPDX-License-Identifier: GPL-2.0
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2017-2018 Overkiz SAS
|
||||||
|
* Author: Mickael Gardet <m.gardet@overkiz.com>
|
||||||
|
* Kévin Raymond <k.raymond@overkiz.com>
|
||||||
|
* Dorian Rocipon <d.rocipon@overkiz.com>
|
||||||
|
*/
|
||||||
|
/dts-v1/;
|
||||||
|
#include "at91-kizboxmini-common.dtsi"
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "Overkiz SmartKiz";
|
||||||
|
compatible = "overkiz,smartkiz", "atmel,at91sam9g25",
|
||||||
|
"atmel,at91sam9x5", "atmel,at91sam9";
|
||||||
|
|
||||||
|
clocks {
|
||||||
|
adc_op_clk {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
aliases {
|
||||||
|
serial5 = &uart0;
|
||||||
|
};
|
||||||
|
|
||||||
|
pio_keys {
|
||||||
|
hk_reset {
|
||||||
|
label = "HK_RESET";
|
||||||
|
gpios = <&pioC 13 GPIO_ACTIVE_HIGH>;
|
||||||
|
};
|
||||||
|
|
||||||
|
power_rf {
|
||||||
|
label = "POWER_RF";
|
||||||
|
gpios = <&pioA 20 GPIO_ACTIVE_HIGH>;
|
||||||
|
};
|
||||||
|
|
||||||
|
power_wifi {
|
||||||
|
label = "POWER_WIFI";
|
||||||
|
gpios = <&pioA 21 GPIO_ACTIVE_HIGH>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&pinctrl {
|
||||||
|
i2c1 {
|
||||||
|
pinctrl_i2c1: i2c1-0 {
|
||||||
|
atmel,pins =
|
||||||
|
<AT91_PIOC 0 AT91_PERIPH_C AT91_PINCTRL_PULL_UP
|
||||||
|
AT91_PIOC 1 AT91_PERIPH_C AT91_PINCTRL_PULL_UP>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
adc0 {
|
||||||
|
pinctrl_adc0_ad0: adc0_ad0-0 {
|
||||||
|
/* pull-up disable */
|
||||||
|
atmel,pins = <AT91_PIOB 11 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
|
||||||
|
};
|
||||||
|
pinctrl_adc0_ad5: adc0_ad5-0 {
|
||||||
|
/* pull-up disable */
|
||||||
|
atmel,pins = <AT91_PIOB 16 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
|
||||||
|
};
|
||||||
|
pinctrl_adc0_ad6: adc0_ad6-0 {
|
||||||
|
/* pull-up disable */
|
||||||
|
atmel,pins = <AT91_PIOB 17 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
|
||||||
|
};
|
||||||
|
pinctrl_adc0_ad11: adc0_ad11-0 {
|
||||||
|
/* pull-up disable */
|
||||||
|
atmel,pins = <AT91_PIOB 10 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&i2c1 {
|
||||||
|
dmas = <0>, <0>;
|
||||||
|
pinctrl-0 = <&pinctrl_i2c1>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
&macb0 {
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
&rtc {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&leds {
|
||||||
|
blue {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&adc0 {
|
||||||
|
atmel,adc-vref = <2500>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <
|
||||||
|
&pinctrl_adc0_ad0
|
||||||
|
&pinctrl_adc0_ad5
|
||||||
|
&pinctrl_adc0_ad6
|
||||||
|
&pinctrl_adc0_ad11
|
||||||
|
>;
|
||||||
|
atmel,adc-channels-used = <0x0861>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&uart0 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
|
@ -187,7 +187,7 @@
|
||||||
usart0 {
|
usart0 {
|
||||||
pinctrl_usart0: usart0-0 {
|
pinctrl_usart0: usart0-0 {
|
||||||
atmel,pins =
|
atmel,pins =
|
||||||
<AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_NONE
|
<AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
|
||||||
AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
|
AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -221,7 +221,7 @@
|
||||||
usart1 {
|
usart1 {
|
||||||
pinctrl_usart1: usart1-0 {
|
pinctrl_usart1: usart1-0 {
|
||||||
atmel,pins =
|
atmel,pins =
|
||||||
<AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_NONE
|
<AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
|
||||||
AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
|
AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -239,7 +239,7 @@
|
||||||
usart2 {
|
usart2 {
|
||||||
pinctrl_usart2: usart2-0 {
|
pinctrl_usart2: usart2-0 {
|
||||||
atmel,pins =
|
atmel,pins =
|
||||||
<AT91_PIOB 8 AT91_PERIPH_A AT91_PINCTRL_NONE
|
<AT91_PIOB 8 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
|
||||||
AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
|
AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -257,7 +257,7 @@
|
||||||
usart3 {
|
usart3 {
|
||||||
pinctrl_usart3: usart3-0 {
|
pinctrl_usart3: usart3-0 {
|
||||||
atmel,pins =
|
atmel,pins =
|
||||||
<AT91_PIOB 10 AT91_PERIPH_A AT91_PINCTRL_NONE
|
<AT91_PIOB 10 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
|
||||||
AT91_PIOB 11 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
|
AT91_PIOB 11 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -275,7 +275,7 @@
|
||||||
uart0 {
|
uart0 {
|
||||||
pinctrl_uart0: uart0-0 {
|
pinctrl_uart0: uart0-0 {
|
||||||
atmel,pins =
|
atmel,pins =
|
||||||
<AT91_PIOA 31 AT91_PERIPH_B AT91_PINCTRL_NONE
|
<AT91_PIOA 31 AT91_PERIPH_B AT91_PINCTRL_PULL_UP
|
||||||
AT91_PIOA 30 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;
|
AT91_PIOA 30 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -283,7 +283,7 @@
|
||||||
uart1 {
|
uart1 {
|
||||||
pinctrl_uart1: uart1-0 {
|
pinctrl_uart1: uart1-0 {
|
||||||
atmel,pins =
|
atmel,pins =
|
||||||
<AT91_PIOB 12 AT91_PERIPH_A AT91_PINCTRL_NONE
|
<AT91_PIOB 12 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
|
||||||
AT91_PIOB 13 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
|
AT91_PIOB 13 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -738,7 +738,7 @@
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
watchdog@fffffd40 {
|
watchdog: watchdog@fffffd40 {
|
||||||
compatible = "atmel,at91sam9260-wdt";
|
compatible = "atmel,at91sam9260-wdt";
|
||||||
reg = <0xfffffd40 0x10>;
|
reg = <0xfffffd40 0x10>;
|
||||||
interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
|
interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
|
||||||
|
@ -793,7 +793,7 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
i2c-gpio-0 {
|
i2c_gpio0: i2c-gpio-0 {
|
||||||
compatible = "i2c-gpio";
|
compatible = "i2c-gpio";
|
||||||
gpios = <&pioA 23 GPIO_ACTIVE_HIGH /* sda */
|
gpios = <&pioA 23 GPIO_ACTIVE_HIGH /* sda */
|
||||||
&pioA 24 GPIO_ACTIVE_HIGH /* scl */
|
&pioA 24 GPIO_ACTIVE_HIGH /* scl */
|
||||||
|
|
|
@ -329,7 +329,7 @@
|
||||||
usart0 {
|
usart0 {
|
||||||
pinctrl_usart0: usart0-0 {
|
pinctrl_usart0: usart0-0 {
|
||||||
atmel,pins =
|
atmel,pins =
|
||||||
<AT91_PIOC 8 AT91_PERIPH_A AT91_PINCTRL_NONE>,
|
<AT91_PIOC 8 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
|
||||||
<AT91_PIOC 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
|
<AT91_PIOC 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -347,7 +347,7 @@
|
||||||
usart1 {
|
usart1 {
|
||||||
pinctrl_usart1: usart1-0 {
|
pinctrl_usart1: usart1-0 {
|
||||||
atmel,pins =
|
atmel,pins =
|
||||||
<AT91_PIOC 12 AT91_PERIPH_A AT91_PINCTRL_NONE>,
|
<AT91_PIOC 12 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
|
||||||
<AT91_PIOC 13 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
|
<AT91_PIOC 13 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -365,7 +365,7 @@
|
||||||
usart2 {
|
usart2 {
|
||||||
pinctrl_usart2: usart2-0 {
|
pinctrl_usart2: usart2-0 {
|
||||||
atmel,pins =
|
atmel,pins =
|
||||||
<AT91_PIOC 14 AT91_PERIPH_A AT91_PINCTRL_NONE>,
|
<AT91_PIOC 14 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
|
||||||
<AT91_PIOC 15 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
|
<AT91_PIOC 15 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -183,7 +183,7 @@
|
||||||
usart0 {
|
usart0 {
|
||||||
pinctrl_usart0: usart0-0 {
|
pinctrl_usart0: usart0-0 {
|
||||||
atmel,pins =
|
atmel,pins =
|
||||||
<AT91_PIOA 26 AT91_PERIPH_A AT91_PINCTRL_NONE
|
<AT91_PIOA 26 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
|
||||||
AT91_PIOA 27 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
|
AT91_PIOA 27 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -201,7 +201,7 @@
|
||||||
usart1 {
|
usart1 {
|
||||||
pinctrl_usart1: usart1-0 {
|
pinctrl_usart1: usart1-0 {
|
||||||
atmel,pins =
|
atmel,pins =
|
||||||
<AT91_PIOD 0 AT91_PERIPH_A AT91_PINCTRL_NONE
|
<AT91_PIOD 0 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
|
||||||
AT91_PIOD 1 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
|
AT91_PIOD 1 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -219,7 +219,7 @@
|
||||||
usart2 {
|
usart2 {
|
||||||
pinctrl_usart2: usart2-0 {
|
pinctrl_usart2: usart2-0 {
|
||||||
atmel,pins =
|
atmel,pins =
|
||||||
<AT91_PIOD 2 AT91_PERIPH_A AT91_PINCTRL_NONE
|
<AT91_PIOD 2 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
|
||||||
AT91_PIOD 3 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
|
AT91_PIOD 3 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -556,7 +556,7 @@
|
||||||
usart0 {
|
usart0 {
|
||||||
pinctrl_usart0: usart0-0 {
|
pinctrl_usart0: usart0-0 {
|
||||||
atmel,pins =
|
atmel,pins =
|
||||||
<AT91_PIOB 19 AT91_PERIPH_A AT91_PINCTRL_NONE
|
<AT91_PIOB 19 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
|
||||||
AT91_PIOB 18 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
|
AT91_PIOB 18 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -574,7 +574,7 @@
|
||||||
usart1 {
|
usart1 {
|
||||||
pinctrl_usart1: usart1-0 {
|
pinctrl_usart1: usart1-0 {
|
||||||
atmel,pins =
|
atmel,pins =
|
||||||
<AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_NONE
|
<AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
|
||||||
AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
|
AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -592,7 +592,7 @@
|
||||||
usart2 {
|
usart2 {
|
||||||
pinctrl_usart2: usart2-0 {
|
pinctrl_usart2: usart2-0 {
|
||||||
atmel,pins =
|
atmel,pins =
|
||||||
<AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_NONE
|
<AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
|
||||||
AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
|
AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -610,7 +610,7 @@
|
||||||
usart3 {
|
usart3 {
|
||||||
pinctrl_usart3: usart3-0 {
|
pinctrl_usart3: usart3-0 {
|
||||||
atmel,pins =
|
atmel,pins =
|
||||||
<AT91_PIOB 8 AT91_PERIPH_A AT91_PINCTRL_NONE
|
<AT91_PIOB 8 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
|
||||||
AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
|
AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -682,7 +682,7 @@
|
||||||
usart0 {
|
usart0 {
|
||||||
pinctrl_usart0: usart0-0 {
|
pinctrl_usart0: usart0-0 {
|
||||||
atmel,pins =
|
atmel,pins =
|
||||||
<AT91_PIOA 6 AT91_PERIPH_A AT91_PINCTRL_NONE>,
|
<AT91_PIOA 6 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
|
||||||
<AT91_PIOA 7 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
|
<AT91_PIOA 7 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -721,7 +721,7 @@
|
||||||
usart1 {
|
usart1 {
|
||||||
pinctrl_usart1: usart1-0 {
|
pinctrl_usart1: usart1-0 {
|
||||||
atmel,pins =
|
atmel,pins =
|
||||||
<AT91_PIOA 11 AT91_PERIPH_A AT91_PINCTRL_NONE>,
|
<AT91_PIOA 11 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
|
||||||
<AT91_PIOA 12 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
|
<AT91_PIOA 12 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -744,7 +744,7 @@
|
||||||
usart2 {
|
usart2 {
|
||||||
pinctrl_usart2: usart2-0 {
|
pinctrl_usart2: usart2-0 {
|
||||||
atmel,pins =
|
atmel,pins =
|
||||||
<AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_NONE>,
|
<AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
|
||||||
<AT91_PIOA 14 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
|
<AT91_PIOA 14 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -767,7 +767,7 @@
|
||||||
usart3 {
|
usart3 {
|
||||||
pinctrl_usart3: usart3-0 {
|
pinctrl_usart3: usart3-0 {
|
||||||
atmel,pins =
|
atmel,pins =
|
||||||
<AT91_PIOB 0 AT91_PERIPH_A AT91_PINCTRL_NONE>,
|
<AT91_PIOB 0 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
|
||||||
<AT91_PIOB 1 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
|
<AT91_PIOB 1 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -12,26 +12,6 @@
|
||||||
|
|
||||||
interrupt-parent = <&gicv2>;
|
interrupt-parent = <&gicv2>;
|
||||||
|
|
||||||
reserved-memory {
|
|
||||||
#address-cells = <2>;
|
|
||||||
#size-cells = <1>;
|
|
||||||
ranges;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* arm64 reserves the CMA by default somewhere in ZONE_DMA32,
|
|
||||||
* that's not good enough for the BCM2711 as some devices can
|
|
||||||
* only address the lower 1G of memory (ZONE_DMA).
|
|
||||||
*/
|
|
||||||
linux,cma {
|
|
||||||
compatible = "shared-dma-pool";
|
|
||||||
size = <0x2000000>; /* 32MB */
|
|
||||||
alloc-ranges = <0x0 0x00000000 0x40000000>;
|
|
||||||
reusable;
|
|
||||||
linux,cma-default;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
soc {
|
soc {
|
||||||
/*
|
/*
|
||||||
* Defined ranges:
|
* Defined ranges:
|
||||||
|
@ -123,10 +103,8 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
rng@7e104000 {
|
rng@7e104000 {
|
||||||
interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
|
compatible = "brcm,bcm2711-rng200";
|
||||||
|
reg = <0x7e104000 0x28>;
|
||||||
/* RNG is incompatible with brcm,bcm2835-rng */
|
|
||||||
status = "disabled";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
uart2: serial@7e201400 {
|
uart2: serial@7e201400 {
|
||||||
|
@ -342,7 +320,36 @@
|
||||||
#address-cells = <2>;
|
#address-cells = <2>;
|
||||||
#size-cells = <1>;
|
#size-cells = <1>;
|
||||||
|
|
||||||
ranges = <0x0 0x7c000000 0x0 0xfc000000 0x03800000>;
|
ranges = <0x0 0x7c000000 0x0 0xfc000000 0x03800000>,
|
||||||
|
<0x6 0x00000000 0x6 0x00000000 0x40000000>;
|
||||||
|
|
||||||
|
pcie0: pcie@7d500000 {
|
||||||
|
compatible = "brcm,bcm2711-pcie";
|
||||||
|
reg = <0x0 0x7d500000 0x9310>;
|
||||||
|
device_type = "pci";
|
||||||
|
#address-cells = <3>;
|
||||||
|
#interrupt-cells = <1>;
|
||||||
|
#size-cells = <2>;
|
||||||
|
interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
interrupt-names = "pcie", "msi";
|
||||||
|
interrupt-map-mask = <0x0 0x0 0x0 0x7>;
|
||||||
|
interrupt-map = <0 0 0 1 &gicv2 GIC_SPI 143
|
||||||
|
IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
msi-controller;
|
||||||
|
msi-parent = <&pcie0>;
|
||||||
|
|
||||||
|
ranges = <0x02000000 0x0 0xf8000000 0x6 0x00000000
|
||||||
|
0x0 0x04000000>;
|
||||||
|
/*
|
||||||
|
* The wrapper around the PCIe block has a bug
|
||||||
|
* preventing it from accessing beyond the first 3GB of
|
||||||
|
* memory.
|
||||||
|
*/
|
||||||
|
dma-ranges = <0x02000000 0x0 0x00000000 0x0 0x00000000
|
||||||
|
0x0 0xc0000000>;
|
||||||
|
brcm,enable-ssc;
|
||||||
|
};
|
||||||
|
|
||||||
genet: ethernet@7d580000 {
|
genet: ethernet@7d580000 {
|
||||||
compatible = "brcm,bcm2711-genet-v5";
|
compatible = "brcm,bcm2711-genet-v5";
|
||||||
|
@ -840,6 +847,19 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&rmem {
|
||||||
|
#address-cells = <2>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&cma {
|
||||||
|
/*
|
||||||
|
* arm64 reserves the CMA by default somewhere in ZONE_DMA32,
|
||||||
|
* that's not good enough for the BCM2711 as some devices can
|
||||||
|
* only address the lower 1G of memory (ZONE_DMA).
|
||||||
|
*/
|
||||||
|
alloc-ranges = <0x0 0x00000000 0x40000000>;
|
||||||
|
};
|
||||||
|
|
||||||
&i2c0 {
|
&i2c0 {
|
||||||
compatible = "brcm,bcm2711-i2c", "brcm,bcm2835-i2c";
|
compatible = "brcm,bcm2711-i2c", "brcm,bcm2835-i2c";
|
||||||
interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
|
|
@ -70,6 +70,12 @@
|
||||||
system-power-controller;
|
system-power-controller;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
rng@7e104000 {
|
||||||
|
compatible = "brcm,bcm2835-rng";
|
||||||
|
reg = <0x7e104000 0x10>;
|
||||||
|
interrupts = <2 29>;
|
||||||
|
};
|
||||||
|
|
||||||
pixelvalve@7e206000 {
|
pixelvalve@7e206000 {
|
||||||
compatible = "brcm,bcm2835-pixelvalve0";
|
compatible = "brcm,bcm2835-pixelvalve0";
|
||||||
reg = <0x7e206000 0x100>;
|
reg = <0x7e206000 0x100>;
|
||||||
|
|
|
@ -30,6 +30,19 @@
|
||||||
stdout-path = "serial0:115200n8";
|
stdout-path = "serial0:115200n8";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
rmem: reserved-memory {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
ranges;
|
||||||
|
|
||||||
|
cma: linux,cma {
|
||||||
|
compatible = "shared-dma-pool";
|
||||||
|
size = <0x4000000>; /* 64MB */
|
||||||
|
reusable;
|
||||||
|
linux,cma-default;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
thermal-zones {
|
thermal-zones {
|
||||||
cpu_thermal: cpu-thermal {
|
cpu_thermal: cpu-thermal {
|
||||||
polling-delay-passive = <0>;
|
polling-delay-passive = <0>;
|
||||||
|
@ -84,12 +97,6 @@
|
||||||
<&dsi1 0>, <&dsi1 1>, <&dsi1 2>;
|
<&dsi1 0>, <&dsi1 1>, <&dsi1 2>;
|
||||||
};
|
};
|
||||||
|
|
||||||
rng@7e104000 {
|
|
||||||
compatible = "brcm,bcm2835-rng";
|
|
||||||
reg = <0x7e104000 0x10>;
|
|
||||||
interrupts = <2 29>;
|
|
||||||
};
|
|
||||||
|
|
||||||
mailbox: mailbox@7e00b880 {
|
mailbox: mailbox@7e00b880 {
|
||||||
compatible = "brcm,bcm2835-mbox";
|
compatible = "brcm,bcm2835-mbox";
|
||||||
reg = <0x7e00b880 0x40>;
|
reg = <0x7e00b880 0x40>;
|
||||||
|
|
|
@ -55,18 +55,9 @@
|
||||||
priority = <200>;
|
priority = <200>;
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Hardware I2C block cannot do more than 63 bytes per transfer,
|
|
||||||
* which would prevent reading from a SFP's EEPROM (256 byte).
|
|
||||||
*/
|
|
||||||
i2c1: i2c {
|
|
||||||
compatible = "i2c-gpio";
|
|
||||||
sda-gpios = <&gpioa 5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
|
||||||
scl-gpios = <&gpioa 4 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
|
||||||
};
|
|
||||||
|
|
||||||
sfp: sfp {
|
sfp: sfp {
|
||||||
compatible = "sff,sfp";
|
compatible = "sff,sfp";
|
||||||
i2c-bus = <&i2c1>;
|
i2c-bus = <&i2c0>;
|
||||||
mod-def0-gpios = <&gpioa 28 GPIO_ACTIVE_LOW>;
|
mod-def0-gpios = <&gpioa 28 GPIO_ACTIVE_LOW>;
|
||||||
los-gpios = <&gpioa 24 GPIO_ACTIVE_HIGH>;
|
los-gpios = <&gpioa 24 GPIO_ACTIVE_HIGH>;
|
||||||
tx-fault-gpios = <&gpioa 30 GPIO_ACTIVE_HIGH>;
|
tx-fault-gpios = <&gpioa 30 GPIO_ACTIVE_HIGH>;
|
||||||
|
@ -74,6 +65,10 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&i2c0 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
&amac0 {
|
&amac0 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
10
arch/arm/boot/dts/dm3725.dtsi
Normal file
10
arch/arm/boot/dts/dm3725.dtsi
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-only
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2020 André Hentschel <nerv@dawncrow.de>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "omap36xx.dtsi"
|
||||||
|
|
||||||
|
&sgx_module {
|
||||||
|
status = "disabled";
|
||||||
|
};
|
|
@ -186,7 +186,6 @@
|
||||||
|
|
||||||
target-module@56000 { /* 0x4a056000, ap 9 02.0 */
|
target-module@56000 { /* 0x4a056000, ap 9 02.0 */
|
||||||
compatible = "ti,sysc-omap2", "ti,sysc";
|
compatible = "ti,sysc-omap2", "ti,sysc";
|
||||||
ti,hwmods = "dma_system";
|
|
||||||
reg = <0x56000 0x4>,
|
reg = <0x56000 0x4>,
|
||||||
<0x5602c 0x4>,
|
<0x5602c 0x4>,
|
||||||
<0x56028 0x4>;
|
<0x56028 0x4>;
|
||||||
|
@ -212,7 +211,7 @@
|
||||||
ranges = <0x0 0x56000 0x1000>;
|
ranges = <0x0 0x56000 0x1000>;
|
||||||
|
|
||||||
sdma: dma-controller@0 {
|
sdma: dma-controller@0 {
|
||||||
compatible = "ti,omap4430-sdma";
|
compatible = "ti,omap4430-sdma", "ti,omap-sdma";
|
||||||
reg = <0x0 0x1000>;
|
reg = <0x0 0x1000>;
|
||||||
interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
|
interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
<GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
|
<GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
@ -234,7 +233,6 @@
|
||||||
|
|
||||||
target-module@80000 { /* 0x4a080000, ap 13 20.0 */
|
target-module@80000 { /* 0x4a080000, ap 13 20.0 */
|
||||||
compatible = "ti,sysc-omap2", "ti,sysc";
|
compatible = "ti,sysc-omap2", "ti,sysc";
|
||||||
ti,hwmods = "ocp2scp1";
|
|
||||||
reg = <0x80000 0x4>,
|
reg = <0x80000 0x4>,
|
||||||
<0x80010 0x4>,
|
<0x80010 0x4>,
|
||||||
<0x80014 0x4>;
|
<0x80014 0x4>;
|
||||||
|
@ -302,7 +300,6 @@
|
||||||
|
|
||||||
target-module@90000 { /* 0x4a090000, ap 59 42.0 */
|
target-module@90000 { /* 0x4a090000, ap 59 42.0 */
|
||||||
compatible = "ti,sysc-omap2", "ti,sysc";
|
compatible = "ti,sysc-omap2", "ti,sysc";
|
||||||
ti,hwmods = "ocp2scp3";
|
|
||||||
reg = <0x90000 0x4>,
|
reg = <0x90000 0x4>,
|
||||||
<0x90010 0x4>,
|
<0x90010 0x4>,
|
||||||
<0x90014 0x4>;
|
<0x90014 0x4>;
|
||||||
|
@ -394,7 +391,6 @@
|
||||||
|
|
||||||
target-module@d9000 { /* 0x4a0d9000, ap 17 72.0 */
|
target-module@d9000 { /* 0x4a0d9000, ap 17 72.0 */
|
||||||
compatible = "ti,sysc-omap4-sr", "ti,sysc";
|
compatible = "ti,sysc-omap4-sr", "ti,sysc";
|
||||||
ti,hwmods = "smartreflex_mpu";
|
|
||||||
reg = <0xd9038 0x4>;
|
reg = <0xd9038 0x4>;
|
||||||
reg-names = "sysc";
|
reg-names = "sysc";
|
||||||
ti,sysc-mask = <SYSC_OMAP3_SR_ENAWAKEUP>;
|
ti,sysc-mask = <SYSC_OMAP3_SR_ENAWAKEUP>;
|
||||||
|
@ -414,7 +410,6 @@
|
||||||
|
|
||||||
target-module@dd000 { /* 0x4a0dd000, ap 19 18.0 */
|
target-module@dd000 { /* 0x4a0dd000, ap 19 18.0 */
|
||||||
compatible = "ti,sysc-omap4-sr", "ti,sysc";
|
compatible = "ti,sysc-omap4-sr", "ti,sysc";
|
||||||
ti,hwmods = "smartreflex_core";
|
|
||||||
reg = <0xdd038 0x4>;
|
reg = <0xdd038 0x4>;
|
||||||
reg-names = "sysc";
|
reg-names = "sysc";
|
||||||
ti,sysc-mask = <SYSC_OMAP3_SR_ENAWAKEUP>;
|
ti,sysc-mask = <SYSC_OMAP3_SR_ENAWAKEUP>;
|
||||||
|
@ -471,7 +466,6 @@
|
||||||
|
|
||||||
target-module@f6000 { /* 0x4a0f6000, ap 25 78.0 */
|
target-module@f6000 { /* 0x4a0f6000, ap 25 78.0 */
|
||||||
compatible = "ti,sysc-omap2", "ti,sysc";
|
compatible = "ti,sysc-omap2", "ti,sysc";
|
||||||
ti,hwmods = "spinlock";
|
|
||||||
reg = <0xf6000 0x4>,
|
reg = <0xf6000 0x4>,
|
||||||
<0xf6010 0x4>,
|
<0xf6010 0x4>,
|
||||||
<0xf6014 0x4>;
|
<0xf6014 0x4>;
|
||||||
|
@ -1233,7 +1227,6 @@
|
||||||
|
|
||||||
target-module@3e000 { /* 0x4803e000, ap 11 56.0 */
|
target-module@3e000 { /* 0x4803e000, ap 11 56.0 */
|
||||||
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
||||||
ti,hwmods = "timer9";
|
|
||||||
reg = <0x3e000 0x4>,
|
reg = <0x3e000 0x4>,
|
||||||
<0x3e010 0x4>;
|
<0x3e010 0x4>;
|
||||||
reg-names = "rev", "sysc";
|
reg-names = "rev", "sysc";
|
||||||
|
@ -1748,7 +1741,6 @@
|
||||||
|
|
||||||
target-module@78000 { /* 0x48078000, ap 39 0a.0 */
|
target-module@78000 { /* 0x48078000, ap 39 0a.0 */
|
||||||
compatible = "ti,sysc-omap2", "ti,sysc";
|
compatible = "ti,sysc-omap2", "ti,sysc";
|
||||||
ti,hwmods = "elm";
|
|
||||||
reg = <0x78000 0x4>,
|
reg = <0x78000 0x4>,
|
||||||
<0x78010 0x4>,
|
<0x78010 0x4>,
|
||||||
<0x78014 0x4>;
|
<0x78014 0x4>;
|
||||||
|
@ -1842,7 +1834,6 @@
|
||||||
|
|
||||||
target-module@86000 { /* 0x48086000, ap 41 5e.0 */
|
target-module@86000 { /* 0x48086000, ap 41 5e.0 */
|
||||||
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
||||||
ti,hwmods = "timer10";
|
|
||||||
reg = <0x86000 0x4>,
|
reg = <0x86000 0x4>,
|
||||||
<0x86010 0x4>;
|
<0x86010 0x4>;
|
||||||
reg-names = "rev", "sysc";
|
reg-names = "rev", "sysc";
|
||||||
|
@ -1870,7 +1861,6 @@
|
||||||
|
|
||||||
target-module@88000 { /* 0x48088000, ap 43 66.0 */
|
target-module@88000 { /* 0x48088000, ap 43 66.0 */
|
||||||
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
||||||
ti,hwmods = "timer11";
|
|
||||||
reg = <0x88000 0x4>,
|
reg = <0x88000 0x4>,
|
||||||
<0x88010 0x4>;
|
<0x88010 0x4>;
|
||||||
reg-names = "rev", "sysc";
|
reg-names = "rev", "sysc";
|
||||||
|
@ -2044,6 +2034,37 @@
|
||||||
<0x00001000 0x000a5000 0x00001000>;
|
<0x00001000 0x000a5000 0x00001000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
des_target: target-module@a5000 { /* 0x480a5000 */
|
||||||
|
compatible = "ti,sysc-omap2", "ti,sysc";
|
||||||
|
reg = <0xa5030 0x4>,
|
||||||
|
<0xa5034 0x4>,
|
||||||
|
<0xa5038 0x4>;
|
||||||
|
reg-names = "rev", "sysc", "syss";
|
||||||
|
ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET |
|
||||||
|
SYSC_OMAP2_AUTOIDLE)>;
|
||||||
|
ti,sysc-sidle = <SYSC_IDLE_FORCE>,
|
||||||
|
<SYSC_IDLE_NO>,
|
||||||
|
<SYSC_IDLE_SMART>,
|
||||||
|
<SYSC_IDLE_SMART_WKUP>;
|
||||||
|
ti,syss-mask = <1>;
|
||||||
|
/* Domains (P, C): l4per_pwrdm, l4sec_clkdm */
|
||||||
|
clocks = <&l4sec_clkctrl DRA7_L4SEC_DES_CLKCTRL 0>;
|
||||||
|
clock-names = "fck";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
ranges = <0 0xa5000 0x00001000>;
|
||||||
|
|
||||||
|
des: des@0 {
|
||||||
|
compatible = "ti,omap4-des";
|
||||||
|
reg = <0 0xa0>;
|
||||||
|
interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
dmas = <&sdma_xbar 117>, <&sdma_xbar 116>;
|
||||||
|
dma-names = "tx", "rx";
|
||||||
|
clocks = <&l3_iclk_div>;
|
||||||
|
clock-names = "fck";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
target-module@a8000 { /* 0x480a8000, ap 59 1a.0 */
|
target-module@a8000 { /* 0x480a8000, ap 59 1a.0 */
|
||||||
compatible = "ti,sysc";
|
compatible = "ti,sysc";
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
|
@ -2490,7 +2511,6 @@
|
||||||
|
|
||||||
target-module@3e000 { /* 0x4843e000, ap 25 30.0 */
|
target-module@3e000 { /* 0x4843e000, ap 25 30.0 */
|
||||||
compatible = "ti,sysc-omap4", "ti,sysc";
|
compatible = "ti,sysc-omap4", "ti,sysc";
|
||||||
ti,hwmods = "epwmss0";
|
|
||||||
reg = <0x3e000 0x4>,
|
reg = <0x3e000 0x4>,
|
||||||
<0x3e004 0x4>;
|
<0x3e004 0x4>;
|
||||||
reg-names = "rev", "sysc";
|
reg-names = "rev", "sysc";
|
||||||
|
@ -2537,7 +2557,6 @@
|
||||||
|
|
||||||
target-module@40000 { /* 0x48440000, ap 27 38.0 */
|
target-module@40000 { /* 0x48440000, ap 27 38.0 */
|
||||||
compatible = "ti,sysc-omap4", "ti,sysc";
|
compatible = "ti,sysc-omap4", "ti,sysc";
|
||||||
ti,hwmods = "epwmss1";
|
|
||||||
reg = <0x40000 0x4>,
|
reg = <0x40000 0x4>,
|
||||||
<0x40004 0x4>;
|
<0x40004 0x4>;
|
||||||
reg-names = "rev", "sysc";
|
reg-names = "rev", "sysc";
|
||||||
|
@ -2584,7 +2603,6 @@
|
||||||
|
|
||||||
target-module@42000 { /* 0x48442000, ap 29 20.0 */
|
target-module@42000 { /* 0x48442000, ap 29 20.0 */
|
||||||
compatible = "ti,sysc-omap4", "ti,sysc";
|
compatible = "ti,sysc-omap4", "ti,sysc";
|
||||||
ti,hwmods = "epwmss2";
|
|
||||||
reg = <0x42000 0x4>,
|
reg = <0x42000 0x4>,
|
||||||
<0x42004 0x4>;
|
<0x42004 0x4>;
|
||||||
reg-names = "rev", "sysc";
|
reg-names = "rev", "sysc";
|
||||||
|
@ -3326,7 +3344,6 @@
|
||||||
|
|
||||||
target-module@20000 { /* 0x48820000, ap 5 08.0 */
|
target-module@20000 { /* 0x48820000, ap 5 08.0 */
|
||||||
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
||||||
ti,hwmods = "timer5";
|
|
||||||
reg = <0x20000 0x4>,
|
reg = <0x20000 0x4>,
|
||||||
<0x20010 0x4>;
|
<0x20010 0x4>;
|
||||||
reg-names = "rev", "sysc";
|
reg-names = "rev", "sysc";
|
||||||
|
@ -3354,7 +3371,6 @@
|
||||||
|
|
||||||
target-module@22000 { /* 0x48822000, ap 7 24.0 */
|
target-module@22000 { /* 0x48822000, ap 7 24.0 */
|
||||||
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
||||||
ti,hwmods = "timer6";
|
|
||||||
reg = <0x22000 0x4>,
|
reg = <0x22000 0x4>,
|
||||||
<0x22010 0x4>;
|
<0x22010 0x4>;
|
||||||
reg-names = "rev", "sysc";
|
reg-names = "rev", "sysc";
|
||||||
|
@ -3382,7 +3398,6 @@
|
||||||
|
|
||||||
target-module@24000 { /* 0x48824000, ap 9 26.0 */
|
target-module@24000 { /* 0x48824000, ap 9 26.0 */
|
||||||
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
||||||
ti,hwmods = "timer7";
|
|
||||||
reg = <0x24000 0x4>,
|
reg = <0x24000 0x4>,
|
||||||
<0x24010 0x4>;
|
<0x24010 0x4>;
|
||||||
reg-names = "rev", "sysc";
|
reg-names = "rev", "sysc";
|
||||||
|
@ -3410,7 +3425,6 @@
|
||||||
|
|
||||||
target-module@26000 { /* 0x48826000, ap 11 0c.0 */
|
target-module@26000 { /* 0x48826000, ap 11 0c.0 */
|
||||||
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
||||||
ti,hwmods = "timer8";
|
|
||||||
reg = <0x26000 0x4>,
|
reg = <0x26000 0x4>,
|
||||||
<0x26010 0x4>;
|
<0x26010 0x4>;
|
||||||
reg-names = "rev", "sysc";
|
reg-names = "rev", "sysc";
|
||||||
|
@ -3438,7 +3452,6 @@
|
||||||
|
|
||||||
target-module@28000 { /* 0x48828000, ap 13 16.0 */
|
target-module@28000 { /* 0x48828000, ap 13 16.0 */
|
||||||
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
||||||
ti,hwmods = "timer13";
|
|
||||||
reg = <0x28000 0x4>,
|
reg = <0x28000 0x4>,
|
||||||
<0x28010 0x4>;
|
<0x28010 0x4>;
|
||||||
reg-names = "rev", "sysc";
|
reg-names = "rev", "sysc";
|
||||||
|
@ -3466,7 +3479,6 @@
|
||||||
|
|
||||||
target-module@2a000 { /* 0x4882a000, ap 15 10.0 */
|
target-module@2a000 { /* 0x4882a000, ap 15 10.0 */
|
||||||
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
||||||
ti,hwmods = "timer14";
|
|
||||||
reg = <0x2a000 0x4>,
|
reg = <0x2a000 0x4>,
|
||||||
<0x2a010 0x4>;
|
<0x2a010 0x4>;
|
||||||
reg-names = "rev", "sysc";
|
reg-names = "rev", "sysc";
|
||||||
|
@ -3494,7 +3506,6 @@
|
||||||
|
|
||||||
target-module@2c000 { /* 0x4882c000, ap 17 02.0 */
|
target-module@2c000 { /* 0x4882c000, ap 17 02.0 */
|
||||||
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
||||||
ti,hwmods = "timer15";
|
|
||||||
reg = <0x2c000 0x4>,
|
reg = <0x2c000 0x4>,
|
||||||
<0x2c010 0x4>;
|
<0x2c010 0x4>;
|
||||||
reg-names = "rev", "sysc";
|
reg-names = "rev", "sysc";
|
||||||
|
@ -3522,7 +3533,6 @@
|
||||||
|
|
||||||
target-module@2e000 { /* 0x4882e000, ap 19 14.0 */
|
target-module@2e000 { /* 0x4882e000, ap 19 14.0 */
|
||||||
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
||||||
ti,hwmods = "timer16";
|
|
||||||
reg = <0x2e000 0x4>,
|
reg = <0x2e000 0x4>,
|
||||||
<0x2e010 0x4>;
|
<0x2e010 0x4>;
|
||||||
reg-names = "rev", "sysc";
|
reg-names = "rev", "sysc";
|
||||||
|
@ -4422,7 +4432,6 @@
|
||||||
|
|
||||||
target-module@0 { /* 0x4ae20000, ap 19 08.0 */
|
target-module@0 { /* 0x4ae20000, ap 19 08.0 */
|
||||||
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
||||||
ti,hwmods = "timer12";
|
|
||||||
reg = <0x0 0x4>,
|
reg = <0x0 0x4>,
|
||||||
<0x10 0x4>;
|
<0x10 0x4>;
|
||||||
reg-names = "rev", "sysc";
|
reg-names = "rev", "sysc";
|
||||||
|
|
|
@ -377,44 +377,120 @@
|
||||||
ti,hwmods = "dmm";
|
ti,hwmods = "dmm";
|
||||||
};
|
};
|
||||||
|
|
||||||
mmu0_dsp1: mmu@40d01000 {
|
target-module@40d01000 {
|
||||||
compatible = "ti,dra7-dsp-iommu";
|
compatible = "ti,sysc-omap2", "ti,sysc";
|
||||||
reg = <0x40d01000 0x100>;
|
reg = <0x40d01000 0x4>,
|
||||||
interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
|
<0x40d01010 0x4>,
|
||||||
ti,hwmods = "mmu0_dsp1";
|
<0x40d01014 0x4>;
|
||||||
#iommu-cells = <0>;
|
reg-names = "rev", "sysc", "syss";
|
||||||
ti,syscon-mmuconfig = <&dsp1_system 0x0>;
|
ti,sysc-sidle = <SYSC_IDLE_FORCE>,
|
||||||
status = "disabled";
|
<SYSC_IDLE_NO>,
|
||||||
|
<SYSC_IDLE_SMART>;
|
||||||
|
ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
|
||||||
|
SYSC_OMAP2_SOFTRESET |
|
||||||
|
SYSC_OMAP2_AUTOIDLE)>;
|
||||||
|
clocks = <&dsp1_clkctrl DRA7_DSP1_MMU0_DSP1_CLKCTRL 0>;
|
||||||
|
clock-names = "fck";
|
||||||
|
resets = <&prm_dsp1 1>;
|
||||||
|
reset-names = "rstctrl";
|
||||||
|
ranges = <0x0 0x40d01000 0x1000>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
#address-cells = <1>;
|
||||||
|
|
||||||
|
mmu0_dsp1: mmu@0 {
|
||||||
|
compatible = "ti,dra7-dsp-iommu";
|
||||||
|
reg = <0x0 0x100>;
|
||||||
|
interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
#iommu-cells = <0>;
|
||||||
|
ti,syscon-mmuconfig = <&dsp1_system 0x0>;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
mmu1_dsp1: mmu@40d02000 {
|
target-module@40d02000 {
|
||||||
compatible = "ti,dra7-dsp-iommu";
|
compatible = "ti,sysc-omap2", "ti,sysc";
|
||||||
reg = <0x40d02000 0x100>;
|
reg = <0x40d02000 0x4>,
|
||||||
interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
|
<0x40d02010 0x4>,
|
||||||
ti,hwmods = "mmu1_dsp1";
|
<0x40d02014 0x4>;
|
||||||
#iommu-cells = <0>;
|
reg-names = "rev", "sysc", "syss";
|
||||||
ti,syscon-mmuconfig = <&dsp1_system 0x1>;
|
ti,sysc-sidle = <SYSC_IDLE_FORCE>,
|
||||||
status = "disabled";
|
<SYSC_IDLE_NO>,
|
||||||
|
<SYSC_IDLE_SMART>;
|
||||||
|
ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
|
||||||
|
SYSC_OMAP2_SOFTRESET |
|
||||||
|
SYSC_OMAP2_AUTOIDLE)>;
|
||||||
|
clocks = <&dsp1_clkctrl DRA7_DSP1_MMU0_DSP1_CLKCTRL 0>;
|
||||||
|
clock-names = "fck";
|
||||||
|
resets = <&prm_dsp1 1>;
|
||||||
|
reset-names = "rstctrl";
|
||||||
|
ranges = <0x0 0x40d02000 0x1000>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
#address-cells = <1>;
|
||||||
|
|
||||||
|
mmu1_dsp1: mmu@0 {
|
||||||
|
compatible = "ti,dra7-dsp-iommu";
|
||||||
|
reg = <0x0 0x100>;
|
||||||
|
interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
#iommu-cells = <0>;
|
||||||
|
ti,syscon-mmuconfig = <&dsp1_system 0x1>;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
mmu_ipu1: mmu@58882000 {
|
target-module@58882000 {
|
||||||
compatible = "ti,dra7-iommu";
|
compatible = "ti,sysc-omap2", "ti,sysc";
|
||||||
reg = <0x58882000 0x100>;
|
reg = <0x58882000 0x4>,
|
||||||
interrupts = <GIC_SPI 395 IRQ_TYPE_LEVEL_HIGH>;
|
<0x58882010 0x4>,
|
||||||
ti,hwmods = "mmu_ipu1";
|
<0x58882014 0x4>;
|
||||||
#iommu-cells = <0>;
|
reg-names = "rev", "sysc", "syss";
|
||||||
ti,iommu-bus-err-back;
|
ti,sysc-sidle = <SYSC_IDLE_FORCE>,
|
||||||
status = "disabled";
|
<SYSC_IDLE_NO>,
|
||||||
|
<SYSC_IDLE_SMART>;
|
||||||
|
ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
|
||||||
|
SYSC_OMAP2_SOFTRESET |
|
||||||
|
SYSC_OMAP2_AUTOIDLE)>;
|
||||||
|
clocks = <&ipu1_clkctrl DRA7_IPU1_MMU_IPU1_CLKCTRL 0>;
|
||||||
|
clock-names = "fck";
|
||||||
|
resets = <&prm_ipu 2>;
|
||||||
|
reset-names = "rstctrl";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
ranges = <0x0 0x58882000 0x100>;
|
||||||
|
|
||||||
|
mmu_ipu1: mmu@0 {
|
||||||
|
compatible = "ti,dra7-iommu";
|
||||||
|
reg = <0x0 0x100>;
|
||||||
|
interrupts = <GIC_SPI 395 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
#iommu-cells = <0>;
|
||||||
|
ti,iommu-bus-err-back;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
mmu_ipu2: mmu@55082000 {
|
target-module@55082000 {
|
||||||
compatible = "ti,dra7-iommu";
|
compatible = "ti,sysc-omap2", "ti,sysc";
|
||||||
reg = <0x55082000 0x100>;
|
reg = <0x55082000 0x4>,
|
||||||
interrupts = <GIC_SPI 396 IRQ_TYPE_LEVEL_HIGH>;
|
<0x55082010 0x4>,
|
||||||
ti,hwmods = "mmu_ipu2";
|
<0x55082014 0x4>;
|
||||||
#iommu-cells = <0>;
|
reg-names = "rev", "sysc", "syss";
|
||||||
ti,iommu-bus-err-back;
|
ti,sysc-sidle = <SYSC_IDLE_FORCE>,
|
||||||
status = "disabled";
|
<SYSC_IDLE_NO>,
|
||||||
|
<SYSC_IDLE_SMART>;
|
||||||
|
ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
|
||||||
|
SYSC_OMAP2_SOFTRESET |
|
||||||
|
SYSC_OMAP2_AUTOIDLE)>;
|
||||||
|
clocks = <&ipu2_clkctrl DRA7_IPU2_MMU_IPU2_CLKCTRL 0>;
|
||||||
|
clock-names = "fck";
|
||||||
|
resets = <&prm_core 2>;
|
||||||
|
reset-names = "rstctrl";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
ranges = <0x0 0x55082000 0x100>;
|
||||||
|
|
||||||
|
mmu_ipu2: mmu@0 {
|
||||||
|
compatible = "ti,dra7-iommu";
|
||||||
|
reg = <0x0 0x100>;
|
||||||
|
interrupts = <GIC_SPI 396 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
#iommu-cells = <0>;
|
||||||
|
ti,iommu-bus-err-back;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
abb_mpu: regulator-abb-mpu {
|
abb_mpu: regulator-abb-mpu {
|
||||||
|
@ -652,48 +728,96 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
aes1: aes@4b500000 {
|
aes1_target: target-module@4b500000 {
|
||||||
compatible = "ti,omap4-aes";
|
compatible = "ti,sysc-omap2", "ti,sysc";
|
||||||
ti,hwmods = "aes1";
|
reg = <0x4b500080 0x4>,
|
||||||
reg = <0x4b500000 0xa0>;
|
<0x4b500084 0x4>,
|
||||||
interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
|
<0x4b500088 0x4>;
|
||||||
dmas = <&edma_xbar 111 0>, <&edma_xbar 110 0>;
|
reg-names = "rev", "sysc", "syss";
|
||||||
dma-names = "tx", "rx";
|
ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET |
|
||||||
clocks = <&l3_iclk_div>;
|
SYSC_OMAP2_AUTOIDLE)>;
|
||||||
|
ti,sysc-sidle = <SYSC_IDLE_FORCE>,
|
||||||
|
<SYSC_IDLE_NO>,
|
||||||
|
<SYSC_IDLE_SMART>,
|
||||||
|
<SYSC_IDLE_SMART_WKUP>;
|
||||||
|
ti,syss-mask = <1>;
|
||||||
|
/* Domains (P, C): per_pwrdm, l4sec_clkdm */
|
||||||
|
clocks = <&l4sec_clkctrl DRA7_L4SEC_AES1_CLKCTRL 0>;
|
||||||
clock-names = "fck";
|
clock-names = "fck";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
ranges = <0x0 0x4b500000 0x1000>;
|
||||||
|
|
||||||
|
aes1: aes@0 {
|
||||||
|
compatible = "ti,omap4-aes";
|
||||||
|
reg = <0 0xa0>;
|
||||||
|
interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
dmas = <&edma_xbar 111 0>, <&edma_xbar 110 0>;
|
||||||
|
dma-names = "tx", "rx";
|
||||||
|
clocks = <&l3_iclk_div>;
|
||||||
|
clock-names = "fck";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
aes2: aes@4b700000 {
|
aes2_target: target-module@4b700000 {
|
||||||
compatible = "ti,omap4-aes";
|
compatible = "ti,sysc-omap2", "ti,sysc";
|
||||||
ti,hwmods = "aes2";
|
reg = <0x4b700080 0x4>,
|
||||||
reg = <0x4b700000 0xa0>;
|
<0x4b700084 0x4>,
|
||||||
interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
|
<0x4b700088 0x4>;
|
||||||
dmas = <&edma_xbar 114 0>, <&edma_xbar 113 0>;
|
reg-names = "rev", "sysc", "syss";
|
||||||
dma-names = "tx", "rx";
|
ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET |
|
||||||
clocks = <&l3_iclk_div>;
|
SYSC_OMAP2_AUTOIDLE)>;
|
||||||
|
ti,sysc-sidle = <SYSC_IDLE_FORCE>,
|
||||||
|
<SYSC_IDLE_NO>,
|
||||||
|
<SYSC_IDLE_SMART>,
|
||||||
|
<SYSC_IDLE_SMART_WKUP>;
|
||||||
|
ti,syss-mask = <1>;
|
||||||
|
/* Domains (P, C): per_pwrdm, l4sec_clkdm */
|
||||||
|
clocks = <&l4sec_clkctrl DRA7_L4SEC_AES2_CLKCTRL 0>;
|
||||||
clock-names = "fck";
|
clock-names = "fck";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
ranges = <0x0 0x4b700000 0x1000>;
|
||||||
|
|
||||||
|
aes2: aes@0 {
|
||||||
|
compatible = "ti,omap4-aes";
|
||||||
|
reg = <0 0xa0>;
|
||||||
|
interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
dmas = <&edma_xbar 114 0>, <&edma_xbar 113 0>;
|
||||||
|
dma-names = "tx", "rx";
|
||||||
|
clocks = <&l3_iclk_div>;
|
||||||
|
clock-names = "fck";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
des: des@480a5000 {
|
sham_target: target-module@4b101000 {
|
||||||
compatible = "ti,omap4-des";
|
compatible = "ti,sysc-omap3-sham", "ti,sysc";
|
||||||
ti,hwmods = "des";
|
reg = <0x4b101100 0x4>,
|
||||||
reg = <0x480a5000 0xa0>;
|
<0x4b101110 0x4>,
|
||||||
interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
|
<0x4b101114 0x4>;
|
||||||
dmas = <&sdma_xbar 117>, <&sdma_xbar 116>;
|
reg-names = "rev", "sysc", "syss";
|
||||||
dma-names = "tx", "rx";
|
ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET |
|
||||||
clocks = <&l3_iclk_div>;
|
SYSC_OMAP2_AUTOIDLE)>;
|
||||||
|
ti,sysc-sidle = <SYSC_IDLE_FORCE>,
|
||||||
|
<SYSC_IDLE_NO>,
|
||||||
|
<SYSC_IDLE_SMART>;
|
||||||
|
ti,syss-mask = <1>;
|
||||||
|
/* Domains (P, C): l4per_pwrdm, l4sec_clkdm */
|
||||||
|
clocks = <&l4sec_clkctrl DRA7_L4SEC_SHAM_CLKCTRL 0>;
|
||||||
clock-names = "fck";
|
clock-names = "fck";
|
||||||
};
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
ranges = <0x0 0x4b101000 0x1000>;
|
||||||
|
|
||||||
sham: sham@53100000 {
|
sham: sham@0 {
|
||||||
compatible = "ti,omap5-sham";
|
compatible = "ti,omap5-sham";
|
||||||
ti,hwmods = "sham";
|
reg = <0 0x300>;
|
||||||
reg = <0x4b101000 0x300>;
|
interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
|
dmas = <&edma_xbar 119 0>;
|
||||||
dmas = <&edma_xbar 119 0>;
|
dma-names = "rx";
|
||||||
dma-names = "rx";
|
clocks = <&l3_iclk_div>;
|
||||||
clocks = <&l3_iclk_div>;
|
clock-names = "fck";
|
||||||
clock-names = "fck";
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
opp_supply_mpu: opp-supply@4a003b20 {
|
opp_supply_mpu: opp-supply@4a003b20 {
|
||||||
|
|
|
@ -66,24 +66,63 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
mmu0_dsp2: mmu@41501000 {
|
target-module@41501000 {
|
||||||
compatible = "ti,dra7-dsp-iommu";
|
compatible = "ti,sysc-omap2", "ti,sysc";
|
||||||
reg = <0x41501000 0x100>;
|
reg = <0x41501000 0x4>,
|
||||||
interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
|
<0x41501010 0x4>,
|
||||||
ti,hwmods = "mmu0_dsp2";
|
<0x41501014 0x4>;
|
||||||
#iommu-cells = <0>;
|
reg-names = "rev", "sysc", "syss";
|
||||||
ti,syscon-mmuconfig = <&dsp2_system 0x0>;
|
ti,sysc-sidle = <SYSC_IDLE_FORCE>,
|
||||||
status = "disabled";
|
<SYSC_IDLE_NO>,
|
||||||
|
<SYSC_IDLE_SMART>;
|
||||||
|
ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
|
||||||
|
SYSC_OMAP2_SOFTRESET |
|
||||||
|
SYSC_OMAP2_AUTOIDLE)>;
|
||||||
|
clocks = <&dsp2_clkctrl DRA7_DSP2_MMU0_DSP2_CLKCTRL 0>;
|
||||||
|
clock-names = "fck";
|
||||||
|
resets = <&prm_dsp2 1>;
|
||||||
|
reset-names = "rstctrl";
|
||||||
|
ranges = <0x0 0x41501000 0x1000>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
#address-cells = <1>;
|
||||||
|
|
||||||
|
mmu0_dsp2: mmu@0 {
|
||||||
|
compatible = "ti,dra7-dsp-iommu";
|
||||||
|
reg = <0x0 0x100>;
|
||||||
|
interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
#iommu-cells = <0>;
|
||||||
|
ti,syscon-mmuconfig = <&dsp2_system 0x0>;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
mmu1_dsp2: mmu@41502000 {
|
target-module@41502000 {
|
||||||
compatible = "ti,dra7-dsp-iommu";
|
compatible = "ti,sysc-omap2", "ti,sysc";
|
||||||
reg = <0x41502000 0x100>;
|
reg = <0x41502000 0x4>,
|
||||||
interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
|
<0x41502010 0x4>,
|
||||||
ti,hwmods = "mmu1_dsp2";
|
<0x41502014 0x4>;
|
||||||
#iommu-cells = <0>;
|
reg-names = "rev", "sysc", "syss";
|
||||||
ti,syscon-mmuconfig = <&dsp2_system 0x1>;
|
ti,sysc-sidle = <SYSC_IDLE_FORCE>,
|
||||||
status = "disabled";
|
<SYSC_IDLE_NO>,
|
||||||
|
<SYSC_IDLE_SMART>;
|
||||||
|
ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
|
||||||
|
SYSC_OMAP2_SOFTRESET |
|
||||||
|
SYSC_OMAP2_AUTOIDLE)>;
|
||||||
|
|
||||||
|
clocks = <&dsp2_clkctrl DRA7_DSP2_MMU0_DSP2_CLKCTRL 0>;
|
||||||
|
clock-names = "fck";
|
||||||
|
resets = <&prm_dsp2 1>;
|
||||||
|
reset-names = "rstctrl";
|
||||||
|
ranges = <0x0 0x41502000 0x1000>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
#address-cells = <1>;
|
||||||
|
|
||||||
|
mmu1_dsp2: mmu@0 {
|
||||||
|
compatible = "ti,dra7-dsp-iommu";
|
||||||
|
reg = <0x0 0x100>;
|
||||||
|
interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
#iommu-cells = <0>;
|
||||||
|
ti,syscon-mmuconfig = <&dsp2_system 0x1>;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -13,6 +13,13 @@
|
||||||
model = "TI DRA762 EVM";
|
model = "TI DRA762 EVM";
|
||||||
compatible = "ti,dra76-evm", "ti,dra762", "ti,dra7";
|
compatible = "ti,dra76-evm", "ti,dra762", "ti,dra7";
|
||||||
|
|
||||||
|
aliases {
|
||||||
|
display0 = &hdmi0;
|
||||||
|
|
||||||
|
sound0 = &sound0;
|
||||||
|
sound1 = &hdmi;
|
||||||
|
};
|
||||||
|
|
||||||
memory@0 {
|
memory@0 {
|
||||||
device_type = "memory";
|
device_type = "memory";
|
||||||
reg = <0x0 0x80000000 0x0 0x80000000>;
|
reg = <0x0 0x80000000 0x0 0x80000000>;
|
||||||
|
@ -116,6 +123,48 @@
|
||||||
regulator-min-microvolt = <1800000>;
|
regulator-min-microvolt = <1800000>;
|
||||||
regulator-max-microvolt = <1800000>;
|
regulator-max-microvolt = <1800000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
hdmi0: connector {
|
||||||
|
compatible = "hdmi-connector";
|
||||||
|
label = "hdmi";
|
||||||
|
|
||||||
|
type = "a";
|
||||||
|
|
||||||
|
port {
|
||||||
|
hdmi_connector_in: endpoint {
|
||||||
|
remote-endpoint = <&tpd12s015_out>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
tpd12s015: encoder {
|
||||||
|
compatible = "ti,tpd12s015";
|
||||||
|
|
||||||
|
gpios = <&gpio7 30 GPIO_ACTIVE_HIGH>, /* gpio7_30, CT CP HPD */
|
||||||
|
<&gpio7 31 GPIO_ACTIVE_HIGH>, /* gpio7_31, LS OE */
|
||||||
|
<&gpio7 12 GPIO_ACTIVE_HIGH>; /* gpio7_12/sp1_cs2, HPD */
|
||||||
|
|
||||||
|
ports {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
port@0 {
|
||||||
|
reg = <0>;
|
||||||
|
|
||||||
|
tpd12s015_in: endpoint {
|
||||||
|
remote-endpoint = <&hdmi_out>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
port@1 {
|
||||||
|
reg = <1>;
|
||||||
|
|
||||||
|
tpd12s015_out: endpoint {
|
||||||
|
remote-endpoint = <&hdmi_connector_in>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
&i2c1 {
|
&i2c1 {
|
||||||
|
@ -411,6 +460,23 @@
|
||||||
phy-supply = <&ldo3_reg>;
|
phy-supply = <&ldo3_reg>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&dss {
|
||||||
|
status = "ok";
|
||||||
|
vdda_video-supply = <&ldo5_reg>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&hdmi {
|
||||||
|
status = "ok";
|
||||||
|
|
||||||
|
vdda-supply = <&ldo1_reg>;
|
||||||
|
|
||||||
|
port {
|
||||||
|
hdmi_out: endpoint {
|
||||||
|
remote-endpoint = <&tpd12s015_in>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
&qspi {
|
&qspi {
|
||||||
spi-max-frequency = <96000000>;
|
spi-max-frequency = <96000000>;
|
||||||
m25p80@0 {
|
m25p80@0 {
|
||||||
|
|
|
@ -48,7 +48,8 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
memory {
|
memory@80000000 {
|
||||||
|
device_type = "memory";
|
||||||
reg = <0x80000000 0x20000000>;
|
reg = <0x80000000 0x20000000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -145,12 +145,12 @@
|
||||||
#size-cells = <1>;
|
#size-cells = <1>;
|
||||||
ranges = <0 0x02020000 0x40000>;
|
ranges = <0 0x02020000 0x40000>;
|
||||||
|
|
||||||
smp-sysram@0 {
|
smp-sram@0 {
|
||||||
compatible = "samsung,exynos4210-sysram";
|
compatible = "samsung,exynos4210-sysram";
|
||||||
reg = <0x0 0x1000>;
|
reg = <0x0 0x1000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
smp-sysram@3f000 {
|
smp-sram@3f000 {
|
||||||
compatible = "samsung,exynos4210-sysram-ns";
|
compatible = "samsung,exynos4210-sysram-ns";
|
||||||
reg = <0x3f000 0x1000>;
|
reg = <0x3f000 0x1000>;
|
||||||
};
|
};
|
||||||
|
|
|
@ -590,16 +590,16 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
&sysram {
|
&sysram {
|
||||||
smp-sysram@0 {
|
smp-sram@0 {
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
smp-sysram@5000 {
|
smp-sram@5000 {
|
||||||
compatible = "samsung,exynos4210-sysram";
|
compatible = "samsung,exynos4210-sysram";
|
||||||
reg = <0x5000 0x1000>;
|
reg = <0x5000 0x1000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
smp-sysram@1f000 {
|
smp-sram@1f000 {
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -79,12 +79,12 @@
|
||||||
#size-cells = <1>;
|
#size-cells = <1>;
|
||||||
ranges = <0 0x02020000 0x20000>;
|
ranges = <0 0x02020000 0x20000>;
|
||||||
|
|
||||||
smp-sysram@0 {
|
smp-sram@0 {
|
||||||
compatible = "samsung,exynos4210-sysram";
|
compatible = "samsung,exynos4210-sysram";
|
||||||
reg = <0x0 0x1000>;
|
reg = <0x0 0x1000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
smp-sysram@1f000 {
|
smp-sram@1f000 {
|
||||||
compatible = "samsung,exynos4210-sysram-ns";
|
compatible = "samsung,exynos4210-sysram-ns";
|
||||||
reg = <0x1f000 0x1000>;
|
reg = <0x1f000 0x1000>;
|
||||||
};
|
};
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue