162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/clock/brcm,iproc-clocks.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Broadcom iProc Family Clocks
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Ray Jui <rjui@broadcom.com>
1162306a36Sopenharmony_ci  - Scott Branden <sbranden@broadcom.com>
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_cidescription: |
1462306a36Sopenharmony_ci  The iProc clock controller manages clocks that are common to the iProc family.
1562306a36Sopenharmony_ci  An SoC from the iProc family may have several PLLs, e.g., ARMPLL, GENPLL,
1662306a36Sopenharmony_ci  LCPLL0, MIPIPLL, and etc., all derived from an onboard crystal. Each PLL
1762306a36Sopenharmony_ci  comprises of several leaf clocks
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci  ASIU clocks are a special case. These clocks are derived directly from the
2062306a36Sopenharmony_ci  reference clock of the onboard crystal.
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ciproperties:
2362306a36Sopenharmony_ci  compatible:
2462306a36Sopenharmony_ci    enum:
2562306a36Sopenharmony_ci      - brcm,bcm63138-armpll
2662306a36Sopenharmony_ci      - brcm,cygnus-armpll
2762306a36Sopenharmony_ci      - brcm,cygnus-genpll
2862306a36Sopenharmony_ci      - brcm,cygnus-lcpll0
2962306a36Sopenharmony_ci      - brcm,cygnus-mipipll
3062306a36Sopenharmony_ci      - brcm,cygnus-asiu-clk
3162306a36Sopenharmony_ci      - brcm,cygnus-audiopll
3262306a36Sopenharmony_ci      - brcm,hr2-armpll
3362306a36Sopenharmony_ci      - brcm,nsp-armpll
3462306a36Sopenharmony_ci      - brcm,nsp-genpll
3562306a36Sopenharmony_ci      - brcm,nsp-lcpll0
3662306a36Sopenharmony_ci      - brcm,ns2-genpll-scr
3762306a36Sopenharmony_ci      - brcm,ns2-genpll-sw
3862306a36Sopenharmony_ci      - brcm,ns2-lcpll-ddr
3962306a36Sopenharmony_ci      - brcm,ns2-lcpll-ports
4062306a36Sopenharmony_ci      - brcm,sr-genpll0
4162306a36Sopenharmony_ci      - brcm,sr-genpll1
4262306a36Sopenharmony_ci      - brcm,sr-genpll2
4362306a36Sopenharmony_ci      - brcm,sr-genpll3
4462306a36Sopenharmony_ci      - brcm,sr-genpll4
4562306a36Sopenharmony_ci      - brcm,sr-genpll5
4662306a36Sopenharmony_ci      - brcm,sr-genpll6
4762306a36Sopenharmony_ci      - brcm,sr-lcpll0
4862306a36Sopenharmony_ci      - brcm,sr-lcpll1
4962306a36Sopenharmony_ci      - brcm,sr-lcpll-pcie
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ci  reg:
5262306a36Sopenharmony_ci    minItems: 1
5362306a36Sopenharmony_ci    items:
5462306a36Sopenharmony_ci      - description: base register
5562306a36Sopenharmony_ci      - description: power register
5662306a36Sopenharmony_ci      - description: ASIU or split status register
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci  clocks:
5962306a36Sopenharmony_ci    description: The input parent clock phandle for the PLL / ASIU clock. For
6062306a36Sopenharmony_ci      most iProc PLLs, this is an onboard crystal with a fixed rate.
6162306a36Sopenharmony_ci    maxItems: 1
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ci  '#clock-cells':
6462306a36Sopenharmony_ci    true
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_ci  clock-output-names:
6762306a36Sopenharmony_ci    minItems: 1
6862306a36Sopenharmony_ci    maxItems: 45
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_ciallOf:
7162306a36Sopenharmony_ci  - if:
7262306a36Sopenharmony_ci      properties:
7362306a36Sopenharmony_ci        compatible:
7462306a36Sopenharmony_ci          contains:
7562306a36Sopenharmony_ci            enum:
7662306a36Sopenharmony_ci              - brcm,cygnus-armpll
7762306a36Sopenharmony_ci              - brcm,nsp-armpll
7862306a36Sopenharmony_ci    then:
7962306a36Sopenharmony_ci      properties:
8062306a36Sopenharmony_ci        '#clock-cells':
8162306a36Sopenharmony_ci          const: 0
8262306a36Sopenharmony_ci    else:
8362306a36Sopenharmony_ci      properties:
8462306a36Sopenharmony_ci        '#clock-cells':
8562306a36Sopenharmony_ci          const: 1
8662306a36Sopenharmony_ci      required:
8762306a36Sopenharmony_ci        - clock-output-names
8862306a36Sopenharmony_ci  - if:
8962306a36Sopenharmony_ci      properties:
9062306a36Sopenharmony_ci        compatible:
9162306a36Sopenharmony_ci          contains:
9262306a36Sopenharmony_ci            enum:
9362306a36Sopenharmony_ci              - brcm,cygnus-armpll
9462306a36Sopenharmony_ci              - brcm,cygnus-genpll
9562306a36Sopenharmony_ci              - brcm,cygnus-lcpll0
9662306a36Sopenharmony_ci              - brcm,cygnus-mipipll
9762306a36Sopenharmony_ci              - brcm,cygnus-asiu-clk
9862306a36Sopenharmony_ci              - brcm,cygnus-audiopll
9962306a36Sopenharmony_ci    then:
10062306a36Sopenharmony_ci      properties:
10162306a36Sopenharmony_ci        clock-output-names:
10262306a36Sopenharmony_ci          description: |
10362306a36Sopenharmony_ci            The following table defines the set of PLL/clock index and ID for Cygnus.
10462306a36Sopenharmony_ci            These clock IDs are defined in:
10562306a36Sopenharmony_ci                "include/dt-bindings/clock/bcm-cygnus.h"
10662306a36Sopenharmony_ci
10762306a36Sopenharmony_ci            Clock      	Source (Parent)	Index	ID
10862306a36Sopenharmony_ci            -----	---------------	-----	--
10962306a36Sopenharmony_ci            crystal	N/A		N/A	N/A
11062306a36Sopenharmony_ci
11162306a36Sopenharmony_ci            armpll	crystal		N/A	N/A
11262306a36Sopenharmony_ci
11362306a36Sopenharmony_ci            keypad	crystal (ASIU)	0	BCM_CYGNUS_ASIU_KEYPAD_CLK
11462306a36Sopenharmony_ci            adc/tsc	crystal (ASIU)	1	BCM_CYGNUS_ASIU_ADC_CLK
11562306a36Sopenharmony_ci            pwm	crystal (ASIU)		2	BCM_CYGNUS_ASIU_PWM_CLK
11662306a36Sopenharmony_ci
11762306a36Sopenharmony_ci            genpll	crystal		0	BCM_CYGNUS_GENPLL
11862306a36Sopenharmony_ci            axi21	genpll		1	BCM_CYGNUS_GENPLL_AXI21_CLK
11962306a36Sopenharmony_ci            250mhz	genpll		2	BCM_CYGNUS_GENPLL_250MHZ_CLK
12062306a36Sopenharmony_ci            ihost_sys	genpll		3	BCM_CYGNUS_GENPLL_IHOST_SYS_CLK
12162306a36Sopenharmony_ci            enet_sw	genpll		4	BCM_CYGNUS_GENPLL_ENET_SW_CLK
12262306a36Sopenharmony_ci            audio_125	genpll		5	BCM_CYGNUS_GENPLL_AUDIO_125_CLK
12362306a36Sopenharmony_ci            can		genpll		6	BCM_CYGNUS_GENPLL_CAN_CLK
12462306a36Sopenharmony_ci
12562306a36Sopenharmony_ci            lcpll0	crystal		0	BCM_CYGNUS_LCPLL0
12662306a36Sopenharmony_ci            pcie_phy	lcpll0		1	BCM_CYGNUS_LCPLL0_PCIE_PHY_REF_CLK
12762306a36Sopenharmony_ci            ddr_phy	lcpll0		2	BCM_CYGNUS_LCPLL0_DDR_PHY_CLK
12862306a36Sopenharmony_ci            sdio	lcpll0		3	BCM_CYGNUS_LCPLL0_SDIO_CLK
12962306a36Sopenharmony_ci            usb_phy	lcpll0		4	BCM_CYGNUS_LCPLL0_USB_PHY_REF_CLK
13062306a36Sopenharmony_ci            smart_card	lcpll0		5	BCM_CYGNUS_LCPLL0_SMART_CARD_CLK
13162306a36Sopenharmony_ci            ch5_unused	lcpll0		6	BCM_CYGNUS_LCPLL0_CH5_UNUSED
13262306a36Sopenharmony_ci
13362306a36Sopenharmony_ci            mipipll	crystal		0	BCM_CYGNUS_MIPIPLL
13462306a36Sopenharmony_ci            ch0_unused	mipipll		1	BCM_CYGNUS_MIPIPLL_CH0_UNUSED
13562306a36Sopenharmony_ci            ch1_lcd	mipipll		2	BCM_CYGNUS_MIPIPLL_CH1_LCD
13662306a36Sopenharmony_ci            ch2_v3d	mipipll		3	BCM_CYGNUS_MIPIPLL_CH2_V3D
13762306a36Sopenharmony_ci            ch3_unused	mipipll		4	BCM_CYGNUS_MIPIPLL_CH3_UNUSED
13862306a36Sopenharmony_ci            ch4_unused	mipipll		5	BCM_CYGNUS_MIPIPLL_CH4_UNUSED
13962306a36Sopenharmony_ci            ch5_unused	mipipll		6	BCM_CYGNUS_MIPIPLL_CH5_UNUSED
14062306a36Sopenharmony_ci
14162306a36Sopenharmony_ci            audiopll	crystal		0	BCM_CYGNUS_AUDIOPLL
14262306a36Sopenharmony_ci            ch0_audio	audiopll	1	BCM_CYGNUS_AUDIOPLL_CH0
14362306a36Sopenharmony_ci            ch1_audio	audiopll	2	BCM_CYGNUS_AUDIOPLL_CH1
14462306a36Sopenharmony_ci            ch2_audio	audiopll	3	BCM_CYGNUS_AUDIOPLL_CH2
14562306a36Sopenharmony_ci  - if:
14662306a36Sopenharmony_ci      properties:
14762306a36Sopenharmony_ci        compatible:
14862306a36Sopenharmony_ci          contains:
14962306a36Sopenharmony_ci            enum:
15062306a36Sopenharmony_ci              - brcm,hr2-armpll
15162306a36Sopenharmony_ci    then:
15262306a36Sopenharmony_ci      properties:
15362306a36Sopenharmony_ci        clock-output-names:
15462306a36Sopenharmony_ci          description: |
15562306a36Sopenharmony_ci            The following table defines the set of PLL/clock for Hurricane 2:
15662306a36Sopenharmony_ci
15762306a36Sopenharmony_ci            Clock	Source		Index	ID
15862306a36Sopenharmony_ci            -----	------		-----	--
15962306a36Sopenharmony_ci            crystal	N/A		N/A	N/A
16062306a36Sopenharmony_ci
16162306a36Sopenharmony_ci            armpll	crystal		N/A	N/A
16262306a36Sopenharmony_ci  - if:
16362306a36Sopenharmony_ci      properties:
16462306a36Sopenharmony_ci        compatible:
16562306a36Sopenharmony_ci          contains:
16662306a36Sopenharmony_ci            enum:
16762306a36Sopenharmony_ci              - brcm,nsp-armpll
16862306a36Sopenharmony_ci              - brcm,nsp-genpll
16962306a36Sopenharmony_ci              - brcm,nsp-lcpll0
17062306a36Sopenharmony_ci    then:
17162306a36Sopenharmony_ci      properties:
17262306a36Sopenharmony_ci        clock-output-names:
17362306a36Sopenharmony_ci          description: |
17462306a36Sopenharmony_ci            The following table defines the set of PLL/clock index and ID for Northstar and
17562306a36Sopenharmony_ci            Northstar Plus.  These clock IDs are defined in:
17662306a36Sopenharmony_ci                "include/dt-bindings/clock/bcm-nsp.h"
17762306a36Sopenharmony_ci
17862306a36Sopenharmony_ci            Clock	Source		Index	ID
17962306a36Sopenharmony_ci            -----	------		-----	--
18062306a36Sopenharmony_ci            crystal	N/A		N/A	N/A
18162306a36Sopenharmony_ci
18262306a36Sopenharmony_ci            armpll	crystal		N/A	N/A
18362306a36Sopenharmony_ci
18462306a36Sopenharmony_ci            genpll	crystal		0	BCM_NSP_GENPLL
18562306a36Sopenharmony_ci            phy		genpll		1	BCM_NSP_GENPLL_PHY_CLK
18662306a36Sopenharmony_ci            ethernetclk	genpll		2	BCM_NSP_GENPLL_ENET_SW_CLK
18762306a36Sopenharmony_ci            usbclk	genpll		3	BCM_NSP_GENPLL_USB_PHY_REF_CLK
18862306a36Sopenharmony_ci            iprocfast	genpll		4	BCM_NSP_GENPLL_IPROCFAST_CLK
18962306a36Sopenharmony_ci            sata1	genpll		5	BCM_NSP_GENPLL_SATA1_CLK
19062306a36Sopenharmony_ci            sata2	genpll		6	BCM_NSP_GENPLL_SATA2_CLK
19162306a36Sopenharmony_ci
19262306a36Sopenharmony_ci            lcpll0	crystal		0	BCM_NSP_LCPLL0
19362306a36Sopenharmony_ci            pcie_phy	lcpll0		1	BCM_NSP_LCPLL0_PCIE_PHY_REF_CLK
19462306a36Sopenharmony_ci            sdio	lcpll0		2	BCM_NSP_LCPLL0_SDIO_CLK
19562306a36Sopenharmony_ci            ddr_phy	lcpll0		3	BCM_NSP_LCPLL0_DDR_PHY_CLK
19662306a36Sopenharmony_ci  - if:
19762306a36Sopenharmony_ci      properties:
19862306a36Sopenharmony_ci        compatible:
19962306a36Sopenharmony_ci          contains:
20062306a36Sopenharmony_ci            enum:
20162306a36Sopenharmony_ci              - brcm,ns2-genpll-scr
20262306a36Sopenharmony_ci              - brcm,ns2-genpll-sw
20362306a36Sopenharmony_ci              - brcm,ns2-lcpll-ddr
20462306a36Sopenharmony_ci              - brcm,ns2-lcpll-ports
20562306a36Sopenharmony_ci    then:
20662306a36Sopenharmony_ci      properties:
20762306a36Sopenharmony_ci        clock-output-names:
20862306a36Sopenharmony_ci          description: |
20962306a36Sopenharmony_ci            The following table defines the set of PLL/clock index and ID for Northstar 2.
21062306a36Sopenharmony_ci            These clock IDs are defined in:
21162306a36Sopenharmony_ci                "include/dt-bindings/clock/bcm-ns2.h"
21262306a36Sopenharmony_ci
21362306a36Sopenharmony_ci            Clock	Source		Index	ID
21462306a36Sopenharmony_ci            -----	------		-----	--
21562306a36Sopenharmony_ci            crystal	N/A		N/A	N/A
21662306a36Sopenharmony_ci
21762306a36Sopenharmony_ci            genpll_scr	crystal		0	BCM_NS2_GENPLL_SCR
21862306a36Sopenharmony_ci            scr		genpll_scr	1	BCM_NS2_GENPLL_SCR_SCR_CLK
21962306a36Sopenharmony_ci            fs		genpll_scr	2	BCM_NS2_GENPLL_SCR_FS_CLK
22062306a36Sopenharmony_ci            audio_ref	genpll_scr	3	BCM_NS2_GENPLL_SCR_AUDIO_CLK
22162306a36Sopenharmony_ci            ch3_unused	genpll_scr	4	BCM_NS2_GENPLL_SCR_CH3_UNUSED
22262306a36Sopenharmony_ci            ch4_unused	genpll_scr	5	BCM_NS2_GENPLL_SCR_CH4_UNUSED
22362306a36Sopenharmony_ci            ch5_unused	genpll_scr	6	BCM_NS2_GENPLL_SCR_CH5_UNUSED
22462306a36Sopenharmony_ci
22562306a36Sopenharmony_ci            genpll_sw	crystal		0	BCM_NS2_GENPLL_SW
22662306a36Sopenharmony_ci            rpe		genpll_sw	1	BCM_NS2_GENPLL_SW_RPE_CLK
22762306a36Sopenharmony_ci            250		genpll_sw	2	BCM_NS2_GENPLL_SW_250_CLK
22862306a36Sopenharmony_ci            nic		genpll_sw	3	BCM_NS2_GENPLL_SW_NIC_CLK
22962306a36Sopenharmony_ci            chimp	genpll_sw	4	BCM_NS2_GENPLL_SW_CHIMP_CLK
23062306a36Sopenharmony_ci            port	genpll_sw	5	BCM_NS2_GENPLL_SW_PORT_CLK
23162306a36Sopenharmony_ci            sdio	genpll_sw	6	BCM_NS2_GENPLL_SW_SDIO_CLK
23262306a36Sopenharmony_ci
23362306a36Sopenharmony_ci            lcpll_ddr	crystal		0	BCM_NS2_LCPLL_DDR
23462306a36Sopenharmony_ci            pcie_sata_usb lcpll_ddr	1	BCM_NS2_LCPLL_DDR_PCIE_SATA_USB_CLK
23562306a36Sopenharmony_ci            ddr		lcpll_ddr	2	BCM_NS2_LCPLL_DDR_DDR_CLK
23662306a36Sopenharmony_ci            ch2_unused	lcpll_ddr	3	BCM_NS2_LCPLL_DDR_CH2_UNUSED
23762306a36Sopenharmony_ci            ch3_unused	lcpll_ddr	4	BCM_NS2_LCPLL_DDR_CH3_UNUSED
23862306a36Sopenharmony_ci            ch4_unused	lcpll_ddr	5	BCM_NS2_LCPLL_DDR_CH4_UNUSED
23962306a36Sopenharmony_ci            ch5_unused	lcpll_ddr	6	BCM_NS2_LCPLL_DDR_CH5_UNUSED
24062306a36Sopenharmony_ci
24162306a36Sopenharmony_ci            lcpll_ports	crystal		0	BCM_NS2_LCPLL_PORTS
24262306a36Sopenharmony_ci            wan		lcpll_ports	1	BCM_NS2_LCPLL_PORTS_WAN_CLK
24362306a36Sopenharmony_ci            rgmii	lcpll_ports	2	BCM_NS2_LCPLL_PORTS_RGMII_CLK
24462306a36Sopenharmony_ci            ch2_unused	lcpll_ports	3	BCM_NS2_LCPLL_PORTS_CH2_UNUSED
24562306a36Sopenharmony_ci            ch3_unused	lcpll_ports	4	BCM_NS2_LCPLL_PORTS_CH3_UNUSED
24662306a36Sopenharmony_ci            ch4_unused	lcpll_ports	5	BCM_NS2_LCPLL_PORTS_CH4_UNUSED
24762306a36Sopenharmony_ci            ch5_unused	lcpll_ports	6	BCM_NS2_LCPLL_PORTS_CH5_UNUSED
24862306a36Sopenharmony_ci  - if:
24962306a36Sopenharmony_ci      properties:
25062306a36Sopenharmony_ci        compatible:
25162306a36Sopenharmony_ci          contains:
25262306a36Sopenharmony_ci            enum:
25362306a36Sopenharmony_ci              - brcm,sr-genpll0
25462306a36Sopenharmony_ci              - brcm,sr-genpll1
25562306a36Sopenharmony_ci              - brcm,sr-genpll2
25662306a36Sopenharmony_ci              - brcm,sr-genpll3
25762306a36Sopenharmony_ci              - brcm,sr-genpll4
25862306a36Sopenharmony_ci              - brcm,sr-genpll5
25962306a36Sopenharmony_ci              - brcm,sr-genpll6
26062306a36Sopenharmony_ci              - brcm,sr-lcpll0
26162306a36Sopenharmony_ci              - brcm,sr-lcpll1
26262306a36Sopenharmony_ci              - brcm,sr-lcpll-pcie
26362306a36Sopenharmony_ci    then:
26462306a36Sopenharmony_ci      properties:
26562306a36Sopenharmony_ci        clock-output-names:
26662306a36Sopenharmony_ci          description: |
26762306a36Sopenharmony_ci            The following table defines the set of PLL/clock index and ID for Stingray.
26862306a36Sopenharmony_ci            These clock IDs are defined in:
26962306a36Sopenharmony_ci                "include/dt-bindings/clock/bcm-sr.h"
27062306a36Sopenharmony_ci
27162306a36Sopenharmony_ci            Clock		Source		Index	ID
27262306a36Sopenharmony_ci            -----		------		-----	--
27362306a36Sopenharmony_ci            crystal		N/A		N/A	N/A
27462306a36Sopenharmony_ci            crmu_ref25m		crystal		N/A	N/A
27562306a36Sopenharmony_ci
27662306a36Sopenharmony_ci            genpll0		crystal		0	BCM_SR_GENPLL0
27762306a36Sopenharmony_ci            clk_125m		genpll0		1	BCM_SR_GENPLL0_125M_CLK
27862306a36Sopenharmony_ci            clk_scr		genpll0		2	BCM_SR_GENPLL0_SCR_CLK
27962306a36Sopenharmony_ci            clk_250		genpll0		3	BCM_SR_GENPLL0_250M_CLK
28062306a36Sopenharmony_ci            clk_pcie_axi	genpll0		4	BCM_SR_GENPLL0_PCIE_AXI_CLK
28162306a36Sopenharmony_ci            clk_paxc_axi_x2	genpll0		5	BCM_SR_GENPLL0_PAXC_AXI_X2_CLK
28262306a36Sopenharmony_ci            clk_paxc_axi	genpll0		6	BCM_SR_GENPLL0_PAXC_AXI_CLK
28362306a36Sopenharmony_ci
28462306a36Sopenharmony_ci            genpll1		crystal		0	BCM_SR_GENPLL1
28562306a36Sopenharmony_ci            clk_pcie_tl		genpll1		1	BCM_SR_GENPLL1_PCIE_TL_CLK
28662306a36Sopenharmony_ci            clk_mhb_apb		genpll1		2	BCM_SR_GENPLL1_MHB_APB_CLK
28762306a36Sopenharmony_ci
28862306a36Sopenharmony_ci            genpll2		crystal		0	BCM_SR_GENPLL2
28962306a36Sopenharmony_ci            clk_nic		genpll2		1	BCM_SR_GENPLL2_NIC_CLK
29062306a36Sopenharmony_ci            clk_ts_500_ref	genpll2		2	BCM_SR_GENPLL2_TS_500_REF_CLK
29162306a36Sopenharmony_ci            clk_125_nitro	genpll2		3	BCM_SR_GENPLL2_125_NITRO_CLK
29262306a36Sopenharmony_ci            clk_chimp		genpll2		4	BCM_SR_GENPLL2_CHIMP_CLK
29362306a36Sopenharmony_ci            clk_nic_flash	genpll2		5	BCM_SR_GENPLL2_NIC_FLASH_CLK
29462306a36Sopenharmony_ci            clk_fs		genpll2		6	BCM_SR_GENPLL2_FS_CLK
29562306a36Sopenharmony_ci
29662306a36Sopenharmony_ci            genpll3		crystal		0	BCM_SR_GENPLL3
29762306a36Sopenharmony_ci            clk_hsls		genpll3		1	BCM_SR_GENPLL3_HSLS_CLK
29862306a36Sopenharmony_ci            clk_sdio		genpll3		2	BCM_SR_GENPLL3_SDIO_CLK
29962306a36Sopenharmony_ci
30062306a36Sopenharmony_ci            genpll4		crystal		0	BCM_SR_GENPLL4
30162306a36Sopenharmony_ci            clk_ccn		genpll4		1	BCM_SR_GENPLL4_CCN_CLK
30262306a36Sopenharmony_ci            clk_tpiu_pll	genpll4		2	BCM_SR_GENPLL4_TPIU_PLL_CLK
30362306a36Sopenharmony_ci            clk_noc		genpll4		3	BCM_SR_GENPLL4_NOC_CLK
30462306a36Sopenharmony_ci            clk_chclk_fs4	genpll4		4	BCM_SR_GENPLL4_CHCLK_FS4_CLK
30562306a36Sopenharmony_ci            clk_bridge_fscpu	genpll4		5	BCM_SR_GENPLL4_BRIDGE_FSCPU_CLK
30662306a36Sopenharmony_ci
30762306a36Sopenharmony_ci            genpll5		crystal		0	BCM_SR_GENPLL5
30862306a36Sopenharmony_ci            clk_fs4_hf		genpll5		1	BCM_SR_GENPLL5_FS4_HF_CLK
30962306a36Sopenharmony_ci            clk_crypto_ae	genpll5		2	BCM_SR_GENPLL5_CRYPTO_AE_CLK
31062306a36Sopenharmony_ci            clk_raid_ae		genpll5		3	BCM_SR_GENPLL5_RAID_AE_CLK
31162306a36Sopenharmony_ci
31262306a36Sopenharmony_ci            genpll6		crystal		0	BCM_SR_GENPLL6
31362306a36Sopenharmony_ci            clk_48_usb		genpll6		1	BCM_SR_GENPLL6_48_USB_CLK
31462306a36Sopenharmony_ci
31562306a36Sopenharmony_ci            lcpll0		crystal		0	BCM_SR_LCPLL0
31662306a36Sopenharmony_ci            clk_sata_refp 	lcpll0		1	BCM_SR_LCPLL0_SATA_REFP_CLK
31762306a36Sopenharmony_ci            clk_sata_refn	lcpll0		2	BCM_SR_LCPLL0_SATA_REFN_CLK
31862306a36Sopenharmony_ci            clk_sata_350	lcpll0		3	BCM_SR_LCPLL0_SATA_350_CLK
31962306a36Sopenharmony_ci            clk_sata_500	lcpll0		4	BCM_SR_LCPLL0_SATA_500_CLK
32062306a36Sopenharmony_ci
32162306a36Sopenharmony_ci            lcpll1		crystal		0	BCM_SR_LCPLL1
32262306a36Sopenharmony_ci            clk_wan		lcpll1		1	BCM_SR_LCPLL1_WAN_CLK
32362306a36Sopenharmony_ci            clk_usb_ref		lcpll1		2	BCM_SR_LCPLL1_USB_REF_CLK
32462306a36Sopenharmony_ci            clk_crmu_ts		lcpll1		3	BCM_SR_LCPLL1_CRMU_TS_CLK
32562306a36Sopenharmony_ci
32662306a36Sopenharmony_ci            lcpll_pcie		crystal		0	BCM_SR_LCPLL_PCIE
32762306a36Sopenharmony_ci            clk_pcie_phy_ref	lcpll1		1	BCM_SR_LCPLL_PCIE_PHY_REF_CLK
32862306a36Sopenharmony_ci  - if:
32962306a36Sopenharmony_ci      properties:
33062306a36Sopenharmony_ci        compatible:
33162306a36Sopenharmony_ci          contains:
33262306a36Sopenharmony_ci            const: brcm,cygnus-genpll
33362306a36Sopenharmony_ci    then:
33462306a36Sopenharmony_ci      properties:
33562306a36Sopenharmony_ci        clock-output-names:
33662306a36Sopenharmony_ci          items:
33762306a36Sopenharmony_ci            - const: genpll
33862306a36Sopenharmony_ci            - const: axi21
33962306a36Sopenharmony_ci            - const: 250mhz
34062306a36Sopenharmony_ci            - const: ihost_sys
34162306a36Sopenharmony_ci            - const: enet_sw
34262306a36Sopenharmony_ci            - const: audio_125
34362306a36Sopenharmony_ci            - const: can
34462306a36Sopenharmony_ci  - if:
34562306a36Sopenharmony_ci      properties:
34662306a36Sopenharmony_ci        compatible:
34762306a36Sopenharmony_ci          contains:
34862306a36Sopenharmony_ci            const: brcm,nsp-lcpll0
34962306a36Sopenharmony_ci    then:
35062306a36Sopenharmony_ci      properties:
35162306a36Sopenharmony_ci        clock-output-names:
35262306a36Sopenharmony_ci          items:
35362306a36Sopenharmony_ci            - const: lcpll0
35462306a36Sopenharmony_ci            - const: pcie_phy
35562306a36Sopenharmony_ci            - const: sdio
35662306a36Sopenharmony_ci            - const: ddr_phy
35762306a36Sopenharmony_ci  - if:
35862306a36Sopenharmony_ci      properties:
35962306a36Sopenharmony_ci        compatible:
36062306a36Sopenharmony_ci          contains:
36162306a36Sopenharmony_ci            const: brcm,nsp-genpll
36262306a36Sopenharmony_ci    then:
36362306a36Sopenharmony_ci      properties:
36462306a36Sopenharmony_ci        clock-output-names:
36562306a36Sopenharmony_ci          items:
36662306a36Sopenharmony_ci            - const: genpll
36762306a36Sopenharmony_ci            - const: phy
36862306a36Sopenharmony_ci            - const: ethernetclk
36962306a36Sopenharmony_ci            - const: usbclk
37062306a36Sopenharmony_ci            - const: iprocfast
37162306a36Sopenharmony_ci            - const: sata1
37262306a36Sopenharmony_ci            - const: sata2
37362306a36Sopenharmony_ci
37462306a36Sopenharmony_cirequired:
37562306a36Sopenharmony_ci  - reg
37662306a36Sopenharmony_ci  - clocks
37762306a36Sopenharmony_ci  - '#clock-cells'
37862306a36Sopenharmony_ci
37962306a36Sopenharmony_ciadditionalProperties: false
38062306a36Sopenharmony_ci
38162306a36Sopenharmony_ciexamples:
38262306a36Sopenharmony_ci  - |
38362306a36Sopenharmony_ci    osc1: oscillator {
38462306a36Sopenharmony_ci        #clock-cells = <0>;
38562306a36Sopenharmony_ci        compatible = "fixed-clock";
38662306a36Sopenharmony_ci        clock-frequency = <25000000>;
38762306a36Sopenharmony_ci    };
38862306a36Sopenharmony_ci
38962306a36Sopenharmony_ci    genpll@301d000 {
39062306a36Sopenharmony_ci        #clock-cells = <1>;
39162306a36Sopenharmony_ci        compatible = "brcm,cygnus-genpll";
39262306a36Sopenharmony_ci        reg = <0x301d000 0x2c>, <0x301c020 0x4>;
39362306a36Sopenharmony_ci        clocks = <&os1c>;
39462306a36Sopenharmony_ci        clock-output-names = "genpll", "axi21", "250mhz", "ihost_sys",
39562306a36Sopenharmony_ci                     "enet_sw", "audio_125", "can";
39662306a36Sopenharmony_ci    };
39762306a36Sopenharmony_ci  - |
39862306a36Sopenharmony_ci    osc2: oscillator {
39962306a36Sopenharmony_ci        #clock-cells = <0>;
40062306a36Sopenharmony_ci        compatible = "fixed-clock";
40162306a36Sopenharmony_ci        clock-frequency = <25000000>;
40262306a36Sopenharmony_ci    };
40362306a36Sopenharmony_ci
40462306a36Sopenharmony_ci    asiu_clks@301d048 {
40562306a36Sopenharmony_ci        #clock-cells = <1>;
40662306a36Sopenharmony_ci        compatible = "brcm,cygnus-asiu-clk";
40762306a36Sopenharmony_ci        reg = <0x301d048 0xc>, <0x180aa024 0x4>;
40862306a36Sopenharmony_ci        clocks = <&osc2>;
40962306a36Sopenharmony_ci        clock-output-names = "keypad", "adc/touch", "pwm";
41062306a36Sopenharmony_ci    };
41162306a36Sopenharmony_ci  - |
41262306a36Sopenharmony_ci    arm_clk@0 {
41362306a36Sopenharmony_ci        #clock-cells = <0>;
41462306a36Sopenharmony_ci        compatible = "brcm,nsp-armpll";
41562306a36Sopenharmony_ci        clocks = <&osc>;
41662306a36Sopenharmony_ci        reg = <0x0 0x1000>;
41762306a36Sopenharmony_ci    };
418