/* * BSD LICENSE * * Copyright(c) 2016-2017 Broadcom. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in * the documentation and/or other materials provided with the * distribution. * * Neither the name of Broadcom nor the names of its * contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include <dt-bindings/clock/bcm-sr.h> osc: oscillator { #clock-cells = <0>; compatible = "fixed-clock"; clock-frequency = <50000000>; }; crmu_ref25m: crmu_ref25m { #clock-cells = <0>; compatible = "fixed-factor-clock"; clocks = <&osc>; clock-div = <2>; clock-mult = <1>; }; genpll0: genpll0@1d104 { #clock-cells = <1>; compatible = "brcm,sr-genpll0"; reg = <0x0001d104 0x32>, <0x0001c854 0x4>; clocks = <&osc>; clock-output-names = "genpll0", "clk_125m", "clk_scr", "clk_250", "clk_pcie_axi", "clk_paxc_axi_x2", "clk_paxc_axi"; }; genpll2: genpll2@1d1ac { #clock-cells = <1>; compatible = "brcm,sr-genpll2"; reg = <0x0001d1ac 0x32>, <0x0001c854 0x4>; clocks = <&osc>; clock-output-names = "genpll2", "clk_nic", "clk_ts_500_ref", "clk_125_nitro", "clk_chimp", "clk_nic_flash", "clk_fs"; }; genpll3: genpll3@1d1e0 { #clock-cells = <1>; compatible = "brcm,sr-genpll3"; reg = <0x0001d1e0 0x32>, <0x0001c854 0x4>; clocks = <&osc>; clock-output-names = "genpll3", "clk_hsls", "clk_sdio"; }; genpll4: genpll4@1d214 { #clock-cells = <1>; compatible = "brcm,sr-genpll4"; reg = <0x0001d214 0x32>, <0x0001c854 0x4>; clocks = <&osc>; clock-output-names = "genpll4", "clk_ccn", "clk_tpiu_pll", "clk_noc", "clk_chclk_fs4", "clk_bridge_fscpu"; }; genpll5: genpll5@1d248 { #clock-cells = <1>; compatible = "brcm,sr-genpll5"; reg = <0x0001d248 0x32>, <0x0001c870 0x4>; clocks = <&osc>; clock-output-names = "genpll5", "clk_fs4_hf", "clk_crypto_ae", "clk_raid_ae"; }; lcpll0: lcpll0@1d0c4 { #clock-cells = <1>; compatible = "brcm,sr-lcpll0"; reg = <0x0001d0c4 0x3c>, <0x0001c870 0x4>; clocks = <&osc>; clock-output-names = "lcpll0", "clk_sata_refp", "clk_sata_refn", "clk_sata_350", "clk_sata_500"; }; lcpll1: lcpll1@1d138 { #clock-cells = <1>; compatible = "brcm,sr-lcpll1"; reg = <0x0001d138 0x3c>, <0x0001c870 0x4>; clocks = <&osc>; clock-output-names = "lcpll1", "clk_wan", "clk_usb_ref", "clk_crmu_ts"; }; hsls_clk: hsls_clk { #clock-cells = <0>; compatible = "fixed-factor-clock"; clocks = <&genpll3 1>; clock-div = <1>; clock-mult = <1>; }; hsls_div2_clk: hsls_div2_clk { #clock-cells = <0>; compatible = "fixed-factor-clock"; clocks = <&genpll3 BCM_SR_GENPLL3_HSLS_CLK>; clock-div = <2>; clock-mult = <1>; }; hsls_div4_clk: hsls_div4_clk { #clock-cells = <0>; compatible = "fixed-factor-clock"; clocks = <&genpll3 BCM_SR_GENPLL3_HSLS_CLK>; clock-div = <4>; clock-mult = <1>; }; hsls_25m_clk: hsls_25m_clk { #clock-cells = <0>; compatible = "fixed-factor-clock"; clocks = <&crmu_ref25m>; clock-div = <1>; clock-mult = <1>; }; hsls_25m_div2_clk: hsls_25m_div2_clk { #clock-cells = <0>; compatible = "fixed-factor-clock"; clocks = <&hsls_25m_clk>; clock-div = <2>; clock-mult = <1>; }; sdio0_clk: sdio0_clk { #clock-cells = <0>; compatible = "fixed-factor-clock"; clocks = <&genpll3 BCM_SR_GENPLL3_SDIO_CLK>; clock-div = <1>; clock-mult = <1>; }; sdio1_clk: sdio1_clk { #clock-cells = <0>; compatible = "fixed-factor-clock"; clocks = <&genpll3 BCM_SR_GENPLL3_SDIO_CLK>; clock-div = <1>; clock-mult = <1>; };