mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-25 05:04:09 +08:00
ARM: Devicetree material for 5.14
Like always, the DT branch is sizable. There are numerous additions and fixes to existing platforms, but also a handful of new ones introduced. Less than some other releases, but there's been significant work on cleanups, refactorings and device enabling on existing platforms. A non-exhaustive list of new material: - Refactoring of BCM2711 dtsi structure to add support for the Raspberry Pi 400 - Rockchip: RK3568 SoC and EVB, video codecs for rk3036/3066/3188/322x - Qualcomm: SA8155p Automotive platform (SM8150 derivative), SM8150/8250 enhancements and support for Sony Xperia 1/1II and 5/5II - TI K3: PCI/USB3 support on AM64-sk boards, R5 remoteproc definitions - TI OMAP: Various cleanups - Tegra: Audio support for Jetson Xavier NX, SMMU support on Tegra194 - Qualcomm: lots of additions for peripherals across several SoCs, and new support for Microsoft Surface Duo (SM8150-based), Huawei Ascend G7. - i.MX: Numerous additions of features across SoCs and boards. - Allwinner: More device bindings for V3s, Forlinx OKA40i-C and NanoPi R1S H5 boards - MediaTek: More device bindings for mt8167, new Chromebook system variants for mt8183 - Renesas: RZ/G2L SoC and EVK added - Amlogic: BananaPi BPI-M5 board added -----BEGIN PGP SIGNATURE----- iQJDBAABCgAtFiEElf+HevZ4QCAJmMQ+jBrnPN6EHHcFAmDopIQPHG9sb2ZAbGl4 b20ubmV0AAoJEIwa5zzehBx3j28P/Rgodomz/V8BHMKUdJQtMHGBxgzNwSJIZGsD 9pmzJumPinqsTd+w/mJdgYjJd4YIveQWrnOt7TxxqBMxlv8J3Z7RAvsfkQ+Xisnt XcXznVeibky/pRi0cumxC1KhI2Us1sqxe9bP3Jeq9yYxgERfth4xQdZH3gnPwb6c HmBh7dhyWk76KoBhgOme1zRB+o0jaLyFQgGJUp02WVryzG4tvWKXISs+IAq7rOTx W0GNa6bjl2dlB7bWIMpi8Pbwnr1G+g4ZEeCjUv/ob8sc1I/2Smp9VOoEoHEp72zg f2rOAjzsWgoUBcl8+9gB9LJPlgfnGLH9NM1Mgn2bU0v9q+Ojjvy+fQrEu4HLjlRj 2c529vA6azubpCPVj3na76E6dOBXCRGBT6BK7XpFOwd991J+cLcl2y/eC0p6kHP2 FoNkF5nSBhc6ANorJBDQ3gn6pFESof9Ka5kOFL1znQLNR03O6LKPzOIVbJrdijrp GRgvxuyZ7+Wre8WQHy5UZD6pGSFYTLC+usoX4WNHP6dM/jfUoWCaLfnwTCZaHh48 DLIrveSfTOD5Lg11+vyZf4Rdtbk73LHc98O+0MKQOeURGD1l5AuQ/ZA4Dc3GgWtX aJOMxoI1bvHfSHmjz/uS+YAeycty37njXzGv6JQC//M2P/zyofsLxzstBLWcfvY2 9tsEGo6E =X6PF -----END PGP SIGNATURE----- Merge tag 'arm-dt-5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc Pull ARM devicetree updates from Olof Johansson: "Like always, the DT branch is sizable. There are numerous additions and fixes to existing platforms, but also a handful of new ones introduced. Less than some other releases, but there's been significant work on cleanups, refactorings and device enabling on existing platforms. A non-exhaustive list of new material: - Refactoring of BCM2711 dtsi structure to add support for the Raspberry Pi 400 - Rockchip: RK3568 SoC and EVB, video codecs for rk3036/3066/3188/322x - Qualcomm: SA8155p Automotive platform (SM8150 derivative), SM8150/8250 enhancements and support for Sony Xperia 1/1II and 5/5II - TI K3: PCI/USB3 support on AM64-sk boards, R5 remoteproc definitions - TI OMAP: Various cleanups - Tegra: Audio support for Jetson Xavier NX, SMMU support on Tegra194 - Qualcomm: lots of additions for peripherals across several SoCs, and new support for Microsoft Surface Duo (SM8150-based), Huawei Ascend G7. - i.MX: Numerous additions of features across SoCs and boards. - Allwinner: More device bindings for V3s, Forlinx OKA40i-C and NanoPi R1S H5 boards - MediaTek: More device bindings for mt8167, new Chromebook system variants for mt8183 - Renesas: RZ/G2L SoC and EVK added - Amlogic: BananaPi BPI-M5 board added" * tag 'arm-dt-5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (511 commits) arm64: dts: rockchip: add basic dts for RK3568 EVB arm64: dts: rockchip: add core dtsi for RK3568 SoC arm64: dts: rockchip: add generic pinconfig settings used by most Rockchip socs ARM: dts: rockchip: add vpu and vdec node for RK322x ARM: dts: rockchip: add vpu nodes for RK3066 and RK3188 ARM: dts: rockchip: add vpu node for RK3036 arm64: dts: ipq8074: Add QUP6 I2C node arm64: dts: rockchip: Re-add regulator-always-on for vcc_sdio for rk3399-roc-pc arm64: dts: rockchip: Re-add regulator-boot-on, regulator-always-on for vdd_gpu on rk3399-roc-pc arm64: dts: rockchip: add ir-receiver for rk3399-roc-pc arm64: dts: rockchip: Add USB-C port details for rk3399 Firefly arm64: dts: rockchip: Sort rk3399 firefly pinmux entries arm64: dts: rockchip: add infrared receiver node to RK3399 Firefly arm64: dts: rockchip: add SPDIF node for rk3399-firefly arm64: dts: rockchip: Add Rotation Property for OGA Panel arm64: dts: qcom: sc7180: bus votes for eMMC and SD card arm64: dts: qcom: sm8250-edo: Add Samsung touchscreen arm64: dts: qcom: sm8250-edo: Enable GPI DMA arm64: dts: qcom: sm8250-edo: Enable ADSP/CDSP/SLPI arm64: dts: qcom: sm8250-edo: Enable PCIe ...
This commit is contained in:
commit
e083bbd604
@ -167,6 +167,7 @@ properties:
|
||||
- description: Boards with the Amlogic Meson SM1 S905X3/D3/Y3 SoC
|
||||
items:
|
||||
- enum:
|
||||
- bananapi,bpi-m5
|
||||
- hardkernel,odroid-c4
|
||||
- hardkernel,odroid-hc4
|
||||
- khadas,vim3l
|
||||
|
@ -18,6 +18,7 @@ properties:
|
||||
- description: BCM2711 based Boards
|
||||
items:
|
||||
- enum:
|
||||
- raspberrypi,400
|
||||
- raspberrypi,4-model-b
|
||||
- const: brcm,bcm2711
|
||||
|
||||
|
@ -197,6 +197,7 @@ properties:
|
||||
- boundary,imx6q-nitrogen6x
|
||||
- compulab,cm-fx6 # CompuLab CM-FX6
|
||||
- dmo,imx6q-edmqmx6 # Data Modul eDM-QMX6 Board
|
||||
- ds,imx6q-sbc # Da Sheng COM-9XX Modules
|
||||
- embest,imx6q-marsboard # Embest MarS Board i.MX6Dual
|
||||
- emtrion,emcon-mx6 # emCON-MX6D or emCON-MX6Q SoM
|
||||
- emtrion,emcon-mx6-avari # emCON-MX6D or emCON-MX6Q SoM on Avari Base
|
||||
@ -400,6 +401,17 @@ properties:
|
||||
- const: armadeus,imx6dl-apf6 # APF6 (Solo) SoM
|
||||
- const: fsl,imx6dl
|
||||
|
||||
- description: i.MX6DL based congatec QMX6 Boards
|
||||
items:
|
||||
- enum:
|
||||
- ge,imx6dl-b105v2 # General Electric B105v2
|
||||
- ge,imx6dl-b105pv2 # General Electric B105Pv2
|
||||
- ge,imx6dl-b125v2 # General Electric B125v2
|
||||
- ge,imx6dl-b125pv2 # General Electric B125Pv2
|
||||
- ge,imx6dl-b155v2 # General Electric B155v2
|
||||
- const: congatec,qmx6
|
||||
- const: fsl,imx6dl
|
||||
|
||||
- description: i.MX6DL based DFI FS700-M60-6DL Board
|
||||
items:
|
||||
- const: dfi,fs700-m60-6dl
|
||||
@ -685,6 +697,7 @@ properties:
|
||||
- gw,imx8mm-gw71xx-0x # i.MX8MM Gateworks Development Kit
|
||||
- gw,imx8mm-gw72xx-0x # i.MX8MM Gateworks Development Kit
|
||||
- gw,imx8mm-gw73xx-0x # i.MX8MM Gateworks Development Kit
|
||||
- gw,imx8mm-gw7901 # i.MX8MM Gateworks Board
|
||||
- kontron,imx8mm-n801x-som # i.MX8MM Kontron SL (N801X) SOM
|
||||
- variscite,var-som-mx8mm # i.MX8MM Variscite VAR-SOM-MX8MM module
|
||||
- const: fsl,imx8mm
|
||||
|
@ -17,6 +17,7 @@ properties:
|
||||
- items:
|
||||
- enum:
|
||||
- linksys,nslu2
|
||||
- welltech,epbx100
|
||||
- const: intel,ixp42x
|
||||
- items:
|
||||
- enum:
|
||||
|
@ -122,6 +122,10 @@ properties:
|
||||
- enum:
|
||||
- mediatek,mt8195-evb
|
||||
- const: mediatek,mt8195
|
||||
- description: Google Burnet (HP Chromebook x360 11MK G3 EE)
|
||||
items:
|
||||
- const: google,burnet
|
||||
- const: mediatek,mt8183
|
||||
- description: Google Krane (Lenovo IdeaPad Duet, 10e,...)
|
||||
items:
|
||||
- enum:
|
||||
@ -133,9 +137,19 @@ properties:
|
||||
items:
|
||||
- const: google,damu
|
||||
- const: mediatek,mt8183
|
||||
- description: Google Juniper (Acer Chromebook Spin 311)
|
||||
- description: Google Fennel (Lenovo IdeaPad 3 Chromebook)
|
||||
items:
|
||||
- const: google,juniper-sku16
|
||||
- enum:
|
||||
- google,fennel-sku0
|
||||
- google,fennel-sku1
|
||||
- google,fennel-sku6
|
||||
- const: google,fennel
|
||||
- const: mediatek,mt8183
|
||||
- description: Google Juniper (Acer Chromebook Spin 311) / Kenzo (Acer Chromebook 311)
|
||||
items:
|
||||
- enum:
|
||||
- google,juniper-sku16
|
||||
- google,juniper-sku17
|
||||
- const: google,juniper
|
||||
- const: mediatek,mt8183
|
||||
- description: Google Kakadu (ASUS Chromebook Detachable CM3)
|
||||
@ -144,6 +158,10 @@ properties:
|
||||
- const: google,kakadu-rev2
|
||||
- const: google,kakadu
|
||||
- const: mediatek,mt8183
|
||||
- description: Google Kappa (HP Chromebook 11a)
|
||||
items:
|
||||
- const: google,kappa
|
||||
- const: mediatek,mt8183
|
||||
- description: Google Kodama (Lenovo 10e Chromebook Tablet)
|
||||
items:
|
||||
- enum:
|
||||
@ -153,6 +171,13 @@ properties:
|
||||
- google,kodama-sku32
|
||||
- const: google,kodama
|
||||
- const: mediatek,mt8183
|
||||
- description: Google Willow (Acer Chromebook 311 C722/C722T)
|
||||
items:
|
||||
- enum:
|
||||
- google,willow-sku0
|
||||
- google,willow-sku1
|
||||
- const: google,willow
|
||||
- const: mediatek,mt8183
|
||||
- items:
|
||||
- enum:
|
||||
- mediatek,mt8183-pumpkin
|
||||
|
@ -36,17 +36,20 @@ description: |
|
||||
msm8992
|
||||
msm8994
|
||||
msm8996
|
||||
sa8155p
|
||||
sc7180
|
||||
sc7280
|
||||
sdm630
|
||||
sdm660
|
||||
sdm845
|
||||
sdx55
|
||||
sm8150
|
||||
sm8250
|
||||
sm8350
|
||||
|
||||
The 'board' element must be one of the following strings:
|
||||
|
||||
adp
|
||||
cdp
|
||||
cp01-c1
|
||||
dragonboard
|
||||
@ -178,6 +181,7 @@ properties:
|
||||
- items:
|
||||
- enum:
|
||||
- qcom,sc7280-idp
|
||||
- google,senor
|
||||
- const: qcom,sc7280
|
||||
|
||||
- items:
|
||||
@ -198,6 +202,16 @@ properties:
|
||||
- qcom,ipq6018-cp01-c1
|
||||
- const: qcom,ipq6018
|
||||
|
||||
- items:
|
||||
- enum:
|
||||
- qcom,sa8155p-adp
|
||||
- const: qcom,sa8155p
|
||||
|
||||
- items:
|
||||
- enum:
|
||||
- qcom,sm8150-mtp
|
||||
- const: qcom,sm8150
|
||||
|
||||
- items:
|
||||
- enum:
|
||||
- qcom,qrb5165-rb5
|
||||
|
@ -302,6 +302,24 @@ properties:
|
||||
- renesas,rzn1d400-db # RZN1D-DB (RZ/N1D Demo Board for the RZ/N1D 400 pins package)
|
||||
- const: renesas,r9a06g032
|
||||
|
||||
- description: RZ/G2UL (R9A07G043)
|
||||
items:
|
||||
- enum:
|
||||
- renesas,r9a07g043u11 # RZ/G2UL Type-1
|
||||
- renesas,r9a07g043u12 # RZ/G2UL Type-2
|
||||
- const: renesas,r9a07g043
|
||||
|
||||
- description: RZ/G2{L,LC} (R9A07G044)
|
||||
items:
|
||||
- enum:
|
||||
- renesas,smarc-evk # SMARC EVK
|
||||
- enum:
|
||||
- renesas,r9a07g044c1 # Single Cortex-A55 RZ/G2LC
|
||||
- renesas,r9a07g044c2 # Dual Cortex-A55 RZ/G2LC
|
||||
- renesas,r9a07g044l1 # Single Cortex-A55 RZ/G2L
|
||||
- renesas,r9a07g044l2 # Dual Cortex-A55 RZ/G2L
|
||||
- const: renesas,r9a07g044
|
||||
|
||||
additionalProperties: true
|
||||
|
||||
...
|
||||
|
@ -600,6 +600,11 @@ properties:
|
||||
- const: zkmagic,a95x-z2
|
||||
- const: rockchip,rk3318
|
||||
|
||||
- description: Rockchip RK3568 Evaluation board
|
||||
items:
|
||||
- const: rockchip,rk3568-evb1-v10
|
||||
- const: rockchip,rk3568
|
||||
|
||||
additionalProperties: true
|
||||
|
||||
...
|
||||
|
@ -224,6 +224,12 @@ properties:
|
||||
- const: empire-electronix,m712
|
||||
- const: allwinner,sun5i-a13
|
||||
|
||||
- description: Forlinx OKA40i-C Development board
|
||||
items:
|
||||
- const: forlinx,oka40i-c
|
||||
- const: forlinx,feta40i-c
|
||||
- const: allwinner,sun8i-r40
|
||||
|
||||
- description: FriendlyARM NanoPi A64
|
||||
items:
|
||||
- const: friendlyarm,nanopi-a64
|
||||
@ -269,6 +275,11 @@ properties:
|
||||
- const: friendlyarm,nanopi-r1
|
||||
- const: allwinner,sun8i-h3
|
||||
|
||||
- description: FriendlyARM NanoPi R1S H5
|
||||
items:
|
||||
- const: friendlyarm,nanopi-r1s-h5
|
||||
- const: allwinner,sun50i-h5
|
||||
|
||||
- description: FriendlyARM ZeroPi
|
||||
items:
|
||||
- const: friendlyarm,zeropi
|
||||
|
@ -301,6 +301,33 @@ patternProperties:
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
core-domain:
|
||||
type: object
|
||||
description: |
|
||||
The vast majority of hardware blocks of Tegra SoC belong to a
|
||||
Core power domain, which has a dedicated voltage rail that powers
|
||||
the blocks.
|
||||
|
||||
properties:
|
||||
operating-points-v2:
|
||||
description:
|
||||
Should contain level, voltages and opp-supported-hw property.
|
||||
The supported-hw is a bitfield indicating SoC speedo or process
|
||||
ID mask.
|
||||
|
||||
"#power-domain-cells":
|
||||
const: 0
|
||||
|
||||
required:
|
||||
- operating-points-v2
|
||||
- "#power-domain-cells"
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
core-supply:
|
||||
description:
|
||||
Phandle to voltage regulator connected to the SoC Core power rail.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
@ -325,6 +352,7 @@ examples:
|
||||
tegra_pmc: pmc@7000e400 {
|
||||
compatible = "nvidia,tegra210-pmc";
|
||||
reg = <0x7000e400 0x400>;
|
||||
core-supply = <®ulator>;
|
||||
clocks = <&tegra_car TEGRA210_CLK_PCLK>, <&clk32k_in>;
|
||||
clock-names = "pclk", "clk32k_in";
|
||||
#clock-cells = <1>;
|
||||
@ -338,17 +366,24 @@ examples:
|
||||
nvidia,core-power-req-active-high;
|
||||
nvidia,sys-clock-req-active-high;
|
||||
|
||||
pd_core: core-domain {
|
||||
operating-points-v2 = <&core_opp_table>;
|
||||
#power-domain-cells = <0>;
|
||||
};
|
||||
|
||||
powergates {
|
||||
pd_audio: aud {
|
||||
clocks = <&tegra_car TEGRA210_CLK_APE>,
|
||||
<&tegra_car TEGRA210_CLK_APB2APE>;
|
||||
resets = <&tegra_car 198>;
|
||||
power-domains = <&pd_core>;
|
||||
#power-domain-cells = <0>;
|
||||
};
|
||||
|
||||
pd_xusbss: xusba {
|
||||
clocks = <&tegra_car TEGRA210_CLK_XUSB_SS>;
|
||||
resets = <&tegra_car TEGRA210_CLK_XUSB_SS>;
|
||||
power-domains = <&pd_core>;
|
||||
#power-domain-cells = <0>;
|
||||
};
|
||||
};
|
||||
|
@ -1,313 +0,0 @@
|
||||
Broadcom iProc Family Clocks
|
||||
|
||||
This binding uses the common clock binding:
|
||||
Documentation/devicetree/bindings/clock/clock-bindings.txt
|
||||
|
||||
The iProc clock controller manages clocks that are common to the iProc family.
|
||||
An SoC from the iProc family may have several PPLs, e.g., ARMPLL, GENPLL,
|
||||
LCPLL0, MIPIPLL, and etc., all derived from an onboard crystal. Each PLL
|
||||
comprises of several leaf clocks
|
||||
|
||||
Required properties for a PLL and its leaf clocks:
|
||||
|
||||
- compatible:
|
||||
Should have a value of the form "brcm,<soc>-<pll>". For example, GENPLL on
|
||||
Cygnus has a compatible string of "brcm,cygnus-genpll"
|
||||
|
||||
- #clock-cells:
|
||||
Have a value of <1> since there are more than 1 leaf clock of a given PLL
|
||||
|
||||
- reg:
|
||||
Define the base and range of the I/O address space that contain the iProc
|
||||
clock control registers required for the PLL
|
||||
|
||||
- clocks:
|
||||
The input parent clock phandle for the PLL. For most iProc PLLs, this is an
|
||||
onboard crystal with a fixed rate
|
||||
|
||||
- clock-output-names:
|
||||
An ordered list of strings defining the names of the clocks
|
||||
|
||||
Example:
|
||||
|
||||
osc: oscillator {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <25000000>;
|
||||
};
|
||||
|
||||
genpll: genpll {
|
||||
#clock-cells = <1>;
|
||||
compatible = "brcm,cygnus-genpll";
|
||||
reg = <0x0301d000 0x2c>, <0x0301c020 0x4>;
|
||||
clocks = <&osc>;
|
||||
clock-output-names = "genpll", "axi21", "250mhz", "ihost_sys",
|
||||
"enet_sw", "audio_125", "can";
|
||||
};
|
||||
|
||||
Required properties for ASIU clocks:
|
||||
|
||||
ASIU clocks are a special case. These clocks are derived directly from the
|
||||
reference clock of the onboard crystal
|
||||
|
||||
- compatible:
|
||||
Should have a value of the form "brcm,<soc>-asiu-clk". For example, ASIU
|
||||
clocks for Cygnus have a compatible string of "brcm,cygnus-asiu-clk"
|
||||
|
||||
- #clock-cells:
|
||||
Have a value of <1> since there are more than 1 ASIU clocks
|
||||
|
||||
- reg:
|
||||
Define the base and range of the I/O address space that contain the iProc
|
||||
clock control registers required for ASIU clocks
|
||||
|
||||
- clocks:
|
||||
The input parent clock phandle for the ASIU clock, i.e., the onboard
|
||||
crystal
|
||||
|
||||
- clock-output-names:
|
||||
An ordered list of strings defining the names of the ASIU clocks
|
||||
|
||||
Example:
|
||||
|
||||
osc: oscillator {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <25000000>;
|
||||
};
|
||||
|
||||
asiu_clks: asiu_clks {
|
||||
#clock-cells = <1>;
|
||||
compatible = "brcm,cygnus-asiu-clk";
|
||||
reg = <0x0301d048 0xc>, <0x180aa024 0x4>;
|
||||
clocks = <&osc>;
|
||||
clock-output-names = "keypad", "adc/touch", "pwm";
|
||||
};
|
||||
|
||||
Cygnus
|
||||
------
|
||||
PLL and leaf clock compatible strings for Cygnus are:
|
||||
"brcm,cygnus-armpll"
|
||||
"brcm,cygnus-genpll"
|
||||
"brcm,cygnus-lcpll0"
|
||||
"brcm,cygnus-mipipll"
|
||||
"brcm,cygnus-asiu-clk"
|
||||
"brcm,cygnus-audiopll"
|
||||
|
||||
The following table defines the set of PLL/clock index and ID for Cygnus.
|
||||
These clock IDs are defined in:
|
||||
"include/dt-bindings/clock/bcm-cygnus.h"
|
||||
|
||||
Clock Source (Parent) Index ID
|
||||
--- ----- ----- ---------
|
||||
crystal N/A N/A N/A
|
||||
|
||||
armpll crystal N/A N/A
|
||||
|
||||
keypad crystal (ASIU) 0 BCM_CYGNUS_ASIU_KEYPAD_CLK
|
||||
adc/tsc crystal (ASIU) 1 BCM_CYGNUS_ASIU_ADC_CLK
|
||||
pwm crystal (ASIU) 2 BCM_CYGNUS_ASIU_PWM_CLK
|
||||
|
||||
genpll crystal 0 BCM_CYGNUS_GENPLL
|
||||
axi21 genpll 1 BCM_CYGNUS_GENPLL_AXI21_CLK
|
||||
250mhz genpll 2 BCM_CYGNUS_GENPLL_250MHZ_CLK
|
||||
ihost_sys genpll 3 BCM_CYGNUS_GENPLL_IHOST_SYS_CLK
|
||||
enet_sw genpll 4 BCM_CYGNUS_GENPLL_ENET_SW_CLK
|
||||
audio_125 genpll 5 BCM_CYGNUS_GENPLL_AUDIO_125_CLK
|
||||
can genpll 6 BCM_CYGNUS_GENPLL_CAN_CLK
|
||||
|
||||
lcpll0 crystal 0 BCM_CYGNUS_LCPLL0
|
||||
pcie_phy lcpll0 1 BCM_CYGNUS_LCPLL0_PCIE_PHY_REF_CLK
|
||||
ddr_phy lcpll0 2 BCM_CYGNUS_LCPLL0_DDR_PHY_CLK
|
||||
sdio lcpll0 3 BCM_CYGNUS_LCPLL0_SDIO_CLK
|
||||
usb_phy lcpll0 4 BCM_CYGNUS_LCPLL0_USB_PHY_REF_CLK
|
||||
smart_card lcpll0 5 BCM_CYGNUS_LCPLL0_SMART_CARD_CLK
|
||||
ch5_unused lcpll0 6 BCM_CYGNUS_LCPLL0_CH5_UNUSED
|
||||
|
||||
mipipll crystal 0 BCM_CYGNUS_MIPIPLL
|
||||
ch0_unused mipipll 1 BCM_CYGNUS_MIPIPLL_CH0_UNUSED
|
||||
ch1_lcd mipipll 2 BCM_CYGNUS_MIPIPLL_CH1_LCD
|
||||
ch2_v3d mipipll 3 BCM_CYGNUS_MIPIPLL_CH2_V3D
|
||||
ch3_unused mipipll 4 BCM_CYGNUS_MIPIPLL_CH3_UNUSED
|
||||
ch4_unused mipipll 5 BCM_CYGNUS_MIPIPLL_CH4_UNUSED
|
||||
ch5_unused mipipll 6 BCM_CYGNUS_MIPIPLL_CH5_UNUSED
|
||||
|
||||
audiopll crystal 0 BCM_CYGNUS_AUDIOPLL
|
||||
ch0_audio audiopll 1 BCM_CYGNUS_AUDIOPLL_CH0
|
||||
ch1_audio audiopll 2 BCM_CYGNUS_AUDIOPLL_CH1
|
||||
ch2_audio audiopll 3 BCM_CYGNUS_AUDIOPLL_CH2
|
||||
|
||||
Hurricane 2
|
||||
------
|
||||
PLL and leaf clock compatible strings for Hurricane 2 are:
|
||||
"brcm,hr2-armpll"
|
||||
|
||||
The following table defines the set of PLL/clock for Hurricane 2:
|
||||
|
||||
Clock Source Index ID
|
||||
--- ----- ----- ---------
|
||||
crystal N/A N/A N/A
|
||||
|
||||
armpll crystal N/A N/A
|
||||
|
||||
|
||||
Northstar and Northstar Plus
|
||||
------
|
||||
PLL and leaf clock compatible strings for Northstar and Northstar Plus are:
|
||||
"brcm,nsp-armpll"
|
||||
"brcm,nsp-genpll"
|
||||
"brcm,nsp-lcpll0"
|
||||
|
||||
The following table defines the set of PLL/clock index and ID for Northstar and
|
||||
Northstar Plus. These clock IDs are defined in:
|
||||
"include/dt-bindings/clock/bcm-nsp.h"
|
||||
|
||||
Clock Source Index ID
|
||||
--- ----- ----- ---------
|
||||
crystal N/A N/A N/A
|
||||
|
||||
armpll crystal N/A N/A
|
||||
|
||||
genpll crystal 0 BCM_NSP_GENPLL
|
||||
phy genpll 1 BCM_NSP_GENPLL_PHY_CLK
|
||||
ethernetclk genpll 2 BCM_NSP_GENPLL_ENET_SW_CLK
|
||||
usbclk genpll 3 BCM_NSP_GENPLL_USB_PHY_REF_CLK
|
||||
iprocfast genpll 4 BCM_NSP_GENPLL_IPROCFAST_CLK
|
||||
sata1 genpll 5 BCM_NSP_GENPLL_SATA1_CLK
|
||||
sata2 genpll 6 BCM_NSP_GENPLL_SATA2_CLK
|
||||
|
||||
lcpll0 crystal 0 BCM_NSP_LCPLL0
|
||||
pcie_phy lcpll0 1 BCM_NSP_LCPLL0_PCIE_PHY_REF_CLK
|
||||
sdio lcpll0 2 BCM_NSP_LCPLL0_SDIO_CLK
|
||||
ddr_phy lcpll0 3 BCM_NSP_LCPLL0_DDR_PHY_CLK
|
||||
|
||||
Northstar 2
|
||||
-----------
|
||||
PLL and leaf clock compatible strings for Northstar 2 are:
|
||||
"brcm,ns2-genpll-scr"
|
||||
"brcm,ns2-genpll-sw"
|
||||
"brcm,ns2-lcpll-ddr"
|
||||
"brcm,ns2-lcpll-ports"
|
||||
|
||||
The following table defines the set of PLL/clock index and ID for Northstar 2.
|
||||
These clock IDs are defined in:
|
||||
"include/dt-bindings/clock/bcm-ns2.h"
|
||||
|
||||
Clock Source Index ID
|
||||
--- ----- ----- ---------
|
||||
crystal N/A N/A N/A
|
||||
|
||||
genpll_scr crystal 0 BCM_NS2_GENPLL_SCR
|
||||
scr genpll_scr 1 BCM_NS2_GENPLL_SCR_SCR_CLK
|
||||
fs genpll_scr 2 BCM_NS2_GENPLL_SCR_FS_CLK
|
||||
audio_ref genpll_scr 3 BCM_NS2_GENPLL_SCR_AUDIO_CLK
|
||||
ch3_unused genpll_scr 4 BCM_NS2_GENPLL_SCR_CH3_UNUSED
|
||||
ch4_unused genpll_scr 5 BCM_NS2_GENPLL_SCR_CH4_UNUSED
|
||||
ch5_unused genpll_scr 6 BCM_NS2_GENPLL_SCR_CH5_UNUSED
|
||||
|
||||
genpll_sw crystal 0 BCM_NS2_GENPLL_SW
|
||||
rpe genpll_sw 1 BCM_NS2_GENPLL_SW_RPE_CLK
|
||||
250 genpll_sw 2 BCM_NS2_GENPLL_SW_250_CLK
|
||||
nic genpll_sw 3 BCM_NS2_GENPLL_SW_NIC_CLK
|
||||
chimp genpll_sw 4 BCM_NS2_GENPLL_SW_CHIMP_CLK
|
||||
port genpll_sw 5 BCM_NS2_GENPLL_SW_PORT_CLK
|
||||
sdio genpll_sw 6 BCM_NS2_GENPLL_SW_SDIO_CLK
|
||||
|
||||
lcpll_ddr crystal 0 BCM_NS2_LCPLL_DDR
|
||||
pcie_sata_usb lcpll_ddr 1 BCM_NS2_LCPLL_DDR_PCIE_SATA_USB_CLK
|
||||
ddr lcpll_ddr 2 BCM_NS2_LCPLL_DDR_DDR_CLK
|
||||
ch2_unused lcpll_ddr 3 BCM_NS2_LCPLL_DDR_CH2_UNUSED
|
||||
ch3_unused lcpll_ddr 4 BCM_NS2_LCPLL_DDR_CH3_UNUSED
|
||||
ch4_unused lcpll_ddr 5 BCM_NS2_LCPLL_DDR_CH4_UNUSED
|
||||
ch5_unused lcpll_ddr 6 BCM_NS2_LCPLL_DDR_CH5_UNUSED
|
||||
|
||||
lcpll_ports crystal 0 BCM_NS2_LCPLL_PORTS
|
||||
wan lcpll_ports 1 BCM_NS2_LCPLL_PORTS_WAN_CLK
|
||||
rgmii lcpll_ports 2 BCM_NS2_LCPLL_PORTS_RGMII_CLK
|
||||
ch2_unused lcpll_ports 3 BCM_NS2_LCPLL_PORTS_CH2_UNUSED
|
||||
ch3_unused lcpll_ports 4 BCM_NS2_LCPLL_PORTS_CH3_UNUSED
|
||||
ch4_unused lcpll_ports 5 BCM_NS2_LCPLL_PORTS_CH4_UNUSED
|
||||
ch5_unused lcpll_ports 6 BCM_NS2_LCPLL_PORTS_CH5_UNUSED
|
||||
|
||||
BCM63138
|
||||
--------
|
||||
PLL and leaf clock compatible strings for BCM63138 are:
|
||||
"brcm,bcm63138-armpll"
|
||||
|
||||
Stingray
|
||||
-----------
|
||||
PLL and leaf clock compatible strings for Stingray are:
|
||||
"brcm,sr-genpll0"
|
||||
"brcm,sr-genpll1"
|
||||
"brcm,sr-genpll2"
|
||||
"brcm,sr-genpll3"
|
||||
"brcm,sr-genpll4"
|
||||
"brcm,sr-genpll5"
|
||||
"brcm,sr-genpll6"
|
||||
|
||||
"brcm,sr-lcpll0"
|
||||
"brcm,sr-lcpll1"
|
||||
"brcm,sr-lcpll-pcie"
|
||||
|
||||
|
||||
The following table defines the set of PLL/clock index and ID for Stingray.
|
||||
These clock IDs are defined in:
|
||||
"include/dt-bindings/clock/bcm-sr.h"
|
||||
|
||||
Clock Source Index ID
|
||||
--- ----- ----- ---------
|
||||
crystal N/A N/A N/A
|
||||
crmu_ref25m crystal N/A N/A
|
||||
|
||||
genpll0 crystal 0 BCM_SR_GENPLL0
|
||||
clk_125m genpll0 1 BCM_SR_GENPLL0_125M_CLK
|
||||
clk_scr genpll0 2 BCM_SR_GENPLL0_SCR_CLK
|
||||
clk_250 genpll0 3 BCM_SR_GENPLL0_250M_CLK
|
||||
clk_pcie_axi genpll0 4 BCM_SR_GENPLL0_PCIE_AXI_CLK
|
||||
clk_paxc_axi_x2 genpll0 5 BCM_SR_GENPLL0_PAXC_AXI_X2_CLK
|
||||
clk_paxc_axi genpll0 6 BCM_SR_GENPLL0_PAXC_AXI_CLK
|
||||
|
||||
genpll1 crystal 0 BCM_SR_GENPLL1
|
||||
clk_pcie_tl genpll1 1 BCM_SR_GENPLL1_PCIE_TL_CLK
|
||||
clk_mhb_apb genpll1 2 BCM_SR_GENPLL1_MHB_APB_CLK
|
||||
|
||||
genpll2 crystal 0 BCM_SR_GENPLL2
|
||||
clk_nic genpll2 1 BCM_SR_GENPLL2_NIC_CLK
|
||||
clk_ts_500_ref genpll2 2 BCM_SR_GENPLL2_TS_500_REF_CLK
|
||||
clk_125_nitro genpll2 3 BCM_SR_GENPLL2_125_NITRO_CLK
|
||||
clk_chimp genpll2 4 BCM_SR_GENPLL2_CHIMP_CLK
|
||||
clk_nic_flash genpll2 5 BCM_SR_GENPLL2_NIC_FLASH_CLK
|
||||
clk_fs genpll2 6 BCM_SR_GENPLL2_FS_CLK
|
||||
|
||||
genpll3 crystal 0 BCM_SR_GENPLL3
|
||||
clk_hsls genpll3 1 BCM_SR_GENPLL3_HSLS_CLK
|
||||
clk_sdio genpll3 2 BCM_SR_GENPLL3_SDIO_CLK
|
||||
|
||||
genpll4 crystal 0 BCM_SR_GENPLL4
|
||||
clk_ccn genpll4 1 BCM_SR_GENPLL4_CCN_CLK
|
||||
clk_tpiu_pll genpll4 2 BCM_SR_GENPLL4_TPIU_PLL_CLK
|
||||
clk_noc genpll4 3 BCM_SR_GENPLL4_NOC_CLK
|
||||
clk_chclk_fs4 genpll4 4 BCM_SR_GENPLL4_CHCLK_FS4_CLK
|
||||
clk_bridge_fscpu genpll4 5 BCM_SR_GENPLL4_BRIDGE_FSCPU_CLK
|
||||
|
||||
genpll5 crystal 0 BCM_SR_GENPLL5
|
||||
clk_fs4_hf genpll5 1 BCM_SR_GENPLL5_FS4_HF_CLK
|
||||
clk_crypto_ae genpll5 2 BCM_SR_GENPLL5_CRYPTO_AE_CLK
|
||||
clk_raid_ae genpll5 3 BCM_SR_GENPLL5_RAID_AE_CLK
|
||||
|
||||
genpll6 crystal 0 BCM_SR_GENPLL6
|
||||
clk_48_usb genpll6 1 BCM_SR_GENPLL6_48_USB_CLK
|
||||
|
||||
lcpll0 crystal 0 BCM_SR_LCPLL0
|
||||
clk_sata_refp lcpll0 1 BCM_SR_LCPLL0_SATA_REFP_CLK
|
||||
clk_sata_refn lcpll0 2 BCM_SR_LCPLL0_SATA_REFN_CLK
|
||||
clk_sata_350 lcpll0 3 BCM_SR_LCPLL0_SATA_350_CLK
|
||||
clk_sata_500 lcpll0 4 BCM_SR_LCPLL0_SATA_500_CLK
|
||||
|
||||
lcpll1 crystal 0 BCM_SR_LCPLL1
|
||||
clk_wan lcpll1 1 BCM_SR_LCPLL1_WAN_CLK
|
||||
clk_usb_ref lcpll1 2 BCM_SR_LCPLL1_USB_REF_CLK
|
||||
clk_crmu_ts lcpll1 3 BCM_SR_LCPLL1_CRMU_TS_CLK
|
||||
|
||||
lcpll_pcie crystal 0 BCM_SR_LCPLL_PCIE
|
||||
clk_pcie_phy_ref lcpll1 1 BCM_SR_LCPLL_PCIE_PHY_REF_CLK
|
395
Documentation/devicetree/bindings/clock/brcm,iproc-clocks.yaml
Normal file
395
Documentation/devicetree/bindings/clock/brcm,iproc-clocks.yaml
Normal file
@ -0,0 +1,395 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/clock/brcm,iproc-clocks.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Broadcom iProc Family Clocks
|
||||
|
||||
maintainers:
|
||||
- Ray Jui <rjui@broadcom.com>
|
||||
- Scott Branden <sbranden@broadcom.com>
|
||||
|
||||
description: |
|
||||
The iProc clock controller manages clocks that are common to the iProc family.
|
||||
An SoC from the iProc family may have several PLLs, e.g., ARMPLL, GENPLL,
|
||||
LCPLL0, MIPIPLL, and etc., all derived from an onboard crystal. Each PLL
|
||||
comprises of several leaf clocks
|
||||
|
||||
ASIU clocks are a special case. These clocks are derived directly from the
|
||||
reference clock of the onboard crystal.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- brcm,bcm63138-armpll
|
||||
- brcm,cygnus-armpll
|
||||
- brcm,cygnus-genpll
|
||||
- brcm,cygnus-lcpll0
|
||||
- brcm,cygnus-mipipll
|
||||
- brcm,cygnus-asiu-clk
|
||||
- brcm,cygnus-audiopll
|
||||
- brcm,hr2-armpll
|
||||
- brcm,nsp-armpll
|
||||
- brcm,nsp-genpll
|
||||
- brcm,nsp-lcpll0
|
||||
- brcm,ns2-genpll-scr
|
||||
- brcm,ns2-genpll-sw
|
||||
- brcm,ns2-lcpll-ddr
|
||||
- brcm,ns2-lcpll-ports
|
||||
- brcm,sr-genpll0
|
||||
- brcm,sr-genpll1
|
||||
- brcm,sr-genpll2
|
||||
- brcm,sr-genpll3
|
||||
- brcm,sr-genpll4
|
||||
- brcm,sr-genpll5
|
||||
- brcm,sr-genpll6
|
||||
- brcm,sr-lcpll0
|
||||
- brcm,sr-lcpll1
|
||||
- brcm,sr-lcpll-pcie
|
||||
|
||||
reg:
|
||||
minItems: 1
|
||||
maxItems: 3
|
||||
items:
|
||||
- description: base register
|
||||
- description: power register
|
||||
- description: ASIU or split status register
|
||||
|
||||
clocks:
|
||||
description: The input parent clock phandle for the PLL / ASIU clock. For
|
||||
most iProc PLLs, this is an onboard crystal with a fixed rate.
|
||||
maxItems: 1
|
||||
|
||||
'#clock-cells':
|
||||
const: 1
|
||||
|
||||
clock-output-names:
|
||||
minItems: 1
|
||||
maxItems: 45
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- brcm,cygnus-armpll
|
||||
- brcm,cygnus-genpll
|
||||
- brcm,cygnus-lcpll0
|
||||
- brcm,cygnus-mipipll
|
||||
- brcm,cygnus-asiu-clk
|
||||
- brcm,cygnus-audiopll
|
||||
then:
|
||||
properties:
|
||||
clock-output-names:
|
||||
description: |
|
||||
The following table defines the set of PLL/clock index and ID for Cygnus.
|
||||
These clock IDs are defined in:
|
||||
"include/dt-bindings/clock/bcm-cygnus.h"
|
||||
|
||||
Clock Source (Parent) Index ID
|
||||
----- --------------- ----- --
|
||||
crystal N/A N/A N/A
|
||||
|
||||
armpll crystal N/A N/A
|
||||
|
||||
keypad crystal (ASIU) 0 BCM_CYGNUS_ASIU_KEYPAD_CLK
|
||||
adc/tsc crystal (ASIU) 1 BCM_CYGNUS_ASIU_ADC_CLK
|
||||
pwm crystal (ASIU) 2 BCM_CYGNUS_ASIU_PWM_CLK
|
||||
|
||||
genpll crystal 0 BCM_CYGNUS_GENPLL
|
||||
axi21 genpll 1 BCM_CYGNUS_GENPLL_AXI21_CLK
|
||||
250mhz genpll 2 BCM_CYGNUS_GENPLL_250MHZ_CLK
|
||||
ihost_sys genpll 3 BCM_CYGNUS_GENPLL_IHOST_SYS_CLK
|
||||
enet_sw genpll 4 BCM_CYGNUS_GENPLL_ENET_SW_CLK
|
||||
audio_125 genpll 5 BCM_CYGNUS_GENPLL_AUDIO_125_CLK
|
||||
can genpll 6 BCM_CYGNUS_GENPLL_CAN_CLK
|
||||
|
||||
lcpll0 crystal 0 BCM_CYGNUS_LCPLL0
|
||||
pcie_phy lcpll0 1 BCM_CYGNUS_LCPLL0_PCIE_PHY_REF_CLK
|
||||
ddr_phy lcpll0 2 BCM_CYGNUS_LCPLL0_DDR_PHY_CLK
|
||||
sdio lcpll0 3 BCM_CYGNUS_LCPLL0_SDIO_CLK
|
||||
usb_phy lcpll0 4 BCM_CYGNUS_LCPLL0_USB_PHY_REF_CLK
|
||||
smart_card lcpll0 5 BCM_CYGNUS_LCPLL0_SMART_CARD_CLK
|
||||
ch5_unused lcpll0 6 BCM_CYGNUS_LCPLL0_CH5_UNUSED
|
||||
|
||||
mipipll crystal 0 BCM_CYGNUS_MIPIPLL
|
||||
ch0_unused mipipll 1 BCM_CYGNUS_MIPIPLL_CH0_UNUSED
|
||||
ch1_lcd mipipll 2 BCM_CYGNUS_MIPIPLL_CH1_LCD
|
||||
ch2_v3d mipipll 3 BCM_CYGNUS_MIPIPLL_CH2_V3D
|
||||
ch3_unused mipipll 4 BCM_CYGNUS_MIPIPLL_CH3_UNUSED
|
||||
ch4_unused mipipll 5 BCM_CYGNUS_MIPIPLL_CH4_UNUSED
|
||||
ch5_unused mipipll 6 BCM_CYGNUS_MIPIPLL_CH5_UNUSED
|
||||
|
||||
audiopll crystal 0 BCM_CYGNUS_AUDIOPLL
|
||||
ch0_audio audiopll 1 BCM_CYGNUS_AUDIOPLL_CH0
|
||||
ch1_audio audiopll 2 BCM_CYGNUS_AUDIOPLL_CH1
|
||||
ch2_audio audiopll 3 BCM_CYGNUS_AUDIOPLL_CH2
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- brcm,hr2-armpll
|
||||
then:
|
||||
properties:
|
||||
clock-output-names:
|
||||
description: |
|
||||
The following table defines the set of PLL/clock for Hurricane 2:
|
||||
|
||||
Clock Source Index ID
|
||||
----- ------ ----- --
|
||||
crystal N/A N/A N/A
|
||||
|
||||
armpll crystal N/A N/A
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- brcm,nsp-armpll
|
||||
- brcm,nsp-genpll
|
||||
- brcm,nsp-lcpll0
|
||||
then:
|
||||
properties:
|
||||
clock-output-names:
|
||||
description: |
|
||||
The following table defines the set of PLL/clock index and ID for Northstar and
|
||||
Northstar Plus. These clock IDs are defined in:
|
||||
"include/dt-bindings/clock/bcm-nsp.h"
|
||||
|
||||
Clock Source Index ID
|
||||
----- ------ ----- --
|
||||
crystal N/A N/A N/A
|
||||
|
||||
armpll crystal N/A N/A
|
||||
|
||||
genpll crystal 0 BCM_NSP_GENPLL
|
||||
phy genpll 1 BCM_NSP_GENPLL_PHY_CLK
|
||||
ethernetclk genpll 2 BCM_NSP_GENPLL_ENET_SW_CLK
|
||||
usbclk genpll 3 BCM_NSP_GENPLL_USB_PHY_REF_CLK
|
||||
iprocfast genpll 4 BCM_NSP_GENPLL_IPROCFAST_CLK
|
||||
sata1 genpll 5 BCM_NSP_GENPLL_SATA1_CLK
|
||||
sata2 genpll 6 BCM_NSP_GENPLL_SATA2_CLK
|
||||
|
||||
lcpll0 crystal 0 BCM_NSP_LCPLL0
|
||||
pcie_phy lcpll0 1 BCM_NSP_LCPLL0_PCIE_PHY_REF_CLK
|
||||
sdio lcpll0 2 BCM_NSP_LCPLL0_SDIO_CLK
|
||||
ddr_phy lcpll0 3 BCM_NSP_LCPLL0_DDR_PHY_CLK
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- brcm,ns2-genpll-scr
|
||||
- brcm,ns2-genpll-sw
|
||||
- brcm,ns2-lcpll-ddr
|
||||
- brcm,ns2-lcpll-ports
|
||||
then:
|
||||
properties:
|
||||
clock-output-names:
|
||||
description: |
|
||||
The following table defines the set of PLL/clock index and ID for Northstar 2.
|
||||
These clock IDs are defined in:
|
||||
"include/dt-bindings/clock/bcm-ns2.h"
|
||||
|
||||
Clock Source Index ID
|
||||
----- ------ ----- --
|
||||
crystal N/A N/A N/A
|
||||
|
||||
genpll_scr crystal 0 BCM_NS2_GENPLL_SCR
|
||||
scr genpll_scr 1 BCM_NS2_GENPLL_SCR_SCR_CLK
|
||||
fs genpll_scr 2 BCM_NS2_GENPLL_SCR_FS_CLK
|
||||
audio_ref genpll_scr 3 BCM_NS2_GENPLL_SCR_AUDIO_CLK
|
||||
ch3_unused genpll_scr 4 BCM_NS2_GENPLL_SCR_CH3_UNUSED
|
||||
ch4_unused genpll_scr 5 BCM_NS2_GENPLL_SCR_CH4_UNUSED
|
||||
ch5_unused genpll_scr 6 BCM_NS2_GENPLL_SCR_CH5_UNUSED
|
||||
|
||||
genpll_sw crystal 0 BCM_NS2_GENPLL_SW
|
||||
rpe genpll_sw 1 BCM_NS2_GENPLL_SW_RPE_CLK
|
||||
250 genpll_sw 2 BCM_NS2_GENPLL_SW_250_CLK
|
||||
nic genpll_sw 3 BCM_NS2_GENPLL_SW_NIC_CLK
|
||||
chimp genpll_sw 4 BCM_NS2_GENPLL_SW_CHIMP_CLK
|
||||
port genpll_sw 5 BCM_NS2_GENPLL_SW_PORT_CLK
|
||||
sdio genpll_sw 6 BCM_NS2_GENPLL_SW_SDIO_CLK
|
||||
|
||||
lcpll_ddr crystal 0 BCM_NS2_LCPLL_DDR
|
||||
pcie_sata_usb lcpll_ddr 1 BCM_NS2_LCPLL_DDR_PCIE_SATA_USB_CLK
|
||||
ddr lcpll_ddr 2 BCM_NS2_LCPLL_DDR_DDR_CLK
|
||||
ch2_unused lcpll_ddr 3 BCM_NS2_LCPLL_DDR_CH2_UNUSED
|
||||
ch3_unused lcpll_ddr 4 BCM_NS2_LCPLL_DDR_CH3_UNUSED
|
||||
ch4_unused lcpll_ddr 5 BCM_NS2_LCPLL_DDR_CH4_UNUSED
|
||||
ch5_unused lcpll_ddr 6 BCM_NS2_LCPLL_DDR_CH5_UNUSED
|
||||
|
||||
lcpll_ports crystal 0 BCM_NS2_LCPLL_PORTS
|
||||
wan lcpll_ports 1 BCM_NS2_LCPLL_PORTS_WAN_CLK
|
||||
rgmii lcpll_ports 2 BCM_NS2_LCPLL_PORTS_RGMII_CLK
|
||||
ch2_unused lcpll_ports 3 BCM_NS2_LCPLL_PORTS_CH2_UNUSED
|
||||
ch3_unused lcpll_ports 4 BCM_NS2_LCPLL_PORTS_CH3_UNUSED
|
||||
ch4_unused lcpll_ports 5 BCM_NS2_LCPLL_PORTS_CH4_UNUSED
|
||||
ch5_unused lcpll_ports 6 BCM_NS2_LCPLL_PORTS_CH5_UNUSED
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- brcm,sr-genpll0
|
||||
- brcm,sr-genpll1
|
||||
- brcm,sr-genpll2
|
||||
- brcm,sr-genpll3
|
||||
- brcm,sr-genpll4
|
||||
- brcm,sr-genpll5
|
||||
- brcm,sr-genpll6
|
||||
- brcm,sr-lcpll0
|
||||
- brcm,sr-lcpll1
|
||||
- brcm,sr-lcpll-pcie
|
||||
then:
|
||||
properties:
|
||||
clock-output-names:
|
||||
description: |
|
||||
The following table defines the set of PLL/clock index and ID for Stingray.
|
||||
These clock IDs are defined in:
|
||||
"include/dt-bindings/clock/bcm-sr.h"
|
||||
|
||||
Clock Source Index ID
|
||||
----- ------ ----- --
|
||||
crystal N/A N/A N/A
|
||||
crmu_ref25m crystal N/A N/A
|
||||
|
||||
genpll0 crystal 0 BCM_SR_GENPLL0
|
||||
clk_125m genpll0 1 BCM_SR_GENPLL0_125M_CLK
|
||||
clk_scr genpll0 2 BCM_SR_GENPLL0_SCR_CLK
|
||||
clk_250 genpll0 3 BCM_SR_GENPLL0_250M_CLK
|
||||
clk_pcie_axi genpll0 4 BCM_SR_GENPLL0_PCIE_AXI_CLK
|
||||
clk_paxc_axi_x2 genpll0 5 BCM_SR_GENPLL0_PAXC_AXI_X2_CLK
|
||||
clk_paxc_axi genpll0 6 BCM_SR_GENPLL0_PAXC_AXI_CLK
|
||||
|
||||
genpll1 crystal 0 BCM_SR_GENPLL1
|
||||
clk_pcie_tl genpll1 1 BCM_SR_GENPLL1_PCIE_TL_CLK
|
||||
clk_mhb_apb genpll1 2 BCM_SR_GENPLL1_MHB_APB_CLK
|
||||
|
||||
genpll2 crystal 0 BCM_SR_GENPLL2
|
||||
clk_nic genpll2 1 BCM_SR_GENPLL2_NIC_CLK
|
||||
clk_ts_500_ref genpll2 2 BCM_SR_GENPLL2_TS_500_REF_CLK
|
||||
clk_125_nitro genpll2 3 BCM_SR_GENPLL2_125_NITRO_CLK
|
||||
clk_chimp genpll2 4 BCM_SR_GENPLL2_CHIMP_CLK
|
||||
clk_nic_flash genpll2 5 BCM_SR_GENPLL2_NIC_FLASH_CLK
|
||||
clk_fs genpll2 6 BCM_SR_GENPLL2_FS_CLK
|
||||
|
||||
genpll3 crystal 0 BCM_SR_GENPLL3
|
||||
clk_hsls genpll3 1 BCM_SR_GENPLL3_HSLS_CLK
|
||||
clk_sdio genpll3 2 BCM_SR_GENPLL3_SDIO_CLK
|
||||
|
||||
genpll4 crystal 0 BCM_SR_GENPLL4
|
||||
clk_ccn genpll4 1 BCM_SR_GENPLL4_CCN_CLK
|
||||
clk_tpiu_pll genpll4 2 BCM_SR_GENPLL4_TPIU_PLL_CLK
|
||||
clk_noc genpll4 3 BCM_SR_GENPLL4_NOC_CLK
|
||||
clk_chclk_fs4 genpll4 4 BCM_SR_GENPLL4_CHCLK_FS4_CLK
|
||||
clk_bridge_fscpu genpll4 5 BCM_SR_GENPLL4_BRIDGE_FSCPU_CLK
|
||||
|
||||
genpll5 crystal 0 BCM_SR_GENPLL5
|
||||
clk_fs4_hf genpll5 1 BCM_SR_GENPLL5_FS4_HF_CLK
|
||||
clk_crypto_ae genpll5 2 BCM_SR_GENPLL5_CRYPTO_AE_CLK
|
||||
clk_raid_ae genpll5 3 BCM_SR_GENPLL5_RAID_AE_CLK
|
||||
|
||||
genpll6 crystal 0 BCM_SR_GENPLL6
|
||||
clk_48_usb genpll6 1 BCM_SR_GENPLL6_48_USB_CLK
|
||||
|
||||
lcpll0 crystal 0 BCM_SR_LCPLL0
|
||||
clk_sata_refp lcpll0 1 BCM_SR_LCPLL0_SATA_REFP_CLK
|
||||
clk_sata_refn lcpll0 2 BCM_SR_LCPLL0_SATA_REFN_CLK
|
||||
clk_sata_350 lcpll0 3 BCM_SR_LCPLL0_SATA_350_CLK
|
||||
clk_sata_500 lcpll0 4 BCM_SR_LCPLL0_SATA_500_CLK
|
||||
|
||||
lcpll1 crystal 0 BCM_SR_LCPLL1
|
||||
clk_wan lcpll1 1 BCM_SR_LCPLL1_WAN_CLK
|
||||
clk_usb_ref lcpll1 2 BCM_SR_LCPLL1_USB_REF_CLK
|
||||
clk_crmu_ts lcpll1 3 BCM_SR_LCPLL1_CRMU_TS_CLK
|
||||
|
||||
lcpll_pcie crystal 0 BCM_SR_LCPLL_PCIE
|
||||
clk_pcie_phy_ref lcpll1 1 BCM_SR_LCPLL_PCIE_PHY_REF_CLK
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: brcm,cygnus-genpll
|
||||
then:
|
||||
properties:
|
||||
clock-output-names:
|
||||
items:
|
||||
- const: genpll
|
||||
- const: axi21
|
||||
- const: 250mhz
|
||||
- const: ihost_sys
|
||||
- const: enet_sw
|
||||
- const: audio_125
|
||||
- const: can
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: brcm,nsp-lcpll0
|
||||
then:
|
||||
properties:
|
||||
clock-output-names:
|
||||
items:
|
||||
- const: lcpll0
|
||||
- const: pcie_phy
|
||||
- const: sdio
|
||||
- const: ddr_phy
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: brcm,nsp-genpll
|
||||
then:
|
||||
properties:
|
||||
clock-output-names:
|
||||
items:
|
||||
- const: genpll
|
||||
- const: phy
|
||||
- const: ethernetclk
|
||||
- const: usbclk
|
||||
- const: iprocfast
|
||||
- const: sata1
|
||||
- const: sata2
|
||||
|
||||
required:
|
||||
- reg
|
||||
- clocks
|
||||
- '#clock-cells'
|
||||
- clock-output-names
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
osc1: oscillator {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <25000000>;
|
||||
};
|
||||
|
||||
genpll@301d000 {
|
||||
#clock-cells = <1>;
|
||||
compatible = "brcm,cygnus-genpll";
|
||||
reg = <0x301d000 0x2c>, <0x301c020 0x4>;
|
||||
clocks = <&os1c>;
|
||||
clock-output-names = "genpll", "axi21", "250mhz", "ihost_sys",
|
||||
"enet_sw", "audio_125", "can";
|
||||
};
|
||||
- |
|
||||
osc2: oscillator {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <25000000>;
|
||||
};
|
||||
|
||||
asiu_clks@301d048 {
|
||||
#clock-cells = <1>;
|
||||
compatible = "brcm,cygnus-asiu-clk";
|
||||
reg = <0x301d048 0xc>, <0x180aa024 0x4>;
|
||||
clocks = <&osc2>;
|
||||
clock-output-names = "keypad", "adc/touch", "pwm";
|
||||
};
|
@ -1,63 +0,0 @@
|
||||
NVIDIA Tegra114 Clock And Reset Controller
|
||||
|
||||
This binding uses the common clock binding:
|
||||
Documentation/devicetree/bindings/clock/clock-bindings.txt
|
||||
|
||||
The CAR (Clock And Reset) Controller on Tegra is the HW module responsible
|
||||
for muxing and gating Tegra's clocks, and setting their rates.
|
||||
|
||||
Required properties :
|
||||
- compatible : Should be "nvidia,tegra114-car"
|
||||
- reg : Should contain CAR registers location and length
|
||||
- clocks : Should contain phandle and clock specifiers for two clocks:
|
||||
the 32 KHz "32k_in", and the board-specific oscillator "osc".
|
||||
- #clock-cells : Should be 1.
|
||||
In clock consumers, this cell represents the clock ID exposed by the
|
||||
CAR. The assignments may be found in header file
|
||||
<dt-bindings/clock/tegra114-car.h>.
|
||||
- #reset-cells : Should be 1.
|
||||
In clock consumers, this cell represents the bit number in the CAR's
|
||||
array of CLK_RST_CONTROLLER_RST_DEVICES_* registers.
|
||||
|
||||
Example SoC include file:
|
||||
|
||||
/ {
|
||||
tegra_car: clock {
|
||||
compatible = "nvidia,tegra114-car";
|
||||
reg = <0x60006000 0x1000>;
|
||||
#clock-cells = <1>;
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
|
||||
usb@c5004000 {
|
||||
clocks = <&tegra_car TEGRA114_CLK_USB2>;
|
||||
};
|
||||
};
|
||||
|
||||
Example board file:
|
||||
|
||||
/ {
|
||||
clocks {
|
||||
compatible = "simple-bus";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
osc: clock@0 {
|
||||
compatible = "fixed-clock";
|
||||
reg = <0>;
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <12000000>;
|
||||
};
|
||||
|
||||
clk_32k: clock@1 {
|
||||
compatible = "fixed-clock";
|
||||
reg = <1>;
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <32768>;
|
||||
};
|
||||
};
|
||||
|
||||
&tegra_car {
|
||||
clocks = <&clk_32k> <&osc>;
|
||||
};
|
||||
};
|
@ -1,107 +0,0 @@
|
||||
NVIDIA Tegra124 and Tegra132 Clock And Reset Controller
|
||||
|
||||
This binding uses the common clock binding:
|
||||
Documentation/devicetree/bindings/clock/clock-bindings.txt
|
||||
|
||||
The CAR (Clock And Reset) Controller on Tegra is the HW module responsible
|
||||
for muxing and gating Tegra's clocks, and setting their rates.
|
||||
|
||||
Required properties :
|
||||
- compatible : Should be "nvidia,tegra124-car" or "nvidia,tegra132-car"
|
||||
- reg : Should contain CAR registers location and length
|
||||
- clocks : Should contain phandle and clock specifiers for two clocks:
|
||||
the 32 KHz "32k_in", and the board-specific oscillator "osc".
|
||||
- #clock-cells : Should be 1.
|
||||
In clock consumers, this cell represents the clock ID exposed by the
|
||||
CAR. The assignments may be found in the header files
|
||||
<dt-bindings/clock/tegra124-car-common.h> (which covers IDs common
|
||||
to Tegra124 and Tegra132) and <dt-bindings/clock/tegra124-car.h>
|
||||
(for Tegra124-specific clocks).
|
||||
- #reset-cells : Should be 1.
|
||||
In clock consumers, this cell represents the bit number in the CAR's
|
||||
array of CLK_RST_CONTROLLER_RST_DEVICES_* registers.
|
||||
- nvidia,external-memory-controller : phandle of the EMC driver.
|
||||
|
||||
The node should contain a "emc-timings" subnode for each supported RAM type (see
|
||||
field RAM_CODE in register PMC_STRAPPING_OPT_A).
|
||||
|
||||
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.
|
||||
|
||||
Required properties for "timing" nodes :
|
||||
- clock-frequency : Should contain the memory clock rate to which this timing
|
||||
relates.
|
||||
- nvidia,parent-clock-frequency : Should contain the rate at which the current
|
||||
parent of the EMC clock should be running at this timing.
|
||||
- clocks : Must contain an entry for each entry in clock-names.
|
||||
See ../clocks/clock-bindings.txt for details.
|
||||
- clock-names : Must include the following entries:
|
||||
- emc-parent : the clock that should be the parent of the EMC clock at this
|
||||
timing.
|
||||
|
||||
Example SoC include file:
|
||||
|
||||
/ {
|
||||
tegra_car: clock@60006000 {
|
||||
compatible = "nvidia,tegra124-car";
|
||||
reg = <0x60006000 0x1000>;
|
||||
#clock-cells = <1>;
|
||||
#reset-cells = <1>;
|
||||
nvidia,external-memory-controller = <&emc>;
|
||||
};
|
||||
|
||||
usb@c5004000 {
|
||||
clocks = <&tegra_car TEGRA124_CLK_USB2>;
|
||||
};
|
||||
};
|
||||
|
||||
Example board file:
|
||||
|
||||
/ {
|
||||
clocks {
|
||||
compatible = "simple-bus";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
osc: clock@0 {
|
||||
compatible = "fixed-clock";
|
||||
reg = <0>;
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <112400000>;
|
||||
};
|
||||
|
||||
clk_32k: clock@1 {
|
||||
compatible = "fixed-clock";
|
||||
reg = <1>;
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <32768>;
|
||||
};
|
||||
};
|
||||
|
||||
&tegra_car {
|
||||
clocks = <&clk_32k> <&osc>;
|
||||
};
|
||||
|
||||
clock@60006000 {
|
||||
emc-timings-3 {
|
||||
nvidia,ram-code = <3>;
|
||||
|
||||
timing-12750000 {
|
||||
clock-frequency = <12750000>;
|
||||
nvidia,parent-clock-frequency = <408000000>;
|
||||
clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
|
||||
clock-names = "emc-parent";
|
||||
};
|
||||
timing-20400000 {
|
||||
clock-frequency = <20400000>;
|
||||
nvidia,parent-clock-frequency = <408000000>;
|
||||
clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
|
||||
clock-names = "emc-parent";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
115
Documentation/devicetree/bindings/clock/nvidia,tegra124-car.yaml
Normal file
115
Documentation/devicetree/bindings/clock/nvidia,tegra124-car.yaml
Normal file
@ -0,0 +1,115 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0+ OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/clock/nvidia,tegra124-car.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: NVIDIA Tegra Clock and Reset Controller
|
||||
|
||||
maintainers:
|
||||
- Jon Hunter <jonathanh@nvidia.com>
|
||||
- Thierry Reding <thierry.reding@gmail.com>
|
||||
|
||||
description: |
|
||||
The Clock and Reset (CAR) is the HW module responsible for muxing and gating
|
||||
Tegra's clocks, and setting their rates. It comprises CLKGEN and RSTGEN units.
|
||||
|
||||
CLKGEN provides the registers to program the PLLs. It controls most of
|
||||
the clock source programming and most of the clock dividers.
|
||||
|
||||
CLKGEN input signals include the external clock for the reference frequency
|
||||
(12 MHz, 26 MHz) and the external clock for the Real Time Clock (32.768 KHz).
|
||||
|
||||
Outputs from CLKGEN are inputs clock of the h/w blocks in the Tegra system.
|
||||
|
||||
RSTGEN provides the registers needed to control resetting of each block in
|
||||
the Tegra system.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: nvidia,tegra124-car
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
'#clock-cells':
|
||||
const: 1
|
||||
|
||||
"#reset-cells":
|
||||
const: 1
|
||||
|
||||
nvidia,external-memory-controller:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description:
|
||||
phandle of the external 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,parent-clock-frequency:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description:
|
||||
rate of parent clock in Hz
|
||||
minimum: 1000000
|
||||
maximum: 1000000000
|
||||
|
||||
clocks:
|
||||
items:
|
||||
- description: parent clock of EMC
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: emc-parent
|
||||
|
||||
required:
|
||||
- clock-frequency
|
||||
- nvidia,parent-clock-frequency
|
||||
- clocks
|
||||
- clock-names
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- '#clock-cells'
|
||||
- "#reset-cells"
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/tegra124-car.h>
|
||||
|
||||
car: clock-controller@60006000 {
|
||||
compatible = "nvidia,tegra124-car";
|
||||
reg = <0x60006000 0x1000>;
|
||||
#clock-cells = <1>;
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
|
||||
usb-controller@c5004000 {
|
||||
compatible = "nvidia,tegra20-ehci";
|
||||
reg = <0xc5004000 0x4000>;
|
||||
clocks = <&car TEGRA124_CLK_USB2>;
|
||||
resets = <&car TEGRA124_CLK_USB2>;
|
||||
};
|
@ -1,63 +0,0 @@
|
||||
NVIDIA Tegra20 Clock And Reset Controller
|
||||
|
||||
This binding uses the common clock binding:
|
||||
Documentation/devicetree/bindings/clock/clock-bindings.txt
|
||||
|
||||
The CAR (Clock And Reset) Controller on Tegra is the HW module responsible
|
||||
for muxing and gating Tegra's clocks, and setting their rates.
|
||||
|
||||
Required properties :
|
||||
- compatible : Should be "nvidia,tegra20-car"
|
||||
- reg : Should contain CAR registers location and length
|
||||
- clocks : Should contain phandle and clock specifiers for two clocks:
|
||||
the 32 KHz "32k_in", and the board-specific oscillator "osc".
|
||||
- #clock-cells : Should be 1.
|
||||
In clock consumers, this cell represents the clock ID exposed by the
|
||||
CAR. The assignments may be found in header file
|
||||
<dt-bindings/clock/tegra20-car.h>.
|
||||
- #reset-cells : Should be 1.
|
||||
In clock consumers, this cell represents the bit number in the CAR's
|
||||
array of CLK_RST_CONTROLLER_RST_DEVICES_* registers.
|
||||
|
||||
Example SoC include file:
|
||||
|
||||
/ {
|
||||
tegra_car: clock {
|
||||
compatible = "nvidia,tegra20-car";
|
||||
reg = <0x60006000 0x1000>;
|
||||
#clock-cells = <1>;
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
|
||||
usb@c5004000 {
|
||||
clocks = <&tegra_car TEGRA20_CLK_USB2>;
|
||||
};
|
||||
};
|
||||
|
||||
Example board file:
|
||||
|
||||
/ {
|
||||
clocks {
|
||||
compatible = "simple-bus";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
osc: clock@0 {
|
||||
compatible = "fixed-clock";
|
||||
reg = <0>;
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <12000000>;
|
||||
};
|
||||
|
||||
clk_32k: clock@1 {
|
||||
compatible = "fixed-clock";
|
||||
reg = <1>;
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <32768>;
|
||||
};
|
||||
};
|
||||
|
||||
&tegra_car {
|
||||
clocks = <&clk_32k> <&osc>;
|
||||
};
|
||||
};
|
@ -0,0 +1,69 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0+ OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/clock/nvidia,tegra20-car.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: NVIDIA Tegra Clock and Reset Controller
|
||||
|
||||
maintainers:
|
||||
- Jon Hunter <jonathanh@nvidia.com>
|
||||
- Thierry Reding <thierry.reding@gmail.com>
|
||||
|
||||
description: |
|
||||
The Clock and Reset (CAR) is the HW module responsible for muxing and gating
|
||||
Tegra's clocks, and setting their rates. It comprises CLKGEN and RSTGEN units.
|
||||
|
||||
CLKGEN provides the registers to program the PLLs. It controls most of
|
||||
the clock source programming and most of the clock dividers.
|
||||
|
||||
CLKGEN input signals include the external clock for the reference frequency
|
||||
(12 MHz, 26 MHz) and the external clock for the Real Time Clock (32.768 KHz).
|
||||
|
||||
Outputs from CLKGEN are inputs clock of the h/w blocks in the Tegra system.
|
||||
|
||||
RSTGEN provides the registers needed to control resetting of each block in
|
||||
the Tegra system.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- nvidia,tegra20-car
|
||||
- nvidia,tegra30-car
|
||||
- nvidia,tegra114-car
|
||||
- nvidia,tegra210-car
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
'#clock-cells':
|
||||
const: 1
|
||||
|
||||
"#reset-cells":
|
||||
const: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- '#clock-cells'
|
||||
- "#reset-cells"
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/tegra20-car.h>
|
||||
|
||||
car: clock-controller@60006000 {
|
||||
compatible = "nvidia,tegra20-car";
|
||||
reg = <0x60006000 0x1000>;
|
||||
#clock-cells = <1>;
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
|
||||
usb-controller@c5004000 {
|
||||
compatible = "nvidia,tegra20-ehci";
|
||||
reg = <0xc5004000 0x4000>;
|
||||
clocks = <&car TEGRA20_CLK_USB2>;
|
||||
resets = <&car TEGRA20_CLK_USB2>;
|
||||
};
|
@ -1,56 +0,0 @@
|
||||
NVIDIA Tegra210 Clock And Reset Controller
|
||||
|
||||
This binding uses the common clock binding:
|
||||
Documentation/devicetree/bindings/clock/clock-bindings.txt
|
||||
|
||||
The CAR (Clock And Reset) Controller on Tegra is the HW module responsible
|
||||
for muxing and gating Tegra's clocks, and setting their rates.
|
||||
|
||||
Required properties :
|
||||
- compatible : Should be "nvidia,tegra210-car"
|
||||
- reg : Should contain CAR registers location and length
|
||||
- clocks : Should contain phandle and clock specifiers for two clocks:
|
||||
the 32 KHz "32k_in".
|
||||
- #clock-cells : Should be 1.
|
||||
In clock consumers, this cell represents the clock ID exposed by the
|
||||
CAR. The assignments may be found in header file
|
||||
<dt-bindings/clock/tegra210-car.h>.
|
||||
- #reset-cells : Should be 1.
|
||||
In clock consumers, this cell represents the bit number in the CAR's
|
||||
array of CLK_RST_CONTROLLER_RST_DEVICES_* registers.
|
||||
|
||||
Example SoC include file:
|
||||
|
||||
/ {
|
||||
tegra_car: clock {
|
||||
compatible = "nvidia,tegra210-car";
|
||||
reg = <0x60006000 0x1000>;
|
||||
#clock-cells = <1>;
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
|
||||
usb@c5004000 {
|
||||
clocks = <&tegra_car TEGRA210_CLK_USB2>;
|
||||
};
|
||||
};
|
||||
|
||||
Example board file:
|
||||
|
||||
/ {
|
||||
clocks {
|
||||
compatible = "simple-bus";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
clk_32k: clock@1 {
|
||||
compatible = "fixed-clock";
|
||||
reg = <1>;
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <32768>;
|
||||
};
|
||||
};
|
||||
|
||||
&tegra_car {
|
||||
clocks = <&clk_32k>;
|
||||
};
|
||||
};
|
@ -1,63 +0,0 @@
|
||||
NVIDIA Tegra30 Clock And Reset Controller
|
||||
|
||||
This binding uses the common clock binding:
|
||||
Documentation/devicetree/bindings/clock/clock-bindings.txt
|
||||
|
||||
The CAR (Clock And Reset) Controller on Tegra is the HW module responsible
|
||||
for muxing and gating Tegra's clocks, and setting their rates.
|
||||
|
||||
Required properties :
|
||||
- compatible : Should be "nvidia,tegra30-car"
|
||||
- reg : Should contain CAR registers location and length
|
||||
- clocks : Should contain phandle and clock specifiers for two clocks:
|
||||
the 32 KHz "32k_in", and the board-specific oscillator "osc".
|
||||
- #clock-cells : Should be 1.
|
||||
In clock consumers, this cell represents the clock ID exposed by the
|
||||
CAR. The assignments may be found in header file
|
||||
<dt-bindings/clock/tegra30-car.h>.
|
||||
- #reset-cells : Should be 1.
|
||||
In clock consumers, this cell represents the bit number in the CAR's
|
||||
array of CLK_RST_CONTROLLER_RST_DEVICES_* registers.
|
||||
|
||||
Example SoC include file:
|
||||
|
||||
/ {
|
||||
tegra_car: clock {
|
||||
compatible = "nvidia,tegra30-car";
|
||||
reg = <0x60006000 0x1000>;
|
||||
#clock-cells = <1>;
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
|
||||
usb@c5004000 {
|
||||
clocks = <&tegra_car TEGRA30_CLK_USB2>;
|
||||
};
|
||||
};
|
||||
|
||||
Example board file:
|
||||
|
||||
/ {
|
||||
clocks {
|
||||
compatible = "simple-bus";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
osc: clock@0 {
|
||||
compatible = "fixed-clock";
|
||||
reg = <0>;
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <12000000>;
|
||||
};
|
||||
|
||||
clk_32k: clock@1 {
|
||||
compatible = "fixed-clock";
|
||||
reg = <1>;
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <32768>;
|
||||
};
|
||||
};
|
||||
|
||||
&tegra_car {
|
||||
clocks = <&clk_32k> <&osc>;
|
||||
};
|
||||
};
|
@ -73,7 +73,7 @@ i2c0: i2c@f8034600 {
|
||||
pinctrl-0 = <&pinctrl_i2c0>;
|
||||
pinctrl-1 = <&pinctrl_i2c0_gpio>;
|
||||
sda-gpios = <&pioA 30 GPIO_ACTIVE_HIGH>;
|
||||
scl-gpios = <&pioA 31 GPIO_ACTIVE_HIGH>;
|
||||
scl-gpios = <&pioA 31 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
|
||||
wm8731: wm8731@1a {
|
||||
compatible = "wm8731";
|
||||
|
@ -52,10 +52,11 @@ properties:
|
||||
- description: MAC RX clock
|
||||
- description: For MPU family, used for power mode
|
||||
- description: For MPU family, used for PHY without quartz
|
||||
- description: PTP clock
|
||||
|
||||
clock-names:
|
||||
minItems: 3
|
||||
maxItems: 5
|
||||
maxItems: 6
|
||||
contains:
|
||||
enum:
|
||||
- stmmaceth
|
||||
@ -63,6 +64,7 @@ properties:
|
||||
- mac-clk-rx
|
||||
- ethstp
|
||||
- eth-ck
|
||||
- ptp_ref
|
||||
|
||||
st,syscon:
|
||||
$ref: "/schemas/types.yaml#/definitions/phandle-array"
|
||||
|
@ -42,22 +42,22 @@ Required properties (child nodes):
|
||||
|
||||
Examples:
|
||||
|
||||
cpm_comphy: phy@120000 {
|
||||
CP11X_LABEL(comphy): phy@120000 {
|
||||
compatible = "marvell,comphy-cp110";
|
||||
reg = <0x120000 0x6000>;
|
||||
marvell,system-controller = <&cpm_syscon0>;
|
||||
clocks = <&CP110_LABEL(clk) 1 5>, <&CP110_LABEL(clk) 1 6>,
|
||||
<&CP110_LABEL(clk) 1 18>;
|
||||
marvell,system-controller = <&CP11X_LABEL(syscon0)>;
|
||||
clocks = <&CP11X_LABEL(clk) 1 5>, <&CP11X_LABEL(clk) 1 6>,
|
||||
<&CP11X_LABEL(clk) 1 18>;
|
||||
clock-names = "mg_clk", "mg_core_clk", "axi_clk";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
cpm_comphy0: phy@0 {
|
||||
CP11X_LABEL(comphy0): phy@0 {
|
||||
reg = <0>;
|
||||
#phy-cells = <1>;
|
||||
};
|
||||
|
||||
cpm_comphy1: phy@1 {
|
||||
CP11X_LABEL(comphy1): phy@1 {
|
||||
reg = <1>;
|
||||
#phy-cells = <1>;
|
||||
};
|
||||
|
@ -66,6 +66,16 @@ properties:
|
||||
|
||||
power-supply: true
|
||||
|
||||
resets:
|
||||
description: |
|
||||
A number of phandles to resets that need to be asserted during
|
||||
power-up sequencing of the domain. The resets belong to devices
|
||||
located inside the power domain, which need to be held in reset
|
||||
across the power-up sequence. So no means to specify what each
|
||||
reset is in a generic power-domain binding.
|
||||
minItems: 1
|
||||
maxItems: 4
|
||||
|
||||
required:
|
||||
- '#power-domain-cells'
|
||||
- reg
|
||||
|
@ -0,0 +1,63 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: "http://devicetree.org/schemas/power/renesas,rzg2l-sysc.yaml#"
|
||||
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
|
||||
|
||||
title: Renesas RZ/G2L System Controller (SYSC)
|
||||
|
||||
maintainers:
|
||||
- Geert Uytterhoeven <geert+renesas@glider.be>
|
||||
|
||||
description:
|
||||
The RZ/G2L System Controller (SYSC) performs system control of the LSI and
|
||||
supports following functions,
|
||||
- External terminal state capture function
|
||||
- 34-bit address space access function
|
||||
- Low power consumption control
|
||||
- WDT stop control
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- renesas,r9a07g044-sysc # RZ/G2{L,LC}
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
items:
|
||||
- description: CA55/CM33 Sleep/Software Standby Mode request interrupt
|
||||
- description: CA55 Software Standby Mode release request interrupt
|
||||
- description: CM33 Software Standby Mode release request interrupt
|
||||
- description: CA55 ACE Asynchronous Bridge Master/Slave interface deny request interrupt
|
||||
|
||||
interrupt-names:
|
||||
items:
|
||||
- const: lpm_int
|
||||
- const: ca55stbydone_int
|
||||
- const: cm33stbyr_int
|
||||
- const: ca55_deny
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
- interrupt-names
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
|
||||
sysc: system-controller@11020000 {
|
||||
compatible = "renesas,r9a07g044-sysc";
|
||||
reg = <0x11020000 0x10000>;
|
||||
interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "lpm_int", "ca55stbydone_int", "cm33stbyr_int",
|
||||
"ca55_deny";
|
||||
};
|
@ -24,6 +24,9 @@ properties:
|
||||
- items:
|
||||
- const: allwinner,sun8i-a83t-pwm
|
||||
- const: allwinner,sun8i-h3-pwm
|
||||
- items:
|
||||
- const: allwinner,sun8i-v3s-pwm
|
||||
- const: allwinner,sun7i-a20-pwm
|
||||
- items:
|
||||
- const: allwinner,sun50i-a64-pwm
|
||||
- const: allwinner,sun5i-a13-pwm
|
||||
|
@ -20,6 +20,9 @@ properties:
|
||||
- const: allwinner,sun6i-a31-i2s
|
||||
- const: allwinner,sun8i-a83t-i2s
|
||||
- const: allwinner,sun8i-h3-i2s
|
||||
- items:
|
||||
- const: allwinner,sun8i-v3-i2s
|
||||
- const: allwinner,sun8i-h3-i2s
|
||||
- const: allwinner,sun50i-a64-codec-i2s
|
||||
- items:
|
||||
- const: allwinner,sun50i-a64-i2s
|
||||
|
@ -12,12 +12,15 @@ maintainers:
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
oneOf:
|
||||
# FIXME: This is documented in the PRCM binding, but needs to be
|
||||
# migrated here at some point
|
||||
# - allwinner,sun8i-a23-codec-analog
|
||||
- allwinner,sun8i-h3-codec-analog
|
||||
- allwinner,sun8i-v3s-codec-analog
|
||||
- const: allwinner,sun8i-h3-codec-analog
|
||||
- items:
|
||||
- const: allwinner,sun8i-v3-codec-analog
|
||||
- const: allwinner,sun8i-h3-codec-analog
|
||||
- const: allwinner,sun8i-v3s-codec-analog
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
@ -12,11 +12,18 @@ maintainers:
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- allwinner,sun4i-a10-timer
|
||||
- allwinner,sun8i-a23-timer
|
||||
- allwinner,sun8i-v3s-timer
|
||||
- allwinner,suniv-f1c100s-timer
|
||||
oneOf:
|
||||
- enum:
|
||||
- allwinner,sun4i-a10-timer
|
||||
- allwinner,sun8i-a23-timer
|
||||
- allwinner,sun8i-v3s-timer
|
||||
- allwinner,suniv-f1c100s-timer
|
||||
- items:
|
||||
- enum:
|
||||
- allwinner,sun50i-a64-timer
|
||||
- allwinner,sun50i-h6-timer
|
||||
- allwinner,sun50i-h616-timer
|
||||
- const: allwinner,sun8i-a23-timer
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
@ -34,8 +41,8 @@ allOf:
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
items:
|
||||
const: allwinner,sun4i-a10-timer
|
||||
enum:
|
||||
- allwinner,sun4i-a10-timer
|
||||
|
||||
then:
|
||||
properties:
|
||||
@ -46,8 +53,8 @@ allOf:
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
items:
|
||||
const: allwinner,sun8i-a23-timer
|
||||
enum:
|
||||
- allwinner,sun8i-a23-timer
|
||||
|
||||
then:
|
||||
properties:
|
||||
@ -58,20 +65,9 @@ allOf:
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
items:
|
||||
const: allwinner,sun8i-v3s-timer
|
||||
|
||||
then:
|
||||
properties:
|
||||
interrupts:
|
||||
minItems: 3
|
||||
maxItems: 3
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
items:
|
||||
const: allwinner,suniv-f1c100s-timer
|
||||
enum:
|
||||
- allwinner,sun8i-v3s-timer
|
||||
- allwinner,suniv-f1c100s-timer
|
||||
|
||||
then:
|
||||
properties:
|
||||
|
@ -249,6 +249,8 @@ patternProperties:
|
||||
description: Colorful GRP, Shenzhen Xueyushi Technology Ltd.
|
||||
"^compulab,.*":
|
||||
description: CompuLab Ltd.
|
||||
"^congatec,.*":
|
||||
description: congatec GmbH
|
||||
"^coreriver,.*":
|
||||
description: CORERIVER Semiconductor Co.,Ltd.
|
||||
"^corpro,.*":
|
||||
@ -315,6 +317,8 @@ patternProperties:
|
||||
description: DPTechnics
|
||||
"^dragino,.*":
|
||||
description: Dragino Technology Co., Limited
|
||||
"^ds,.*":
|
||||
description: DaSheng, Inc.
|
||||
"^dserve,.*":
|
||||
description: dServe Technology B.V.
|
||||
"^dynaimage,.*":
|
||||
@ -409,6 +413,8 @@ patternProperties:
|
||||
description: Firefly
|
||||
"^focaltech,.*":
|
||||
description: FocalTech Systems Co.,Ltd
|
||||
"^forlinx,.*":
|
||||
description: Baoding Forlinx Embedded Technology Co., Ltd.
|
||||
"^frida,.*":
|
||||
description: Shenzhen Frida LCD Co., Ltd.
|
||||
"^friendlyarm,.*":
|
||||
@ -1252,6 +1258,8 @@ patternProperties:
|
||||
description: Western Digital Corp.
|
||||
"^we,.*":
|
||||
description: Würth Elektronik GmbH.
|
||||
"^welltech,.*":
|
||||
description: Welltech Computer Co., Limited.
|
||||
"^wetek,.*":
|
||||
description: WeTek Electronics, limited.
|
||||
"^wexler,.*":
|
||||
|
@ -1850,6 +1850,7 @@ F: Documentation/devicetree/bindings/arm/gemini.txt
|
||||
F: Documentation/devicetree/bindings/net/cortina,gemini-ethernet.txt
|
||||
F: Documentation/devicetree/bindings/pinctrl/cortina,gemini-pinctrl.txt
|
||||
F: Documentation/devicetree/bindings/rtc/faraday,ftrtc010.txt
|
||||
F: arch/arm/boot/dts/gemini*
|
||||
F: arch/arm/mach-gemini/
|
||||
F: drivers/crypto/gemini/
|
||||
F: drivers/net/ethernet/cortina/
|
||||
|
@ -88,6 +88,7 @@ dtb-$(CONFIG_ARCH_BCM2835) += \
|
||||
bcm2837-rpi-3-b.dtb \
|
||||
bcm2837-rpi-3-b-plus.dtb \
|
||||
bcm2837-rpi-cm3-io3.dtb \
|
||||
bcm2711-rpi-400.dtb \
|
||||
bcm2711-rpi-4-b.dtb \
|
||||
bcm2835-rpi-zero.dtb \
|
||||
bcm2835-rpi-zero-w.dtb
|
||||
@ -240,6 +241,7 @@ dtb-$(CONFIG_ARCH_INTEGRATOR) += \
|
||||
integratorcp.dtb
|
||||
dtb-$(CONFIG_ARCH_IXP4XX) += \
|
||||
intel-ixp42x-linksys-nslu2.dtb \
|
||||
intel-ixp42x-welltech-epbx100.dtb \
|
||||
intel-ixp43x-gateworks-gw2358.dtb
|
||||
dtb-$(CONFIG_ARCH_KEYSTONE) += \
|
||||
keystone-k2hk-evm.dtb \
|
||||
@ -513,8 +515,14 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
|
||||
imx6q-display5-tianma-tm070-1280x768.dtb \
|
||||
imx6q-dmo-edmqmx6.dtb \
|
||||
imx6q-dms-ba16.dtb \
|
||||
imx6q-ds.dtb \
|
||||
imx6q-emcon-avari.dtb \
|
||||
imx6q-evi.dtb \
|
||||
imx6dl-b105pv2.dtb \
|
||||
imx6dl-b105v2.dtb \
|
||||
imx6dl-b125v2.dtb \
|
||||
imx6dl-b125pv2.dtb \
|
||||
imx6dl-b155v2.dtb \
|
||||
imx6q-gk802.dtb \
|
||||
imx6q-gw51xx.dtb \
|
||||
imx6q-gw52xx.dtb \
|
||||
@ -725,7 +733,8 @@ dtb-$(CONFIG_ARCH_MXS) += \
|
||||
imx28-m28evk.dtb \
|
||||
imx28-sps1.dtb \
|
||||
imx28-ts4600.dtb \
|
||||
imx28-tx28.dtb
|
||||
imx28-tx28.dtb \
|
||||
imx28-xea.dtb
|
||||
dtb-$(CONFIG_ARCH_NOMADIK) += \
|
||||
ste-nomadik-s8815.dtb \
|
||||
ste-nomadik-nhk15.dtb
|
||||
@ -1234,6 +1243,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \
|
||||
sun8i-r16-nintendo-super-nes-classic.dtb \
|
||||
sun8i-r16-parrot.dtb \
|
||||
sun8i-r40-bananapi-m2-ultra.dtb \
|
||||
sun8i-r40-oka40i-c.dtb \
|
||||
sun8i-s3-elimo-initium.dtb \
|
||||
sun8i-s3-lichee-zero-plus.dtb \
|
||||
sun8i-s3-pinecube.dtb \
|
||||
@ -1415,6 +1425,7 @@ dtb-$(CONFIG_ARCH_MSTARV7) += \
|
||||
mstar-mercury5-ssc8336n-midrived08.dtb
|
||||
dtb-$(CONFIG_ARCH_ASPEED) += \
|
||||
aspeed-ast2500-evb.dtb \
|
||||
aspeed-ast2600-evb-a1.dtb \
|
||||
aspeed-ast2600-evb.dtb \
|
||||
aspeed-bmc-amd-ethanolx.dtb \
|
||||
aspeed-bmc-ampere-mtjade.dtb \
|
||||
|
@ -393,10 +393,10 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gpio0 {
|
||||
&gpio0_target {
|
||||
ti,no-reset-on-init;
|
||||
};
|
||||
|
||||
&gpio3 {
|
||||
&gpio3_target {
|
||||
ti,no-reset-on-init;
|
||||
};
|
||||
|
@ -101,7 +101,7 @@
|
||||
};
|
||||
|
||||
&gpio3 {
|
||||
ls_buf_en {
|
||||
ls-buf-en-hog {
|
||||
gpio-hog;
|
||||
gpios = <10 GPIO_ACTIVE_HIGH>;
|
||||
output-high;
|
||||
|
@ -436,7 +436,7 @@
|
||||
};
|
||||
|
||||
&gpio3 {
|
||||
ls_buf_en {
|
||||
ls-buf-en-hog {
|
||||
gpio-hog;
|
||||
gpios = <10 GPIO_ACTIVE_HIGH>;
|
||||
output-high;
|
||||
|
@ -101,7 +101,7 @@
|
||||
};
|
||||
|
||||
&gpio1 {
|
||||
ls_buf_en {
|
||||
ls-buf-en-hog {
|
||||
gpio-hog;
|
||||
gpios = <29 GPIO_ACTIVE_HIGH>;
|
||||
output-high;
|
||||
@ -118,7 +118,7 @@
|
||||
/* an external pulldown on U21 pin 4. */
|
||||
|
||||
&gpio3 {
|
||||
bt_aud_in {
|
||||
bt-aud-in-hog {
|
||||
gpio-hog;
|
||||
gpios = <16 GPIO_ACTIVE_HIGH>;
|
||||
output-low;
|
||||
|
@ -333,7 +333,7 @@ status = "okay";
|
||||
&epwmss0 {
|
||||
status = "okay";
|
||||
|
||||
ecap0: ecap@100 {
|
||||
ecap0: pwm@100 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&ecap0_pins>;
|
||||
@ -496,7 +496,7 @@ status = "okay";
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spi0_pins>;
|
||||
ti,pindir-d0-out-d1-in = <1>;
|
||||
ti,pindir-d0-out-d1-in;
|
||||
/* WLS1271 WiFi */
|
||||
wlcore: wlcore@1 {
|
||||
compatible = "ti,wl1271";
|
||||
|
@ -495,7 +495,7 @@
|
||||
&epwmss0 {
|
||||
status = "okay";
|
||||
|
||||
ecap0: ecap@100 {
|
||||
ecap0: pwm@100 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&ecap0_pins>;
|
||||
|
@ -510,7 +510,7 @@
|
||||
&epwmss2 {
|
||||
status = "okay";
|
||||
|
||||
ecap2: ecap@100 {
|
||||
ecap2: pwm@100 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&ecap2_pins>;
|
||||
@ -646,7 +646,7 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gpio0 {
|
||||
&gpio0_target {
|
||||
ti,no-reset-on-init;
|
||||
};
|
||||
|
||||
|
@ -458,14 +458,14 @@
|
||||
};
|
||||
|
||||
&gpio3 {
|
||||
p4 {
|
||||
pr1-mii-ctl-hog {
|
||||
gpio-hog;
|
||||
gpios = <4 GPIO_ACTIVE_HIGH>;
|
||||
output-high;
|
||||
line-name = "PR1_MII_CTRL";
|
||||
};
|
||||
|
||||
p10 {
|
||||
mux-mii-hog {
|
||||
gpio-hog;
|
||||
gpios = <10 GPIO_ACTIVE_HIGH>;
|
||||
/* ETH1 mux: Low for MII-PRU, high for RMII-CPSW */
|
||||
|
@ -150,7 +150,7 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gpio0 {
|
||||
&gpio0_target {
|
||||
ti,no-reset-on-init;
|
||||
};
|
||||
|
||||
|
@ -353,7 +353,7 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gpio0 {
|
||||
&gpio0_target {
|
||||
ti,no-reset-on-init;
|
||||
};
|
||||
|
||||
|
@ -25,10 +25,6 @@
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
&mmc1 {
|
||||
vmmc-supply = <&vmmcsd_fixed>;
|
||||
};
|
||||
|
||||
&mmc2 {
|
||||
vmmc-supply = <&vmmcsd_fixed>;
|
||||
pinctrl-names = "default";
|
||||
@ -37,68 +33,6 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&am33xx_pinmux {
|
||||
nxp_hdmi_bonelt_pins: nxp-hdmi-bonelt-pins {
|
||||
pinctrl-single,pins = <
|
||||
AM33XX_PADCONF(AM335X_PIN_XDMA_EVENT_INTR0, PIN_OUTPUT_PULLDOWN, MUX_MODE3)
|
||||
AM33XX_PADCONF(AM335X_PIN_LCD_DATA0, PIN_OUTPUT, MUX_MODE0)
|
||||
AM33XX_PADCONF(AM335X_PIN_LCD_DATA1, PIN_OUTPUT, MUX_MODE0)
|
||||
AM33XX_PADCONF(AM335X_PIN_LCD_DATA2, PIN_OUTPUT, MUX_MODE0)
|
||||
AM33XX_PADCONF(AM335X_PIN_LCD_DATA3, PIN_OUTPUT, MUX_MODE0)
|
||||
AM33XX_PADCONF(AM335X_PIN_LCD_DATA4, PIN_OUTPUT, MUX_MODE0)
|
||||
AM33XX_PADCONF(AM335X_PIN_LCD_DATA5, PIN_OUTPUT, MUX_MODE0)
|
||||
AM33XX_PADCONF(AM335X_PIN_LCD_DATA6, PIN_OUTPUT, MUX_MODE0)
|
||||
AM33XX_PADCONF(AM335X_PIN_LCD_DATA7, PIN_OUTPUT, MUX_MODE0)
|
||||
AM33XX_PADCONF(AM335X_PIN_LCD_DATA8, PIN_OUTPUT, MUX_MODE0)
|
||||
AM33XX_PADCONF(AM335X_PIN_LCD_DATA9, PIN_OUTPUT, MUX_MODE0)
|
||||
AM33XX_PADCONF(AM335X_PIN_LCD_DATA10, PIN_OUTPUT, MUX_MODE0)
|
||||
AM33XX_PADCONF(AM335X_PIN_LCD_DATA11, PIN_OUTPUT, MUX_MODE0)
|
||||
AM33XX_PADCONF(AM335X_PIN_LCD_DATA12, PIN_OUTPUT, MUX_MODE0)
|
||||
AM33XX_PADCONF(AM335X_PIN_LCD_DATA13, PIN_OUTPUT, MUX_MODE0)
|
||||
AM33XX_PADCONF(AM335X_PIN_LCD_DATA14, PIN_OUTPUT, MUX_MODE0)
|
||||
AM33XX_PADCONF(AM335X_PIN_LCD_DATA15, PIN_OUTPUT, MUX_MODE0)
|
||||
AM33XX_PADCONF(AM335X_PIN_LCD_VSYNC, PIN_OUTPUT_PULLDOWN, MUX_MODE0)
|
||||
AM33XX_PADCONF(AM335X_PIN_LCD_HSYNC, PIN_OUTPUT_PULLDOWN, MUX_MODE0)
|
||||
AM33XX_PADCONF(AM335X_PIN_LCD_PCLK, PIN_OUTPUT_PULLDOWN, MUX_MODE0)
|
||||
AM33XX_PADCONF(AM335X_PIN_LCD_AC_BIAS_EN, PIN_OUTPUT_PULLDOWN, MUX_MODE0)
|
||||
>;
|
||||
};
|
||||
|
||||
nxp_hdmi_bonelt_off_pins: nxp-hdmi-bonelt-off-pins {
|
||||
pinctrl-single,pins = <
|
||||
AM33XX_PADCONF(AM335X_PIN_XDMA_EVENT_INTR0, PIN_OUTPUT_PULLDOWN, MUX_MODE3)
|
||||
>;
|
||||
};
|
||||
|
||||
mcasp0_pins: mcasp0-pins {
|
||||
pinctrl-single,pins = <
|
||||
AM33XX_PADCONF(AM335X_PIN_MCASP0_AHCLKX, PIN_INPUT_PULLUP, MUX_MODE0)
|
||||
AM33XX_PADCONF(AM335X_PIN_MCASP0_AHCLKR, PIN_OUTPUT_PULLDOWN, MUX_MODE2) /* mcasp0_ahclkr.mcasp0_axr2*/
|
||||
AM33XX_PADCONF(AM335X_PIN_MCASP0_FSX, PIN_OUTPUT_PULLUP, MUX_MODE0)
|
||||
AM33XX_PADCONF(AM335X_PIN_MCASP0_ACLKX, PIN_OUTPUT_PULLDOWN, MUX_MODE0)
|
||||
AM33XX_PADCONF(AM335X_PIN_GPMC_A11, PIN_OUTPUT_PULLDOWN, MUX_MODE7) /* gpmc_a11.GPIO1_27 */
|
||||
>;
|
||||
};
|
||||
|
||||
flash_enable: flash-enable {
|
||||
pinctrl-single,pins = <
|
||||
AM33XX_PADCONF(AM335X_PIN_RMII1_REF_CLK, PIN_OUTPUT_PULLDOWN, MUX_MODE7) /* rmii1_ref_clk.gpio0_29 */
|
||||
>;
|
||||
};
|
||||
|
||||
imu_interrupt: imu-interrupt {
|
||||
pinctrl-single,pins = <
|
||||
AM33XX_PADCONF(AM335X_PIN_MII1_RX_ER, PIN_INPUT_PULLDOWN, MUX_MODE7) /* mii1_rx_er.gpio3_2 */
|
||||
>;
|
||||
};
|
||||
|
||||
ethernet_interrupt: ethernet-interrupt{
|
||||
pinctrl-single,pins = <
|
||||
AM33XX_PADCONF(AM335X_PIN_MII1_COL, PIN_INPUT_PULLDOWN, MUX_MODE7) /* mii1_col.gpio3_0 */
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
&lcdc {
|
||||
status = "okay";
|
||||
|
||||
@ -167,10 +101,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
&rtc {
|
||||
system-power-controller;
|
||||
};
|
||||
|
||||
&mcasp0 {
|
||||
#sound-dai-cells = <0>;
|
||||
pinctrl-names = "default";
|
||||
@ -267,6 +197,66 @@
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&clkout2_pin>;
|
||||
|
||||
nxp_hdmi_bonelt_pins: nxp-hdmi-bonelt-pins {
|
||||
pinctrl-single,pins = <
|
||||
AM33XX_PADCONF(AM335X_PIN_XDMA_EVENT_INTR0, PIN_OUTPUT_PULLDOWN, MUX_MODE3)
|
||||
AM33XX_PADCONF(AM335X_PIN_LCD_DATA0, PIN_OUTPUT, MUX_MODE0)
|
||||
AM33XX_PADCONF(AM335X_PIN_LCD_DATA1, PIN_OUTPUT, MUX_MODE0)
|
||||
AM33XX_PADCONF(AM335X_PIN_LCD_DATA2, PIN_OUTPUT, MUX_MODE0)
|
||||
AM33XX_PADCONF(AM335X_PIN_LCD_DATA3, PIN_OUTPUT, MUX_MODE0)
|
||||
AM33XX_PADCONF(AM335X_PIN_LCD_DATA4, PIN_OUTPUT, MUX_MODE0)
|
||||
AM33XX_PADCONF(AM335X_PIN_LCD_DATA5, PIN_OUTPUT, MUX_MODE0)
|
||||
AM33XX_PADCONF(AM335X_PIN_LCD_DATA6, PIN_OUTPUT, MUX_MODE0)
|
||||
AM33XX_PADCONF(AM335X_PIN_LCD_DATA7, PIN_OUTPUT, MUX_MODE0)
|
||||
AM33XX_PADCONF(AM335X_PIN_LCD_DATA8, PIN_OUTPUT, MUX_MODE0)
|
||||
AM33XX_PADCONF(AM335X_PIN_LCD_DATA9, PIN_OUTPUT, MUX_MODE0)
|
||||
AM33XX_PADCONF(AM335X_PIN_LCD_DATA10, PIN_OUTPUT, MUX_MODE0)
|
||||
AM33XX_PADCONF(AM335X_PIN_LCD_DATA11, PIN_OUTPUT, MUX_MODE0)
|
||||
AM33XX_PADCONF(AM335X_PIN_LCD_DATA12, PIN_OUTPUT, MUX_MODE0)
|
||||
AM33XX_PADCONF(AM335X_PIN_LCD_DATA13, PIN_OUTPUT, MUX_MODE0)
|
||||
AM33XX_PADCONF(AM335X_PIN_LCD_DATA14, PIN_OUTPUT, MUX_MODE0)
|
||||
AM33XX_PADCONF(AM335X_PIN_LCD_DATA15, PIN_OUTPUT, MUX_MODE0)
|
||||
AM33XX_PADCONF(AM335X_PIN_LCD_VSYNC, PIN_OUTPUT_PULLDOWN, MUX_MODE0)
|
||||
AM33XX_PADCONF(AM335X_PIN_LCD_HSYNC, PIN_OUTPUT_PULLDOWN, MUX_MODE0)
|
||||
AM33XX_PADCONF(AM335X_PIN_LCD_PCLK, PIN_OUTPUT_PULLDOWN, MUX_MODE0)
|
||||
AM33XX_PADCONF(AM335X_PIN_LCD_AC_BIAS_EN, PIN_OUTPUT_PULLDOWN, MUX_MODE0)
|
||||
>;
|
||||
};
|
||||
|
||||
nxp_hdmi_bonelt_off_pins: nxp-hdmi-bonelt-off-pins {
|
||||
pinctrl-single,pins = <
|
||||
AM33XX_PADCONF(AM335X_PIN_XDMA_EVENT_INTR0, PIN_OUTPUT_PULLDOWN, MUX_MODE3)
|
||||
>;
|
||||
};
|
||||
|
||||
mcasp0_pins: mcasp0-pins {
|
||||
pinctrl-single,pins = <
|
||||
AM33XX_PADCONF(AM335X_PIN_MCASP0_AHCLKX, PIN_INPUT_PULLUP, MUX_MODE0)
|
||||
AM33XX_PADCONF(AM335X_PIN_MCASP0_AHCLKR, PIN_OUTPUT_PULLDOWN, MUX_MODE2) /* mcasp0_ahclkr.mcasp0_axr2*/
|
||||
AM33XX_PADCONF(AM335X_PIN_MCASP0_FSX, PIN_OUTPUT_PULLUP, MUX_MODE0)
|
||||
AM33XX_PADCONF(AM335X_PIN_MCASP0_ACLKX, PIN_OUTPUT_PULLDOWN, MUX_MODE0)
|
||||
AM33XX_PADCONF(AM335X_PIN_GPMC_A11, PIN_OUTPUT_PULLDOWN, MUX_MODE7) /* gpmc_a11.GPIO1_27 */
|
||||
>;
|
||||
};
|
||||
|
||||
flash_enable: flash-enable {
|
||||
pinctrl-single,pins = <
|
||||
AM33XX_PADCONF(AM335X_PIN_RMII1_REF_CLK, PIN_OUTPUT_PULLDOWN, MUX_MODE7) /* rmii1_ref_clk.gpio0_29 */
|
||||
>;
|
||||
};
|
||||
|
||||
imu_interrupt: imu-interrupt {
|
||||
pinctrl-single,pins = <
|
||||
AM33XX_PADCONF(AM335X_PIN_MII1_RX_ER, PIN_INPUT_PULLDOWN, MUX_MODE7) /* mii1_rx_er.gpio3_2 */
|
||||
>;
|
||||
};
|
||||
|
||||
ethernet_interrupt: ethernet-interrupt{
|
||||
pinctrl-single,pins = <
|
||||
AM33XX_PADCONF(AM335X_PIN_MII1_COL, PIN_INPUT_PULLDOWN, MUX_MODE7) /* mii1_col.gpio3_0 */
|
||||
>;
|
||||
};
|
||||
|
||||
user_leds_s0: user-leds-s0 {
|
||||
pinctrl-single,pins = <
|
||||
AM33XX_PADCONF(AM335X_PIN_GPMC_A5, PIN_OUTPUT_PULLDOWN, MUX_MODE7) /* gpmc_a5.gpio1_21 */
|
||||
@ -427,6 +417,7 @@
|
||||
|
||||
&mmc1 {
|
||||
status = "okay";
|
||||
vmmc-supply = <&vmmcsd_fixed>;
|
||||
bus-width = <0x4>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc1_pins>;
|
||||
@ -434,6 +425,7 @@
|
||||
};
|
||||
|
||||
&rtc {
|
||||
system-power-controller;
|
||||
clocks = <&clk_32768_ck>, <&clk_24mhz_clkctrl AM3_CLK_24MHZ_CLKDIV32K_CLKCTRL 0>;
|
||||
clock-names = "ext-clk", "int-clk";
|
||||
};
|
||||
|
@ -140,14 +140,14 @@
|
||||
};
|
||||
|
||||
&gpio1 {
|
||||
hmtc_rst {
|
||||
hmtc-rst-hog {
|
||||
gpio-hog;
|
||||
gpios = <24 GPIO_ACTIVE_LOW>;
|
||||
output-high;
|
||||
line-name = "homematic_reset";
|
||||
};
|
||||
|
||||
hmtc_prog {
|
||||
hmtc-prog-hog {
|
||||
gpio-hog;
|
||||
gpios = <27 GPIO_ACTIVE_LOW>;
|
||||
output-high;
|
||||
@ -156,14 +156,14 @@
|
||||
};
|
||||
|
||||
&gpio3 {
|
||||
zgb_rst {
|
||||
zgb-rst-hog {
|
||||
gpio-hog;
|
||||
gpios = <18 GPIO_ACTIVE_LOW>;
|
||||
output-low;
|
||||
line-name = "zigbee_reset";
|
||||
};
|
||||
|
||||
zgb_boot {
|
||||
zgb-boot-hog {
|
||||
gpio-hog;
|
||||
gpios = <19 GPIO_ACTIVE_HIGH>;
|
||||
output-high;
|
||||
|
@ -1486,7 +1486,7 @@
|
||||
#mbox-cells = <1>;
|
||||
ti,mbox-num-users = <4>;
|
||||
ti,mbox-num-fifos = <8>;
|
||||
mbox_wkupm3: wkup_m3 {
|
||||
mbox_wkupm3: mbox-wkup-m3 {
|
||||
ti,mbox-send-noirq;
|
||||
ti,mbox-tx = <0 0 0>;
|
||||
ti,mbox-rx = <0 0 3>;
|
||||
@ -1789,7 +1789,7 @@
|
||||
};
|
||||
};
|
||||
|
||||
target-module@ae000 { /* 0x481ae000, ap 56 3a.0 */
|
||||
gpio3_target: target-module@ae000 { /* 0x481ae000, ap 56 3a.0 */
|
||||
compatible = "ti,sysc-omap2", "ti,sysc";
|
||||
reg = <0xae000 0x4>,
|
||||
<0xae010 0x4>,
|
||||
@ -1995,15 +1995,12 @@
|
||||
status = "disabled";
|
||||
ranges = <0 0 0x1000>;
|
||||
|
||||
ecap0: ecap@100 {
|
||||
compatible = "ti,am3352-ecap",
|
||||
"ti,am33xx-ecap";
|
||||
ecap0: pwm@100 {
|
||||
compatible = "ti,am3352-ecap";
|
||||
#pwm-cells = <3>;
|
||||
reg = <0x100 0x80>;
|
||||
clocks = <&l4ls_gclk>;
|
||||
clock-names = "fck";
|
||||
interrupts = <31>;
|
||||
interrupt-names = "ecap0";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@ -2017,8 +2014,7 @@
|
||||
};
|
||||
|
||||
ehrpwm0: pwm@200 {
|
||||
compatible = "ti,am3352-ehrpwm",
|
||||
"ti,am33xx-ehrpwm";
|
||||
compatible = "ti,am3352-ehrpwm";
|
||||
#pwm-cells = <3>;
|
||||
reg = <0x200 0x80>;
|
||||
clocks = <&ehrpwm0_tbclk>, <&l4ls_gclk>;
|
||||
@ -2056,15 +2052,12 @@
|
||||
status = "disabled";
|
||||
ranges = <0 0 0x1000>;
|
||||
|
||||
ecap1: ecap@100 {
|
||||
compatible = "ti,am3352-ecap",
|
||||
"ti,am33xx-ecap";
|
||||
ecap1: pwm@100 {
|
||||
compatible = "ti,am3352-ecap";
|
||||
#pwm-cells = <3>;
|
||||
reg = <0x100 0x80>;
|
||||
clocks = <&l4ls_gclk>;
|
||||
clock-names = "fck";
|
||||
interrupts = <47>;
|
||||
interrupt-names = "ecap1";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@ -2078,8 +2071,7 @@
|
||||
};
|
||||
|
||||
ehrpwm1: pwm@200 {
|
||||
compatible = "ti,am3352-ehrpwm",
|
||||
"ti,am33xx-ehrpwm";
|
||||
compatible = "ti,am3352-ehrpwm";
|
||||
#pwm-cells = <3>;
|
||||
reg = <0x200 0x80>;
|
||||
clocks = <&ehrpwm1_tbclk>, <&l4ls_gclk>;
|
||||
@ -2117,15 +2109,12 @@
|
||||
status = "disabled";
|
||||
ranges = <0 0 0x1000>;
|
||||
|
||||
ecap2: ecap@100 {
|
||||
compatible = "ti,am3352-ecap",
|
||||
"ti,am33xx-ecap";
|
||||
ecap2: pwm@100 {
|
||||
compatible = "ti,am3352-ecap";
|
||||
#pwm-cells = <3>;
|
||||
reg = <0x100 0x80>;
|
||||
clocks = <&l4ls_gclk>;
|
||||
clock-names = "fck";
|
||||
interrupts = <61>;
|
||||
interrupt-names = "ecap2";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@ -2139,8 +2128,7 @@
|
||||
};
|
||||
|
||||
ehrpwm2: pwm@200 {
|
||||
compatible = "ti,am3352-ehrpwm",
|
||||
"ti,am33xx-ehrpwm";
|
||||
compatible = "ti,am3352-ehrpwm";
|
||||
#pwm-cells = <3>;
|
||||
reg = <0x200 0x80>;
|
||||
clocks = <&ehrpwm2_tbclk>, <&l4ls_gclk>;
|
||||
|
@ -786,7 +786,7 @@
|
||||
pinctrl-0 = <&gpio0_pins>;
|
||||
status = "okay";
|
||||
|
||||
p23 {
|
||||
sel-emmc-nand-hog {
|
||||
gpio-hog;
|
||||
gpios = <23 GPIO_ACTIVE_HIGH>;
|
||||
/* SelEMMCorNAND selects between eMMC and NAND:
|
||||
@ -813,13 +813,16 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gpio5_target {
|
||||
ti,no-reset-on-init;
|
||||
};
|
||||
|
||||
&gpio5 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&display_mux_pins>;
|
||||
status = "okay";
|
||||
ti,no-reset-on-init;
|
||||
|
||||
p8 {
|
||||
sel-lcd-hdmi-hog {
|
||||
/*
|
||||
* SelLCDorHDMI selects between display and audio paths:
|
||||
* Low: HDMI display with audio via HDMI
|
||||
|
@ -194,7 +194,7 @@
|
||||
ranges = <0x0 0x9000 0x1000>;
|
||||
|
||||
uart0: serial@0 {
|
||||
compatible = "ti,am4372-uart","ti,omap2-uart";
|
||||
compatible = "ti,am4372-uart";
|
||||
reg = <0x0 0x2000>;
|
||||
interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
@ -712,7 +712,7 @@
|
||||
ranges = <0x0 0x22000 0x1000>;
|
||||
|
||||
uart1: serial@0 {
|
||||
compatible = "ti,am4372-uart","ti,omap2-uart";
|
||||
compatible = "ti,am4372-uart";
|
||||
reg = <0x0 0x2000>;
|
||||
interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
@ -740,7 +740,7 @@
|
||||
ranges = <0x0 0x24000 0x1000>;
|
||||
|
||||
uart2: serial@0 {
|
||||
compatible = "ti,am4372-uart","ti,omap2-uart";
|
||||
compatible = "ti,am4372-uart";
|
||||
reg = <0x0 0x2000>;
|
||||
interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
@ -1168,7 +1168,7 @@
|
||||
#mbox-cells = <1>;
|
||||
ti,mbox-num-users = <4>;
|
||||
ti,mbox-num-fifos = <8>;
|
||||
mbox_wkupm3: wkup_m3 {
|
||||
mbox_wkupm3: mbox-wkup-m3 {
|
||||
ti,mbox-send-noirq;
|
||||
ti,mbox-tx = <0 0 0>;
|
||||
ti,mbox-rx = <0 0 3>;
|
||||
@ -1399,7 +1399,7 @@
|
||||
ranges = <0x0 0xa6000 0x1000>;
|
||||
|
||||
uart3: serial@0 {
|
||||
compatible = "ti,am4372-uart","ti,omap2-uart";
|
||||
compatible = "ti,am4372-uart";
|
||||
reg = <0x0 0x2000>;
|
||||
interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
@ -1427,7 +1427,7 @@
|
||||
ranges = <0x0 0xa8000 0x1000>;
|
||||
|
||||
uart4: serial@0 {
|
||||
compatible = "ti,am4372-uart","ti,omap2-uart";
|
||||
compatible = "ti,am4372-uart";
|
||||
reg = <0x0 0x2000>;
|
||||
interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
@ -1455,7 +1455,7 @@
|
||||
ranges = <0x0 0xaa000 0x1000>;
|
||||
|
||||
uart5: serial@0 {
|
||||
compatible = "ti,am4372-uart","ti,omap2-uart";
|
||||
compatible = "ti,am4372-uart";
|
||||
reg = <0x0 0x2000>;
|
||||
interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
@ -1747,10 +1747,9 @@
|
||||
ranges = <0 0 0x1000>;
|
||||
status = "disabled";
|
||||
|
||||
ecap0: ecap@100 {
|
||||
ecap0: pwm@100 {
|
||||
compatible = "ti,am4372-ecap",
|
||||
"ti,am3352-ecap",
|
||||
"ti,am33xx-ecap";
|
||||
"ti,am3352-ecap";
|
||||
#pwm-cells = <3>;
|
||||
reg = <0x100 0x80>;
|
||||
clocks = <&l4ls_gclk>;
|
||||
@ -1760,8 +1759,7 @@
|
||||
|
||||
ehrpwm0: pwm@200 {
|
||||
compatible = "ti,am4372-ehrpwm",
|
||||
"ti,am3352-ehrpwm",
|
||||
"ti,am33xx-ehrpwm";
|
||||
"ti,am3352-ehrpwm";
|
||||
#pwm-cells = <3>;
|
||||
reg = <0x200 0x80>;
|
||||
clocks = <&ehrpwm0_tbclk>, <&l4ls_gclk>;
|
||||
@ -1799,10 +1797,9 @@
|
||||
ranges = <0 0 0x1000>;
|
||||
status = "disabled";
|
||||
|
||||
ecap1: ecap@100 {
|
||||
ecap1: pwm@100 {
|
||||
compatible = "ti,am4372-ecap",
|
||||
"ti,am3352-ecap",
|
||||
"ti,am33xx-ecap";
|
||||
"ti,am3352-ecap";
|
||||
#pwm-cells = <3>;
|
||||
reg = <0x100 0x80>;
|
||||
clocks = <&l4ls_gclk>;
|
||||
@ -1812,8 +1809,7 @@
|
||||
|
||||
ehrpwm1: pwm@200 {
|
||||
compatible = "ti,am4372-ehrpwm",
|
||||
"ti,am3352-ehrpwm",
|
||||
"ti,am33xx-ehrpwm";
|
||||
"ti,am3352-ehrpwm";
|
||||
#pwm-cells = <3>;
|
||||
reg = <0x200 0x80>;
|
||||
clocks = <&ehrpwm1_tbclk>, <&l4ls_gclk>;
|
||||
@ -1851,10 +1847,9 @@
|
||||
ranges = <0 0 0x1000>;
|
||||
status = "disabled";
|
||||
|
||||
ecap2: ecap@100 {
|
||||
ecap2: pwm@100 {
|
||||
compatible = "ti,am4372-ecap",
|
||||
"ti,am3352-ecap",
|
||||
"ti,am33xx-ecap";
|
||||
"ti,am3352-ecap";
|
||||
#pwm-cells = <3>;
|
||||
reg = <0x100 0x80>;
|
||||
clocks = <&l4ls_gclk>;
|
||||
@ -1864,8 +1859,7 @@
|
||||
|
||||
ehrpwm2: pwm@200 {
|
||||
compatible = "ti,am4372-ehrpwm",
|
||||
"ti,am3352-ehrpwm",
|
||||
"ti,am33xx-ehrpwm";
|
||||
"ti,am3352-ehrpwm";
|
||||
#pwm-cells = <3>;
|
||||
reg = <0x200 0x80>;
|
||||
clocks = <&ehrpwm2_tbclk>, <&l4ls_gclk>;
|
||||
@ -1905,8 +1899,7 @@
|
||||
|
||||
ehrpwm3: pwm@200 {
|
||||
compatible = "ti,am4372-ehrpwm",
|
||||
"ti,am3352-ehrpwm",
|
||||
"ti,am33xx-ehrpwm";
|
||||
"ti,am3352-ehrpwm";
|
||||
#pwm-cells = <3>;
|
||||
reg = <0x200 0x80>;
|
||||
clocks = <&ehrpwm3_tbclk>, <&l4ls_gclk>;
|
||||
@ -1946,8 +1939,7 @@
|
||||
|
||||
ehrpwm4: pwm@48308200 {
|
||||
compatible = "ti,am4372-ehrpwm",
|
||||
"ti,am3352-ehrpwm",
|
||||
"ti,am33xx-ehrpwm";
|
||||
"ti,am3352-ehrpwm";
|
||||
#pwm-cells = <3>;
|
||||
reg = <0x200 0x80>;
|
||||
clocks = <&ehrpwm4_tbclk>, <&l4ls_gclk>;
|
||||
@ -1987,8 +1979,7 @@
|
||||
|
||||
ehrpwm5: pwm@200 {
|
||||
compatible = "ti,am4372-ehrpwm",
|
||||
"ti,am3352-ehrpwm",
|
||||
"ti,am33xx-ehrpwm";
|
||||
"ti,am3352-ehrpwm";
|
||||
#pwm-cells = <3>;
|
||||
reg = <0x200 0x80>;
|
||||
clocks = <&ehrpwm5_tbclk>, <&l4ls_gclk>;
|
||||
@ -2070,7 +2061,7 @@
|
||||
};
|
||||
};
|
||||
|
||||
target-module@22000 { /* 0x48322000, ap 116 64.0 */
|
||||
gpio5_target: target-module@22000 { /* 0x48322000, ap 116 64.0 */
|
||||
compatible = "ti,sysc-omap2", "ti,sysc";
|
||||
reg = <0x22000 0x4>,
|
||||
<0x22010 0x4>,
|
||||
|
@ -725,7 +725,7 @@
|
||||
pinctrl-0 = <&display_mux_pins>;
|
||||
status = "okay";
|
||||
|
||||
p1 {
|
||||
sel-lcd-hdmi-hog {
|
||||
/*
|
||||
* SelLCDorHDMI selects between display and audio paths:
|
||||
* Low: HDMI display with audio via HDMI
|
||||
@ -860,7 +860,7 @@
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <&spi0_pins_default>;
|
||||
pinctrl-1 = <&spi0_pins_sleep>;
|
||||
ti,pindir-d0-out-d1-in = <1>;
|
||||
ti,pindir-d0-out-d1-in;
|
||||
};
|
||||
|
||||
&spi1 {
|
||||
@ -868,7 +868,7 @@
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <&spi1_pins_default>;
|
||||
pinctrl-1 = <&spi1_pins_sleep>;
|
||||
ti,pindir-d0-out-d1-in = <1>;
|
||||
ti,pindir-d0-out-d1-in;
|
||||
};
|
||||
|
||||
&usb2_phy1 {
|
||||
|
@ -454,20 +454,20 @@
|
||||
|
||||
&mailbox5 {
|
||||
status = "okay";
|
||||
mbox_ipu1_ipc3x: mbox_ipu1_ipc3x {
|
||||
mbox_ipu1_ipc3x: mbox-ipu1-ipc3x {
|
||||
status = "okay";
|
||||
};
|
||||
mbox_dsp1_ipc3x: mbox_dsp1_ipc3x {
|
||||
mbox_dsp1_ipc3x: mbox-dsp1-ipc3x {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
&mailbox6 {
|
||||
status = "okay";
|
||||
mbox_ipu2_ipc3x: mbox_ipu2_ipc3x {
|
||||
mbox_ipu2_ipc3x: mbox-ipu2-ipc3x {
|
||||
status = "okay";
|
||||
};
|
||||
mbox_dsp2_ipc3x: mbox_dsp2_ipc3x {
|
||||
mbox_dsp2_ipc3x: mbox-dsp2-ipc3x {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
@ -610,12 +610,11 @@
|
||||
>;
|
||||
};
|
||||
|
||||
&gpio3 {
|
||||
status = "okay";
|
||||
&gpio3_target {
|
||||
ti,no-reset-on-init;
|
||||
};
|
||||
|
||||
&gpio2 {
|
||||
&gpio2_target {
|
||||
status = "okay";
|
||||
ti,no-reset-on-init;
|
||||
};
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
chosen {
|
||||
stdout-path = &uart5;
|
||||
bootargs = "console=tty0 console=ttyS4,115200 earlyprintk";
|
||||
bootargs = "console=tty0 console=ttyS4,115200 earlycon";
|
||||
};
|
||||
|
||||
memory@80000000 {
|
||||
|
15
arch/arm/boot/dts/aspeed-ast2600-evb-a1.dts
Normal file
15
arch/arm/boot/dts/aspeed-ast2600-evb-a1.dts
Normal file
@ -0,0 +1,15 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
// Copyright 2021 IBM Corp.
|
||||
|
||||
#include "aspeed-ast2600-evb.dts"
|
||||
|
||||
/ {
|
||||
model = "AST2600 A1 EVB";
|
||||
|
||||
/delete-node/regulator-vcc-sdhci0;
|
||||
/delete-node/regulator-vcc-sdhci1;
|
||||
/delete-node/regulator-vccq-sdhci0;
|
||||
/delete-node/regulator-vccq-sdhci1;
|
||||
};
|
||||
|
||||
/delete-node/ &sdc;
|
@ -4,6 +4,7 @@
|
||||
/dts-v1/;
|
||||
|
||||
#include "aspeed-g6.dtsi"
|
||||
#include <dt-bindings/gpio/aspeed-gpio.h>
|
||||
|
||||
/ {
|
||||
model = "AST2600 EVB";
|
||||
@ -21,6 +22,46 @@
|
||||
device_type = "memory";
|
||||
reg = <0x80000000 0x80000000>;
|
||||
};
|
||||
|
||||
vcc_sdhci0: regulator-vcc-sdhci0 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "SDHCI0 Vcc";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
gpios = <&gpio0 ASPEED_GPIO(V, 0) GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
};
|
||||
|
||||
vccq_sdhci0: regulator-vccq-sdhci0 {
|
||||
compatible = "regulator-gpio";
|
||||
regulator-name = "SDHCI0 VccQ";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
gpios = <&gpio0 ASPEED_GPIO(V, 1) GPIO_ACTIVE_HIGH>;
|
||||
gpios-states = <1>;
|
||||
states = <3300000 1>,
|
||||
<1800000 0>;
|
||||
};
|
||||
|
||||
vcc_sdhci1: regulator-vcc-sdhci1 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "SDHCI1 Vcc";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
gpios = <&gpio0 ASPEED_GPIO(V, 2) GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
};
|
||||
|
||||
vccq_sdhci1: regulator-vccq-sdhci1 {
|
||||
compatible = "regulator-gpio";
|
||||
regulator-name = "SDHCI1 VccQ";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
gpios = <&gpio0 ASPEED_GPIO(V, 3) GPIO_ACTIVE_HIGH>;
|
||||
gpios-states = <1>;
|
||||
states = <3300000 1>,
|
||||
<1800000 0>;
|
||||
};
|
||||
};
|
||||
|
||||
&mdio0 {
|
||||
@ -107,7 +148,8 @@
|
||||
&emmc {
|
||||
non-removable;
|
||||
bus-width = <4>;
|
||||
max-frequency = <52000000>;
|
||||
max-frequency = <100000000>;
|
||||
clk-phase-mmc-hs200 = <9>, <225>;
|
||||
};
|
||||
|
||||
&rtc {
|
||||
@ -121,37 +163,7 @@
|
||||
m25p,fast-read;
|
||||
label = "bmc";
|
||||
spi-max-frequency = <50000000>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
u-boot@0 {
|
||||
reg = <0x0 0xe0000>; // 896KB
|
||||
label = "u-boot";
|
||||
};
|
||||
|
||||
u-boot-env@e0000 {
|
||||
reg = <0xe0000 0x20000>; // 128KB
|
||||
label = "u-boot-env";
|
||||
};
|
||||
|
||||
kernel@100000 {
|
||||
reg = <0x100000 0x900000>; // 9MB
|
||||
label = "kernel";
|
||||
};
|
||||
|
||||
rofs@a00000 {
|
||||
reg = <0xa00000 0x2000000>; // 32MB
|
||||
label = "rofs";
|
||||
};
|
||||
|
||||
rwfs@6000000 {
|
||||
reg = <0x2a00000 0x1600000>; // 22MB
|
||||
label = "rwfs";
|
||||
};
|
||||
};
|
||||
#include "openbmc-flash-layout-64.dtsi"
|
||||
};
|
||||
};
|
||||
|
||||
@ -245,3 +257,46 @@
|
||||
&uhci {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sdc {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/*
|
||||
* The signal voltage of sdhci0 and sdhci1 on AST2600-A2 EVB is able to be
|
||||
* toggled by GPIO pins.
|
||||
* In the reference design, GPIOV0 of AST2600-A2 EVB is connected to the
|
||||
* power load switch that provides 3.3v to sdhci0 vdd, GPIOV1 is connected to
|
||||
* a 1.8v and a 3.3v power load switch that provides signal voltage to
|
||||
* sdhci0 bus.
|
||||
* If GPIOV0 is active high, sdhci0 is enabled, otherwise, sdhci0 is disabled.
|
||||
* If GPIOV1 is active high, 3.3v power load switch is enabled, sdhci0 signal
|
||||
* voltage is 3.3v, otherwise, 1.8v power load switch will be enabled,
|
||||
* sdhci0 signal voltage becomes 1.8v.
|
||||
* AST2600-A2 EVB also supports toggling signal voltage for sdhci1.
|
||||
* The design is the same as sdhci0, it uses GPIOV2 as power-gpio and GPIOV3
|
||||
* as power-switch-gpio.
|
||||
*/
|
||||
&sdhci0 {
|
||||
status = "okay";
|
||||
bus-width = <4>;
|
||||
max-frequency = <100000000>;
|
||||
sdhci-drive-type = /bits/ 8 <3>;
|
||||
sdhci-caps-mask = <0x7 0x0>;
|
||||
sdhci,wp-inverted;
|
||||
vmmc-supply = <&vcc_sdhci0>;
|
||||
vqmmc-supply = <&vccq_sdhci0>;
|
||||
clk-phase-sd-hs = <7>, <200>;
|
||||
};
|
||||
|
||||
&sdhci1 {
|
||||
status = "okay";
|
||||
bus-width = <4>;
|
||||
max-frequency = <100000000>;
|
||||
sdhci-drive-type = /bits/ 8 <3>;
|
||||
sdhci-caps-mask = <0x7 0x0>;
|
||||
sdhci,wp-inverted;
|
||||
vmmc-supply = <&vcc_sdhci1>;
|
||||
vqmmc-supply = <&vccq_sdhci1>;
|
||||
clk-phase-sd-hs = <7>, <200>;
|
||||
};
|
||||
|
@ -34,7 +34,7 @@
|
||||
};
|
||||
chosen {
|
||||
stdout-path = &uart5;
|
||||
bootargs = "console=ttyS4,115200 earlyprintk";
|
||||
bootargs = "console=ttyS4,115200 earlycon";
|
||||
};
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||
chosen {
|
||||
stdout-path = &uart5;
|
||||
bootargs = "console=ttyS4,115200 earlyprintk";
|
||||
bootargs = "console=ttyS4,115200 earlycon";
|
||||
};
|
||||
|
||||
memory@80000000 {
|
||||
@ -110,6 +110,30 @@
|
||||
linux,code = <ASPEED_GPIO(Q, 5)>;
|
||||
};
|
||||
|
||||
psu1_vin_good {
|
||||
label = "PSU1_VIN_GOOD";
|
||||
gpios = <&gpio ASPEED_GPIO(H, 4) GPIO_ACTIVE_LOW>;
|
||||
linux,code = <ASPEED_GPIO(H, 4)>;
|
||||
};
|
||||
|
||||
psu2_vin_good {
|
||||
label = "PSU2_VIN_GOOD";
|
||||
gpios = <&gpio ASPEED_GPIO(H, 5) GPIO_ACTIVE_LOW>;
|
||||
linux,code = <ASPEED_GPIO(H, 5)>;
|
||||
};
|
||||
|
||||
psu1_present {
|
||||
label = "PSU1_PRESENT";
|
||||
gpios = <&gpio ASPEED_GPIO(I, 0) GPIO_ACTIVE_LOW>;
|
||||
linux,code = <ASPEED_GPIO(I, 0)>;
|
||||
};
|
||||
|
||||
psu2_present {
|
||||
label = "PSU2_PRESENT";
|
||||
gpios = <&gpio ASPEED_GPIO(I, 1) GPIO_ACTIVE_LOW>;
|
||||
linux,code = <ASPEED_GPIO(I, 1)>;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
gpioA0mux: mux-controller {
|
||||
@ -280,7 +304,7 @@
|
||||
m25p,fast-read;
|
||||
label = "bmc";
|
||||
/* spi-max-frequency = <50000000>; */
|
||||
#include "openbmc-flash-layout.dtsi"
|
||||
#include "openbmc-flash-layout-64.dtsi"
|
||||
};
|
||||
};
|
||||
|
||||
@ -332,6 +356,16 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mac0 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_rmii1_default>;
|
||||
clocks = <&syscon ASPEED_CLK_GATE_MAC1CLK>,
|
||||
<&syscon ASPEED_CLK_MAC1RCLK>;
|
||||
clock-names = "MACCLK", "RCLK";
|
||||
use-ncsi;
|
||||
};
|
||||
|
||||
&mac1 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
@ -426,6 +460,19 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c10 {
|
||||
status = "okay";
|
||||
adm1278@10 {
|
||||
compatible = "adi,adm1278";
|
||||
reg = <0x10>;
|
||||
};
|
||||
|
||||
adm1278@11 {
|
||||
compatible = "adi,adm1278";
|
||||
reg = <0x11>;
|
||||
};
|
||||
};
|
||||
|
||||
&gfx {
|
||||
status = "okay";
|
||||
memory-region = <&gfx_memory>;
|
||||
@ -529,8 +576,9 @@
|
||||
"S1_DDR_SAVE","","",
|
||||
/*G0-G7*/ "S0_FW_BOOT_OK","SHD_REQ_L","","S0_OVERTEMP_L","","",
|
||||
"","",
|
||||
/*H0-H7*/ "","","","","","","","",
|
||||
/*I0-I7*/ "","","S1_BMC_SPECIAL_BOOT","","","","","",
|
||||
/*H0-H7*/ "","","","","PSU1_VIN_GOOD","PSU2_VIN_GOOD","","",
|
||||
/*I0-I7*/ "PSU1_PRESENT","PSU2_PRESENT","S1_BMC_SPECIAL_BOOT",
|
||||
"","","","","",
|
||||
/*J0-J7*/ "S0_HIGHTEMP_L","S0_FAULT_L","S0_SCP_AUTH_FAIL_L","",
|
||||
"","","","",
|
||||
/*K0-K7*/ "","","","","","","","",
|
||||
@ -540,7 +588,8 @@
|
||||
/*O0-O7*/ "","","","","","","","",
|
||||
/*P0-P7*/ "","","","","","","","",
|
||||
/*Q0-Q7*/ "","","","","","UID_BUTTON","","",
|
||||
/*R0-R7*/ "","","BMC_EXT_HIGHTEMP_L","","","RESET_BUTTON","","",
|
||||
/*R0-R7*/ "","","BMC_EXT_HIGHTEMP_L","OCP_AUX_PWREN",
|
||||
"OCP_MAIN_PWREN","RESET_BUTTON","","",
|
||||
/*S0-S7*/ "","","","","","","","",
|
||||
/*T0-T7*/ "","","","","","","","",
|
||||
/*U0-U7*/ "","","","","","","","",
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
chosen {
|
||||
stdout-path = &uart5;
|
||||
bootargs = "console=ttyS4,115200 earlyprintk";
|
||||
bootargs = "console=ttyS4,115200 earlycon";
|
||||
};
|
||||
|
||||
memory@80000000 {
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
chosen {
|
||||
stdout-path = &uart5;
|
||||
bootargs = "console=ttyS4,115200 earlyprintk";
|
||||
bootargs = "console=ttyS4,115200 earlycon";
|
||||
};
|
||||
|
||||
memory@80000000 {
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
chosen {
|
||||
stdout-path = &uart5;
|
||||
bootargs = "console=tty0 console=ttyS4,115200 earlyprintk";
|
||||
bootargs = "console=tty0 console=ttyS4,115200 earlycon";
|
||||
};
|
||||
|
||||
memory@80000000 {
|
||||
|
@ -55,7 +55,7 @@
|
||||
|
||||
chosen {
|
||||
stdout-path = &uart5;
|
||||
bootargs = "console=ttyS4,115200 earlyprintk";
|
||||
bootargs = "console=ttyS4,115200 earlycon";
|
||||
};
|
||||
|
||||
memory@80000000 {
|
||||
|
@ -280,7 +280,7 @@
|
||||
|
||||
chosen {
|
||||
stdout-path = &uart1;
|
||||
bootargs = "console=ttyS1,9600n8 root=/dev/ram rw earlyprintk";
|
||||
bootargs = "console=ttyS1,9600n8 root=/dev/ram rw earlycon";
|
||||
};
|
||||
|
||||
ast-adc-hwmon {
|
||||
|
@ -37,7 +37,7 @@
|
||||
};
|
||||
chosen {
|
||||
stdout-path = &uart5;
|
||||
bootargs = "console=ttyS4,115200 earlyprintk";
|
||||
bootargs = "console=ttyS4,115200 earlycon";
|
||||
};
|
||||
|
||||
memory@80000000 {
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -19,33 +19,3 @@
|
||||
reg = <0x6b>;
|
||||
};
|
||||
};
|
||||
|
||||
&fan0 {
|
||||
tach-pulses = <4>;
|
||||
/delete-property/ maxim,fan-dual-tach;
|
||||
};
|
||||
|
||||
&fan1 {
|
||||
tach-pulses = <4>;
|
||||
/delete-property/ maxim,fan-dual-tach;
|
||||
};
|
||||
|
||||
&fan2 {
|
||||
tach-pulses = <4>;
|
||||
/delete-property/ maxim,fan-dual-tach;
|
||||
};
|
||||
|
||||
&fan3 {
|
||||
tach-pulses = <4>;
|
||||
/delete-property/ maxim,fan-dual-tach;
|
||||
};
|
||||
|
||||
&fan4 {
|
||||
tach-pulses = <4>;
|
||||
/delete-property/ maxim,fan-dual-tach;
|
||||
};
|
||||
|
||||
&fan5 {
|
||||
tach-pulses = <4>;
|
||||
/delete-property/ maxim,fan-dual-tach;
|
||||
};
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
chosen {
|
||||
stdout-path = &uart5;
|
||||
bootargs = "console=ttyS4,115200 earlyprintk";
|
||||
bootargs = "console=ttyS4,115200 earlycon";
|
||||
};
|
||||
|
||||
memory@80000000 {
|
||||
|
@ -11,7 +11,7 @@
|
||||
|
||||
chosen {
|
||||
stdout-path = &uart5;
|
||||
bootargs = "earlyprintk";
|
||||
bootargs = "earlycon";
|
||||
};
|
||||
|
||||
memory {
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
chosen {
|
||||
stdout-path = &uart5;
|
||||
bootargs = "earlyprintk";
|
||||
bootargs = "earlycon";
|
||||
};
|
||||
|
||||
memory@80000000 {
|
||||
|
@ -27,7 +27,7 @@
|
||||
|
||||
chosen {
|
||||
stdout-path = &uart5;
|
||||
bootargs = "console=tty0 console=ttyS4,115200 earlyprintk";
|
||||
bootargs = "console=tty0 console=ttyS4,115200 earlycon";
|
||||
};
|
||||
|
||||
memory@80000000 {
|
||||
|
@ -27,7 +27,7 @@
|
||||
|
||||
chosen {
|
||||
stdout-path = &uart5;
|
||||
bootargs = "console=tty0 console=ttyS4,115200 earlyprintk";
|
||||
bootargs = "console=tty0 console=ttyS4,115200 earlycon";
|
||||
};
|
||||
|
||||
memory@80000000 {
|
||||
|
@ -11,7 +11,7 @@
|
||||
|
||||
chosen {
|
||||
stdout-path = &uart5;
|
||||
bootargs = "console=ttyS4,115200 earlyprintk";
|
||||
bootargs = "console=ttyS4,115200 earlycon";
|
||||
};
|
||||
|
||||
memory@40000000 {
|
||||
|
@ -11,7 +11,7 @@
|
||||
|
||||
chosen {
|
||||
stdout-path = &uart5;
|
||||
bootargs = "console=ttyS4,115200 earlyprintk";
|
||||
bootargs = "console=ttyS4,115200 earlycon";
|
||||
};
|
||||
|
||||
memory@80000000 {
|
||||
|
@ -57,7 +57,7 @@
|
||||
|
||||
chosen {
|
||||
stdout-path = &uart5;
|
||||
bootargs = "console=ttyS4,115200 earlyprintk";
|
||||
bootargs = "console=ttyS4,115200 earlycon";
|
||||
};
|
||||
|
||||
memory@80000000 {
|
||||
|
@ -11,7 +11,7 @@
|
||||
|
||||
chosen {
|
||||
stdout-path = &uart5;
|
||||
bootargs = "console=ttyS4,115200 earlyprintk";
|
||||
bootargs = "console=ttyS4,115200 earlycon";
|
||||
};
|
||||
|
||||
memory@80000000 {
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
chosen {
|
||||
stdout-path = &uart5;
|
||||
bootargs = "console=ttyS4,115200 earlyprintk";
|
||||
bootargs = "console=ttyS4,115200 earlycon";
|
||||
};
|
||||
|
||||
memory@80000000 {
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
chosen {
|
||||
stdout-path = &uart5;
|
||||
bootargs = "console=ttyS4,115200 earlyprintk";
|
||||
bootargs = "console=ttyS4,115200 earlycon";
|
||||
};
|
||||
|
||||
memory@40000000 {
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||
chosen {
|
||||
stdout-path = &uart5;
|
||||
bootargs = "console=ttyS4,115200 earlyprintk";
|
||||
bootargs = "console=ttyS4,115200 earlycon";
|
||||
};
|
||||
|
||||
memory@80000000 {
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
chosen {
|
||||
stdout-path = &uart5;
|
||||
bootargs = "console=ttyS4,115200 earlyprintk";
|
||||
bootargs = "console=ttyS4,115200 earlycon";
|
||||
};
|
||||
|
||||
memory@80000000 {
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
chosen {
|
||||
stdout-path = &uart5;
|
||||
bootargs = "console=ttyS4,115200n8";
|
||||
bootargs = "console=ttyS4,115200n8 earlycon";
|
||||
};
|
||||
|
||||
memory@80000000 {
|
||||
|
@ -11,7 +11,7 @@
|
||||
|
||||
chosen {
|
||||
stdout-path = &uart5;
|
||||
bootargs = "console=ttyS4,115200 earlyprintk";
|
||||
bootargs = "console=ttyS4,115200 earlycon";
|
||||
};
|
||||
|
||||
memory@40000000 {
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
chosen {
|
||||
stdout-path = &uart5;
|
||||
bootargs = "console=ttyS4,115200 earlyprintk";
|
||||
bootargs = "console=ttyS4,115200 earlycon";
|
||||
};
|
||||
|
||||
memory@80000000 {
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
chosen {
|
||||
stdout-path = &uart5;
|
||||
bootargs = "console=ttyS4,115200 earlyprintk";
|
||||
bootargs = "console=ttyS4,115200 earlycon";
|
||||
};
|
||||
|
||||
memory@80000000 {
|
||||
|
@ -14,7 +14,7 @@
|
||||
};
|
||||
chosen {
|
||||
stdout-path = &uart5;
|
||||
bootargs = "console=ttyS4,115200 earlyprintk";
|
||||
bootargs = "console=ttyS4,115200 earlycon";
|
||||
};
|
||||
|
||||
memory@80000000 {
|
||||
|
@ -28,7 +28,7 @@
|
||||
|
||||
chosen {
|
||||
stdout-path = &uart5;
|
||||
bootargs = "console=ttyS4,115200 earlyprintk";
|
||||
bootargs = "console=ttyS4,115200 earlycon";
|
||||
};
|
||||
|
||||
memory@40000000 {
|
||||
|
@ -11,7 +11,7 @@
|
||||
|
||||
chosen {
|
||||
stdout-path = &uart5;
|
||||
bootargs = "earlyprintk";
|
||||
bootargs = "earlycon";
|
||||
};
|
||||
|
||||
memory@80000000 {
|
||||
|
@ -264,6 +264,7 @@
|
||||
reg-io-width = <4>;
|
||||
clocks = <&syscon ASPEED_CLK_GATE_D1CLK>;
|
||||
resets = <&syscon ASPEED_RESET_CRT1>;
|
||||
syscon = <&syscon>;
|
||||
status = "disabled";
|
||||
interrupts = <0x19>;
|
||||
};
|
||||
|
@ -862,11 +862,21 @@
|
||||
groups = "SGPM1";
|
||||
};
|
||||
|
||||
pinctrl_sgpm2_default: sgpm2_default {
|
||||
function = "SGPM2";
|
||||
groups = "SGPM2";
|
||||
};
|
||||
|
||||
pinctrl_sgps1_default: sgps1_default {
|
||||
function = "SGPS1";
|
||||
groups = "SGPS1";
|
||||
};
|
||||
|
||||
pinctrl_sgps2_default: sgps2_default {
|
||||
function = "SGPS2";
|
||||
groups = "SGPS2";
|
||||
};
|
||||
|
||||
pinctrl_sioonctrl_default: sioonctrl_default {
|
||||
function = "SIOONCTRL";
|
||||
groups = "SIOONCTRL";
|
||||
|
@ -460,7 +460,7 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
nand: nand@18046000 {
|
||||
nand_controller: nand-controller@18046000 {
|
||||
compatible = "brcm,nand-iproc", "brcm,brcmnand-v6.1";
|
||||
reg = <0x18046000 0x600>, <0xf8105408 0x600>,
|
||||
<0x18046f00 0x20>;
|
||||
|
@ -179,7 +179,7 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
nand: nand@26000 {
|
||||
nand_controller: nand-controller@26000 {
|
||||
compatible = "brcm,nand-iproc", "brcm,brcmnand-v6.1";
|
||||
reg = <0x26000 0x600>,
|
||||
<0x11b408 0x600>,
|
||||
|
@ -269,7 +269,7 @@
|
||||
dma-coherent;
|
||||
};
|
||||
|
||||
nand: nand@26000 {
|
||||
nand_controller: nand-controller@26000 {
|
||||
compatible = "brcm,nand-iproc", "brcm,brcmnand-v6.1";
|
||||
reg = <0x026000 0x600>,
|
||||
<0x11b408 0x600>,
|
||||
|
@ -1,11 +1,9 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/dts-v1/;
|
||||
#include "bcm2711.dtsi"
|
||||
#include "bcm2835-rpi.dtsi"
|
||||
#include "bcm2711-rpi.dtsi"
|
||||
#include "bcm283x-rpi-usb-peripheral.dtsi"
|
||||
|
||||
#include <dt-bindings/reset/raspberrypi,firmware-reset.h>
|
||||
|
||||
/ {
|
||||
compatible = "raspberrypi,4-model-b", "brcm,bcm2711";
|
||||
model = "Raspberry Pi 4 Model B";
|
||||
@ -15,25 +13,12 @@
|
||||
stdout-path = "serial1:115200n8";
|
||||
};
|
||||
|
||||
/* Will be filled by the bootloader */
|
||||
memory@0 {
|
||||
device_type = "memory";
|
||||
reg = <0 0 0>;
|
||||
};
|
||||
|
||||
aliases {
|
||||
emmc2bus = &emmc2bus;
|
||||
ethernet0 = &genet;
|
||||
pcie0 = &pcie0;
|
||||
blconfig = &blconfig;
|
||||
};
|
||||
|
||||
leds {
|
||||
act {
|
||||
led-act {
|
||||
gpios = <&gpio 42 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
pwr {
|
||||
led-pwr {
|
||||
label = "PWR";
|
||||
gpios = <&expgpio 2 GPIO_ACTIVE_LOW>;
|
||||
default-state = "keep";
|
||||
@ -79,31 +64,15 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&firmware {
|
||||
firmware_clocks: clocks {
|
||||
compatible = "raspberrypi,firmware-clocks";
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
expgpio: gpio {
|
||||
compatible = "raspberrypi,firmware-gpio";
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
gpio-line-names = "BT_ON",
|
||||
"WL_ON",
|
||||
"PWR_LED_OFF",
|
||||
"GLOBAL_RESET",
|
||||
"VDD_SD_IO_SEL",
|
||||
"CAM_GPIO",
|
||||
"SD_PWR_ON",
|
||||
"";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
reset: reset {
|
||||
compatible = "raspberrypi,firmware-reset";
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
&expgpio {
|
||||
gpio-line-names = "BT_ON",
|
||||
"WL_ON",
|
||||
"PWR_LED_OFF",
|
||||
"GLOBAL_RESET",
|
||||
"VDD_SD_IO_SEL",
|
||||
"CAM_GPIO",
|
||||
"SD_PWR_ON",
|
||||
"";
|
||||
};
|
||||
|
||||
&gpio {
|
||||
@ -180,23 +149,13 @@
|
||||
};
|
||||
|
||||
&hdmi0 {
|
||||
clocks = <&firmware_clocks 13>, <&firmware_clocks 14>, <&dvp 0>, <&clk_27MHz>;
|
||||
clock-names = "hdmi", "bvb", "audio", "cec";
|
||||
wifi-2.4ghz-coexistence;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi1 {
|
||||
clocks = <&firmware_clocks 13>, <&firmware_clocks 14>, <&dvp 1>, <&clk_27MHz>;
|
||||
clock-names = "hdmi", "bvb", "audio", "cec";
|
||||
wifi-2.4ghz-coexistence;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hvs {
|
||||
clocks = <&firmware_clocks 4>;
|
||||
};
|
||||
|
||||
&pixelvalve0 {
|
||||
status = "okay";
|
||||
};
|
||||
@ -219,22 +178,6 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&rmem {
|
||||
/*
|
||||
* RPi4's co-processor will copy the board's bootloader configuration
|
||||
* into memory for the OS to consume. It'll also update this node with
|
||||
* its placement information.
|
||||
*/
|
||||
blconfig: nvram@0 {
|
||||
compatible = "raspberrypi,bootloader-config", "nvmem-rmem";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
reg = <0x0 0x0 0x0>;
|
||||
no-map;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
/* SDHCI is used to control the SDIO for wireless */
|
||||
&sdhci {
|
||||
#address-cells = <1>;
|
||||
@ -309,10 +252,6 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&vchiq {
|
||||
interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
&vc4 {
|
||||
status = "okay";
|
||||
};
|
||||
|
45
arch/arm/boot/dts/bcm2711-rpi-400.dts
Normal file
45
arch/arm/boot/dts/bcm2711-rpi-400.dts
Normal file
@ -0,0 +1,45 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/dts-v1/;
|
||||
#include "bcm2711-rpi-4-b.dts"
|
||||
|
||||
/ {
|
||||
compatible = "raspberrypi,400", "brcm,bcm2711";
|
||||
model = "Raspberry Pi 400";
|
||||
|
||||
chosen {
|
||||
/* 8250 auxiliary UART instead of pl011 */
|
||||
stdout-path = "serial1:115200n8";
|
||||
};
|
||||
|
||||
leds {
|
||||
/delete-node/ led-act;
|
||||
|
||||
led-pwr {
|
||||
gpios = <&gpio 42 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
gpio-poweroff {
|
||||
compatible = "gpio-poweroff";
|
||||
gpios = <&expgpio 5 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
&expgpio {
|
||||
gpio-line-names = "BT_ON",
|
||||
"WL_ON",
|
||||
"",
|
||||
"GLOBAL_RESET",
|
||||
"VDD_SD_IO_SEL",
|
||||
"CAM_GPIO",
|
||||
"SD_PWR_ON",
|
||||
"SD_OC_N";
|
||||
};
|
||||
|
||||
&genet_mdio {
|
||||
clock-frequency = <1950000>;
|
||||
};
|
||||
|
||||
&pm {
|
||||
/delete-property/ system-power-controller;
|
||||
};
|
74
arch/arm/boot/dts/bcm2711-rpi.dtsi
Normal file
74
arch/arm/boot/dts/bcm2711-rpi.dtsi
Normal file
@ -0,0 +1,74 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
#include "bcm2835-rpi.dtsi"
|
||||
|
||||
#include <dt-bindings/reset/raspberrypi,firmware-reset.h>
|
||||
|
||||
/ {
|
||||
/* Will be filled by the bootloader */
|
||||
memory@0 {
|
||||
device_type = "memory";
|
||||
reg = <0 0 0>;
|
||||
};
|
||||
|
||||
aliases {
|
||||
emmc2bus = &emmc2bus;
|
||||
ethernet0 = &genet;
|
||||
pcie0 = &pcie0;
|
||||
blconfig = &blconfig;
|
||||
};
|
||||
};
|
||||
|
||||
&firmware {
|
||||
firmware_clocks: clocks {
|
||||
compatible = "raspberrypi,firmware-clocks";
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
expgpio: gpio {
|
||||
compatible = "raspberrypi,firmware-gpio";
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
reset: reset {
|
||||
compatible = "raspberrypi,firmware-reset";
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
&hdmi0 {
|
||||
clocks = <&firmware_clocks 13>, <&firmware_clocks 14>, <&dvp 0>, <&clk_27MHz>;
|
||||
clock-names = "hdmi", "bvb", "audio", "cec";
|
||||
wifi-2.4ghz-coexistence;
|
||||
};
|
||||
|
||||
&hdmi1 {
|
||||
clocks = <&firmware_clocks 13>, <&firmware_clocks 14>, <&dvp 1>, <&clk_27MHz>;
|
||||
clock-names = "hdmi", "bvb", "audio", "cec";
|
||||
wifi-2.4ghz-coexistence;
|
||||
};
|
||||
|
||||
&hvs {
|
||||
clocks = <&firmware_clocks 4>;
|
||||
};
|
||||
|
||||
&rmem {
|
||||
/*
|
||||
* RPi4's co-processor will copy the board's bootloader configuration
|
||||
* into memory for the OS to consume. It'll also update this node with
|
||||
* its placement information.
|
||||
*/
|
||||
blconfig: nvram@0 {
|
||||
compatible = "raspberrypi,bootloader-config", "nvmem-rmem";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
reg = <0x0 0x0 0x0>;
|
||||
no-map;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
&vchiq {
|
||||
interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
@ -413,7 +413,7 @@
|
||||
ranges = <0x0 0x7e000000 0x0 0xfe000000 0x01800000>;
|
||||
dma-ranges = <0x0 0xc0000000 0x0 0x00000000 0x40000000>;
|
||||
|
||||
emmc2: emmc2@7e340000 {
|
||||
emmc2: mmc@7e340000 {
|
||||
compatible = "brcm,bcm2711-emmc2";
|
||||
reg = <0x0 0x7e340000 0x100>;
|
||||
interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
|
||||
@ -1087,5 +1087,6 @@
|
||||
};
|
||||
|
||||
&vec {
|
||||
compatible = "brcm,bcm2711-vec";
|
||||
interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
@ -14,11 +14,11 @@
|
||||
};
|
||||
|
||||
leds {
|
||||
act {
|
||||
led-act {
|
||||
gpios = <&gpio 47 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
pwr {
|
||||
led-pwr {
|
||||
label = "PWR";
|
||||
gpios = <&gpio 35 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "keep";
|
||||
|
@ -14,7 +14,7 @@
|
||||
};
|
||||
|
||||
leds {
|
||||
act {
|
||||
led-act {
|
||||
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
@ -15,11 +15,11 @@
|
||||
};
|
||||
|
||||
leds {
|
||||
act {
|
||||
led-act {
|
||||
gpios = <&gpio 47 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
pwr {
|
||||
led-pwr {
|
||||
label = "PWR";
|
||||
gpios = <&gpio 35 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "keep";
|
||||
|
@ -15,7 +15,7 @@
|
||||
};
|
||||
|
||||
leds {
|
||||
act {
|
||||
led-act {
|
||||
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
@ -15,7 +15,7 @@
|
||||
};
|
||||
|
||||
leds {
|
||||
act {
|
||||
led-act {
|
||||
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
/ {
|
||||
leds {
|
||||
act {
|
||||
led-act {
|
||||
gpios = <&gpio 47 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
@ -23,7 +23,7 @@
|
||||
};
|
||||
|
||||
leds {
|
||||
act {
|
||||
led-act {
|
||||
gpios = <&gpio 47 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
@ -18,7 +18,7 @@
|
||||
};
|
||||
|
||||
leds {
|
||||
act {
|
||||
led-act {
|
||||
gpios = <&gpio 47 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
@ -4,7 +4,7 @@
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
act {
|
||||
led-act {
|
||||
label = "ACT";
|
||||
default-state = "keep";
|
||||
linux,default-trigger = "heartbeat";
|
||||
|
@ -15,11 +15,11 @@
|
||||
};
|
||||
|
||||
leds {
|
||||
act {
|
||||
led-act {
|
||||
gpios = <&gpio 47 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
pwr {
|
||||
led-pwr {
|
||||
label = "PWR";
|
||||
gpios = <&gpio 35 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "keep";
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user