mirror of
https://github.com/t2linux/kernel.git
synced 2026-04-30 13:48:59 -07:00
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:
@@ -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
|
||||
@@ -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";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -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";
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user