1*c66ec88fSEmmanuel Vadot/* 2*c66ec88fSEmmanuel Vadot * BSD LICENSE 3*c66ec88fSEmmanuel Vadot * 4*c66ec88fSEmmanuel Vadot * Copyright (c) 2016 Broadcom. All rights reserved. 5*c66ec88fSEmmanuel Vadot * 6*c66ec88fSEmmanuel Vadot * Redistribution and use in source and binary forms, with or without 7*c66ec88fSEmmanuel Vadot * modification, are permitted provided that the following conditions 8*c66ec88fSEmmanuel Vadot * are met: 9*c66ec88fSEmmanuel Vadot * 10*c66ec88fSEmmanuel Vadot * * Redistributions of source code must retain the above copyright 11*c66ec88fSEmmanuel Vadot * notice, this list of conditions and the following disclaimer. 12*c66ec88fSEmmanuel Vadot * * Redistributions in binary form must reproduce the above copyright 13*c66ec88fSEmmanuel Vadot * notice, this list of conditions and the following disclaimer in 14*c66ec88fSEmmanuel Vadot * the documentation and/or other materials provided with the 15*c66ec88fSEmmanuel Vadot * distribution. 16*c66ec88fSEmmanuel Vadot * * Neither the name of Broadcom Corporation nor the names of its 17*c66ec88fSEmmanuel Vadot * contributors may be used to endorse or promote products derived 18*c66ec88fSEmmanuel Vadot * from this software without specific prior written permission. 19*c66ec88fSEmmanuel Vadot * 20*c66ec88fSEmmanuel Vadot * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 21*c66ec88fSEmmanuel Vadot * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 22*c66ec88fSEmmanuel Vadot * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 23*c66ec88fSEmmanuel Vadot * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 24*c66ec88fSEmmanuel Vadot * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 25*c66ec88fSEmmanuel Vadot * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 26*c66ec88fSEmmanuel Vadot * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 27*c66ec88fSEmmanuel Vadot * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 28*c66ec88fSEmmanuel Vadot * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 29*c66ec88fSEmmanuel Vadot * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 30*c66ec88fSEmmanuel Vadot * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31*c66ec88fSEmmanuel Vadot */ 32*c66ec88fSEmmanuel Vadot 33*c66ec88fSEmmanuel Vadot#include <dt-bindings/clock/bcm-ns2.h> 34*c66ec88fSEmmanuel Vadot 35*c66ec88fSEmmanuel Vadot osc: oscillator { 36*c66ec88fSEmmanuel Vadot #clock-cells = <0>; 37*c66ec88fSEmmanuel Vadot compatible = "fixed-clock"; 38*c66ec88fSEmmanuel Vadot clock-frequency = <25000000>; 39*c66ec88fSEmmanuel Vadot }; 40*c66ec88fSEmmanuel Vadot 41*c66ec88fSEmmanuel Vadot lcpll_ddr: lcpll_ddr@6501d058 { 42*c66ec88fSEmmanuel Vadot #clock-cells = <1>; 43*c66ec88fSEmmanuel Vadot compatible = "brcm,ns2-lcpll-ddr"; 44*c66ec88fSEmmanuel Vadot reg = <0x6501d058 0x20>, 45*c66ec88fSEmmanuel Vadot <0x6501c020 0x4>, 46*c66ec88fSEmmanuel Vadot <0x6501d04c 0x4>; 47*c66ec88fSEmmanuel Vadot clocks = <&osc>; 48*c66ec88fSEmmanuel Vadot clock-output-names = "lcpll_ddr", "pcie_sata_usb", 49*c66ec88fSEmmanuel Vadot "ddr", "ddr_ch2_unused", 50*c66ec88fSEmmanuel Vadot "ddr_ch3_unused", "ddr_ch4_unused", 51*c66ec88fSEmmanuel Vadot "ddr_ch5_unused"; 52*c66ec88fSEmmanuel Vadot }; 53*c66ec88fSEmmanuel Vadot 54*c66ec88fSEmmanuel Vadot lcpll_ports: lcpll_ports@6501d078 { 55*c66ec88fSEmmanuel Vadot #clock-cells = <1>; 56*c66ec88fSEmmanuel Vadot compatible = "brcm,ns2-lcpll-ports"; 57*c66ec88fSEmmanuel Vadot reg = <0x6501d078 0x20>, 58*c66ec88fSEmmanuel Vadot <0x6501c020 0x4>, 59*c66ec88fSEmmanuel Vadot <0x6501d054 0x4>; 60*c66ec88fSEmmanuel Vadot clocks = <&osc>; 61*c66ec88fSEmmanuel Vadot clock-output-names = "lcpll_ports", "wan", "rgmii", 62*c66ec88fSEmmanuel Vadot "ports_ch2_unused", 63*c66ec88fSEmmanuel Vadot "ports_ch3_unused", 64*c66ec88fSEmmanuel Vadot "ports_ch4_unused", 65*c66ec88fSEmmanuel Vadot "ports_ch5_unused"; 66*c66ec88fSEmmanuel Vadot }; 67*c66ec88fSEmmanuel Vadot 68*c66ec88fSEmmanuel Vadot genpll_scr: genpll_scr@6501d098 { 69*c66ec88fSEmmanuel Vadot #clock-cells = <1>; 70*c66ec88fSEmmanuel Vadot compatible = "brcm,ns2-genpll-scr"; 71*c66ec88fSEmmanuel Vadot reg = <0x6501d098 0x32>, 72*c66ec88fSEmmanuel Vadot <0x6501c020 0x4>, 73*c66ec88fSEmmanuel Vadot <0x6501d044 0x4>; 74*c66ec88fSEmmanuel Vadot clocks = <&osc>; 75*c66ec88fSEmmanuel Vadot clock-output-names = "genpll_scr", "scr", "fs", 76*c66ec88fSEmmanuel Vadot "audio_ref", "scr_ch3_unused", 77*c66ec88fSEmmanuel Vadot "scr_ch4_unused", "scr_ch5_unused"; 78*c66ec88fSEmmanuel Vadot }; 79*c66ec88fSEmmanuel Vadot 80*c66ec88fSEmmanuel Vadot iprocmed: iprocmed { 81*c66ec88fSEmmanuel Vadot #clock-cells = <0>; 82*c66ec88fSEmmanuel Vadot compatible = "fixed-factor-clock"; 83*c66ec88fSEmmanuel Vadot clocks = <&genpll_scr BCM_NS2_GENPLL_SCR_SCR_CLK>; 84*c66ec88fSEmmanuel Vadot clock-div = <2>; 85*c66ec88fSEmmanuel Vadot clock-mult = <1>; 86*c66ec88fSEmmanuel Vadot }; 87*c66ec88fSEmmanuel Vadot 88*c66ec88fSEmmanuel Vadot iprocslow: iprocslow { 89*c66ec88fSEmmanuel Vadot #clock-cells = <0>; 90*c66ec88fSEmmanuel Vadot compatible = "fixed-factor-clock"; 91*c66ec88fSEmmanuel Vadot clocks = <&genpll_scr BCM_NS2_GENPLL_SCR_SCR_CLK>; 92*c66ec88fSEmmanuel Vadot clock-div = <4>; 93*c66ec88fSEmmanuel Vadot clock-mult = <1>; 94*c66ec88fSEmmanuel Vadot }; 95*c66ec88fSEmmanuel Vadot 96*c66ec88fSEmmanuel Vadot genpll_sw: genpll_sw@6501d0c4 { 97*c66ec88fSEmmanuel Vadot #clock-cells = <1>; 98*c66ec88fSEmmanuel Vadot compatible = "brcm,ns2-genpll-sw"; 99*c66ec88fSEmmanuel Vadot reg = <0x6501d0c4 0x32>, 100*c66ec88fSEmmanuel Vadot <0x6501c020 0x4>, 101*c66ec88fSEmmanuel Vadot <0x6501d044 0x4>; 102*c66ec88fSEmmanuel Vadot clocks = <&osc>; 103*c66ec88fSEmmanuel Vadot clock-output-names = "genpll_sw", "rpe", "250", "nic", 104*c66ec88fSEmmanuel Vadot "chimp", "port", "sdio"; 105*c66ec88fSEmmanuel Vadot }; 106