162306a36Sopenharmony_ci/* 262306a36Sopenharmony_ci * BSD LICENSE 362306a36Sopenharmony_ci * 462306a36Sopenharmony_ci * Copyright(c) 2016-2017 Broadcom. All rights reserved. 562306a36Sopenharmony_ci * 662306a36Sopenharmony_ci * Redistribution and use in source and binary forms, with or without 762306a36Sopenharmony_ci * modification, are permitted provided that the following conditions 862306a36Sopenharmony_ci * are met: 962306a36Sopenharmony_ci * 1062306a36Sopenharmony_ci * * Redistributions of source code must retain the above copyright 1162306a36Sopenharmony_ci * notice, this list of conditions and the following disclaimer. 1262306a36Sopenharmony_ci * * Redistributions in binary form must reproduce the above copyright 1362306a36Sopenharmony_ci * notice, this list of conditions and the following disclaimer in 1462306a36Sopenharmony_ci * the documentation and/or other materials provided with the 1562306a36Sopenharmony_ci * distribution. 1662306a36Sopenharmony_ci * * Neither the name of Broadcom nor the names of its 1762306a36Sopenharmony_ci * contributors may be used to endorse or promote products derived 1862306a36Sopenharmony_ci * from this software without specific prior written permission. 1962306a36Sopenharmony_ci * 2062306a36Sopenharmony_ci * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 2162306a36Sopenharmony_ci * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 2262306a36Sopenharmony_ci * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 2362306a36Sopenharmony_ci * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 2462306a36Sopenharmony_ci * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 2562306a36Sopenharmony_ci * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 2662306a36Sopenharmony_ci * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 2762306a36Sopenharmony_ci * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 2862306a36Sopenharmony_ci * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 2962306a36Sopenharmony_ci * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 3062306a36Sopenharmony_ci * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 3162306a36Sopenharmony_ci */ 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ci#include <dt-bindings/clock/bcm-sr.h> 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ci osc: oscillator { 3662306a36Sopenharmony_ci #clock-cells = <0>; 3762306a36Sopenharmony_ci compatible = "fixed-clock"; 3862306a36Sopenharmony_ci clock-frequency = <50000000>; 3962306a36Sopenharmony_ci }; 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ci crmu_ref25m: crmu_ref25m { 4262306a36Sopenharmony_ci #clock-cells = <0>; 4362306a36Sopenharmony_ci compatible = "fixed-factor-clock"; 4462306a36Sopenharmony_ci clocks = <&osc>; 4562306a36Sopenharmony_ci clock-div = <2>; 4662306a36Sopenharmony_ci clock-mult = <1>; 4762306a36Sopenharmony_ci }; 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ci genpll0: genpll0@1d104 { 5062306a36Sopenharmony_ci #clock-cells = <1>; 5162306a36Sopenharmony_ci compatible = "brcm,sr-genpll0"; 5262306a36Sopenharmony_ci reg = <0x0001d104 0x32>, 5362306a36Sopenharmony_ci <0x0001c854 0x4>; 5462306a36Sopenharmony_ci clocks = <&osc>; 5562306a36Sopenharmony_ci clock-output-names = "genpll0", "clk_125m", "clk_scr", 5662306a36Sopenharmony_ci "clk_250", "clk_pcie_axi", 5762306a36Sopenharmony_ci "clk_paxc_axi_x2", 5862306a36Sopenharmony_ci "clk_paxc_axi"; 5962306a36Sopenharmony_ci }; 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ci genpll2: genpll2@1d1ac { 6262306a36Sopenharmony_ci #clock-cells = <1>; 6362306a36Sopenharmony_ci compatible = "brcm,sr-genpll2"; 6462306a36Sopenharmony_ci reg = <0x0001d1ac 0x32>, 6562306a36Sopenharmony_ci <0x0001c854 0x4>; 6662306a36Sopenharmony_ci clocks = <&osc>; 6762306a36Sopenharmony_ci clock-output-names = "genpll2", "clk_nic", 6862306a36Sopenharmony_ci "clk_ts_500_ref", "clk_125_nitro", 6962306a36Sopenharmony_ci "clk_chimp", "clk_nic_flash", 7062306a36Sopenharmony_ci "clk_fs"; 7162306a36Sopenharmony_ci }; 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_ci genpll3: genpll3@1d1e0 { 7462306a36Sopenharmony_ci #clock-cells = <1>; 7562306a36Sopenharmony_ci compatible = "brcm,sr-genpll3"; 7662306a36Sopenharmony_ci reg = <0x0001d1e0 0x32>, 7762306a36Sopenharmony_ci <0x0001c854 0x4>; 7862306a36Sopenharmony_ci clocks = <&osc>; 7962306a36Sopenharmony_ci clock-output-names = "genpll3", "clk_hsls", 8062306a36Sopenharmony_ci "clk_sdio"; 8162306a36Sopenharmony_ci }; 8262306a36Sopenharmony_ci 8362306a36Sopenharmony_ci genpll4: genpll4@1d214 { 8462306a36Sopenharmony_ci #clock-cells = <1>; 8562306a36Sopenharmony_ci compatible = "brcm,sr-genpll4"; 8662306a36Sopenharmony_ci reg = <0x0001d214 0x32>, 8762306a36Sopenharmony_ci <0x0001c854 0x4>; 8862306a36Sopenharmony_ci clocks = <&osc>; 8962306a36Sopenharmony_ci clock-output-names = "genpll4", "clk_ccn", 9062306a36Sopenharmony_ci "clk_tpiu_pll", "clk_noc", 9162306a36Sopenharmony_ci "clk_chclk_fs4", 9262306a36Sopenharmony_ci "clk_bridge_fscpu"; 9362306a36Sopenharmony_ci }; 9462306a36Sopenharmony_ci 9562306a36Sopenharmony_ci genpll5: genpll5@1d248 { 9662306a36Sopenharmony_ci #clock-cells = <1>; 9762306a36Sopenharmony_ci compatible = "brcm,sr-genpll5"; 9862306a36Sopenharmony_ci reg = <0x0001d248 0x32>, 9962306a36Sopenharmony_ci <0x0001c870 0x4>; 10062306a36Sopenharmony_ci clocks = <&osc>; 10162306a36Sopenharmony_ci clock-output-names = "genpll5", "clk_fs4_hf", 10262306a36Sopenharmony_ci "clk_crypto_ae", "clk_raid_ae"; 10362306a36Sopenharmony_ci }; 10462306a36Sopenharmony_ci 10562306a36Sopenharmony_ci lcpll0: lcpll0@1d0c4 { 10662306a36Sopenharmony_ci #clock-cells = <1>; 10762306a36Sopenharmony_ci compatible = "brcm,sr-lcpll0"; 10862306a36Sopenharmony_ci reg = <0x0001d0c4 0x3c>, 10962306a36Sopenharmony_ci <0x0001c870 0x4>; 11062306a36Sopenharmony_ci clocks = <&osc>; 11162306a36Sopenharmony_ci clock-output-names = "lcpll0", "clk_sata_refp", 11262306a36Sopenharmony_ci "clk_sata_refn", "clk_sata_350", 11362306a36Sopenharmony_ci "clk_sata_500"; 11462306a36Sopenharmony_ci }; 11562306a36Sopenharmony_ci 11662306a36Sopenharmony_ci lcpll1: lcpll1@1d138 { 11762306a36Sopenharmony_ci #clock-cells = <1>; 11862306a36Sopenharmony_ci compatible = "brcm,sr-lcpll1"; 11962306a36Sopenharmony_ci reg = <0x0001d138 0x3c>, 12062306a36Sopenharmony_ci <0x0001c870 0x4>; 12162306a36Sopenharmony_ci clocks = <&osc>; 12262306a36Sopenharmony_ci clock-output-names = "lcpll1", "clk_wan", 12362306a36Sopenharmony_ci "clk_usb_ref", 12462306a36Sopenharmony_ci "clk_crmu_ts"; 12562306a36Sopenharmony_ci }; 12662306a36Sopenharmony_ci 12762306a36Sopenharmony_ci hsls_clk: hsls_clk { 12862306a36Sopenharmony_ci #clock-cells = <0>; 12962306a36Sopenharmony_ci compatible = "fixed-factor-clock"; 13062306a36Sopenharmony_ci clocks = <&genpll3 1>; 13162306a36Sopenharmony_ci clock-div = <1>; 13262306a36Sopenharmony_ci clock-mult = <1>; 13362306a36Sopenharmony_ci }; 13462306a36Sopenharmony_ci 13562306a36Sopenharmony_ci hsls_div2_clk: hsls_div2_clk { 13662306a36Sopenharmony_ci #clock-cells = <0>; 13762306a36Sopenharmony_ci compatible = "fixed-factor-clock"; 13862306a36Sopenharmony_ci clocks = <&genpll3 BCM_SR_GENPLL3_HSLS_CLK>; 13962306a36Sopenharmony_ci clock-div = <2>; 14062306a36Sopenharmony_ci clock-mult = <1>; 14162306a36Sopenharmony_ci 14262306a36Sopenharmony_ci }; 14362306a36Sopenharmony_ci 14462306a36Sopenharmony_ci hsls_div4_clk: hsls_div4_clk { 14562306a36Sopenharmony_ci #clock-cells = <0>; 14662306a36Sopenharmony_ci compatible = "fixed-factor-clock"; 14762306a36Sopenharmony_ci clocks = <&genpll3 BCM_SR_GENPLL3_HSLS_CLK>; 14862306a36Sopenharmony_ci clock-div = <4>; 14962306a36Sopenharmony_ci clock-mult = <1>; 15062306a36Sopenharmony_ci }; 15162306a36Sopenharmony_ci 15262306a36Sopenharmony_ci hsls_25m_clk: hsls_25m_clk { 15362306a36Sopenharmony_ci #clock-cells = <0>; 15462306a36Sopenharmony_ci compatible = "fixed-factor-clock"; 15562306a36Sopenharmony_ci clocks = <&crmu_ref25m>; 15662306a36Sopenharmony_ci clock-div = <1>; 15762306a36Sopenharmony_ci clock-mult = <1>; 15862306a36Sopenharmony_ci }; 15962306a36Sopenharmony_ci 16062306a36Sopenharmony_ci hsls_25m_div2_clk: hsls_25m_div2_clk { 16162306a36Sopenharmony_ci #clock-cells = <0>; 16262306a36Sopenharmony_ci compatible = "fixed-factor-clock"; 16362306a36Sopenharmony_ci clocks = <&hsls_25m_clk>; 16462306a36Sopenharmony_ci clock-div = <2>; 16562306a36Sopenharmony_ci clock-mult = <1>; 16662306a36Sopenharmony_ci }; 16762306a36Sopenharmony_ci 16862306a36Sopenharmony_ci sdio0_clk: sdio0_clk { 16962306a36Sopenharmony_ci #clock-cells = <0>; 17062306a36Sopenharmony_ci compatible = "fixed-factor-clock"; 17162306a36Sopenharmony_ci clocks = <&genpll3 BCM_SR_GENPLL3_SDIO_CLK>; 17262306a36Sopenharmony_ci clock-div = <1>; 17362306a36Sopenharmony_ci clock-mult = <1>; 17462306a36Sopenharmony_ci }; 17562306a36Sopenharmony_ci 17662306a36Sopenharmony_ci sdio1_clk: sdio1_clk { 17762306a36Sopenharmony_ci #clock-cells = <0>; 17862306a36Sopenharmony_ci compatible = "fixed-factor-clock"; 17962306a36Sopenharmony_ci clocks = <&genpll3 BCM_SR_GENPLL3_SDIO_CLK>; 18062306a36Sopenharmony_ci clock-div = <1>; 18162306a36Sopenharmony_ci clock-mult = <1>; 18262306a36Sopenharmony_ci }; 183