1*833e5d42SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*833e5d42SEmmanuel Vadot%YAML 1.2 3*833e5d42SEmmanuel Vadot--- 4*833e5d42SEmmanuel Vadot$id: http://devicetree.org/schemas/clock/img,pistachio-clk.yaml# 5*833e5d42SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*833e5d42SEmmanuel Vadot 7*833e5d42SEmmanuel Vadottitle: Imagination Technologies Pistachio SoC clock controllers 8*833e5d42SEmmanuel Vadot 9*833e5d42SEmmanuel Vadotmaintainers: 10*833e5d42SEmmanuel Vadot - Andrew Bresticker <abrestic@chromium.org> 11*833e5d42SEmmanuel Vadot 12*833e5d42SEmmanuel Vadotdescription: | 13*833e5d42SEmmanuel Vadot Pistachio has four clock controllers (core clock, peripheral clock, peripheral 14*833e5d42SEmmanuel Vadot general control, and top general control) which are instantiated individually 15*833e5d42SEmmanuel Vadot from the device-tree. 16*833e5d42SEmmanuel Vadot 17*833e5d42SEmmanuel Vadot Core clock controller: 18*833e5d42SEmmanuel Vadot 19*833e5d42SEmmanuel Vadot The core clock controller generates clocks for the CPU, RPU (WiFi + BT 20*833e5d42SEmmanuel Vadot co-processor), audio, and several peripherals. 21*833e5d42SEmmanuel Vadot 22*833e5d42SEmmanuel Vadot Peripheral clock controller: 23*833e5d42SEmmanuel Vadot 24*833e5d42SEmmanuel Vadot The peripheral clock controller generates clocks for the DDR, ROM, and other 25*833e5d42SEmmanuel Vadot peripherals. The peripheral system clock ("periph_sys") generated by the core 26*833e5d42SEmmanuel Vadot clock controller is the input clock to the peripheral clock controller. 27*833e5d42SEmmanuel Vadot 28*833e5d42SEmmanuel Vadot Peripheral general control: 29*833e5d42SEmmanuel Vadot 30*833e5d42SEmmanuel Vadot The peripheral general control block generates system interface clocks and 31*833e5d42SEmmanuel Vadot resets for various peripherals. It also contains miscellaneous peripheral 32*833e5d42SEmmanuel Vadot control registers. 33*833e5d42SEmmanuel Vadot 34*833e5d42SEmmanuel Vadot Top-level general control: 35*833e5d42SEmmanuel Vadot 36*833e5d42SEmmanuel Vadot The top-level general control block contains miscellaneous control registers 37*833e5d42SEmmanuel Vadot and gates for the external clocks "audio_clk_in" and "enet_clk_in". 38*833e5d42SEmmanuel Vadot 39*833e5d42SEmmanuel Vadotproperties: 40*833e5d42SEmmanuel Vadot compatible: 41*833e5d42SEmmanuel Vadot items: 42*833e5d42SEmmanuel Vadot - enum: 43*833e5d42SEmmanuel Vadot - img,pistachio-clk 44*833e5d42SEmmanuel Vadot - img,pistachio-clk-periph 45*833e5d42SEmmanuel Vadot - img,pistachio-cr-periph 46*833e5d42SEmmanuel Vadot - img,pistachio-cr-top 47*833e5d42SEmmanuel Vadot 48*833e5d42SEmmanuel Vadot reg: 49*833e5d42SEmmanuel Vadot maxItems: 1 50*833e5d42SEmmanuel Vadot 51*833e5d42SEmmanuel Vadot '#clock-cells': 52*833e5d42SEmmanuel Vadot const: 1 53*833e5d42SEmmanuel Vadot 54*833e5d42SEmmanuel Vadot clocks: 55*833e5d42SEmmanuel Vadot minItems: 1 56*833e5d42SEmmanuel Vadot maxItems: 3 57*833e5d42SEmmanuel Vadot 58*833e5d42SEmmanuel Vadot clock-names: 59*833e5d42SEmmanuel Vadot minItems: 1 60*833e5d42SEmmanuel Vadot maxItems: 3 61*833e5d42SEmmanuel Vadot 62*833e5d42SEmmanuel Vadotrequired: 63*833e5d42SEmmanuel Vadot - compatible 64*833e5d42SEmmanuel Vadot - reg 65*833e5d42SEmmanuel Vadot - '#clock-cells' 66*833e5d42SEmmanuel Vadot - clocks 67*833e5d42SEmmanuel Vadot - clock-names 68*833e5d42SEmmanuel Vadot 69*833e5d42SEmmanuel VadotallOf: 70*833e5d42SEmmanuel Vadot - if: 71*833e5d42SEmmanuel Vadot properties: 72*833e5d42SEmmanuel Vadot compatible: 73*833e5d42SEmmanuel Vadot contains: 74*833e5d42SEmmanuel Vadot const: img,pistachio-clk 75*833e5d42SEmmanuel Vadot then: 76*833e5d42SEmmanuel Vadot properties: 77*833e5d42SEmmanuel Vadot clocks: 78*833e5d42SEmmanuel Vadot items: 79*833e5d42SEmmanuel Vadot - description: External 52Mhz oscillator 80*833e5d42SEmmanuel Vadot - description: Alternate audio reference clock 81*833e5d42SEmmanuel Vadot - description: Alternate ethernet PHY clock 82*833e5d42SEmmanuel Vadot 83*833e5d42SEmmanuel Vadot clock-names: 84*833e5d42SEmmanuel Vadot items: 85*833e5d42SEmmanuel Vadot - const: xtal 86*833e5d42SEmmanuel Vadot - const: audio_refclk_ext_gate 87*833e5d42SEmmanuel Vadot - const: ext_enet_in_gate 88*833e5d42SEmmanuel Vadot 89*833e5d42SEmmanuel Vadot - if: 90*833e5d42SEmmanuel Vadot properties: 91*833e5d42SEmmanuel Vadot compatible: 92*833e5d42SEmmanuel Vadot contains: 93*833e5d42SEmmanuel Vadot const: img,pistachio-clk-periph 94*833e5d42SEmmanuel Vadot then: 95*833e5d42SEmmanuel Vadot properties: 96*833e5d42SEmmanuel Vadot clocks: 97*833e5d42SEmmanuel Vadot items: 98*833e5d42SEmmanuel Vadot - description: Peripheral system clock 99*833e5d42SEmmanuel Vadot 100*833e5d42SEmmanuel Vadot clock-names: 101*833e5d42SEmmanuel Vadot items: 102*833e5d42SEmmanuel Vadot - const: periph_sys_core 103*833e5d42SEmmanuel Vadot 104*833e5d42SEmmanuel Vadot - if: 105*833e5d42SEmmanuel Vadot properties: 106*833e5d42SEmmanuel Vadot compatible: 107*833e5d42SEmmanuel Vadot contains: 108*833e5d42SEmmanuel Vadot const: img,pistachio-cr-periph 109*833e5d42SEmmanuel Vadot then: 110*833e5d42SEmmanuel Vadot properties: 111*833e5d42SEmmanuel Vadot clocks: 112*833e5d42SEmmanuel Vadot items: 113*833e5d42SEmmanuel Vadot - description: System interface clock 114*833e5d42SEmmanuel Vadot 115*833e5d42SEmmanuel Vadot clock-names: 116*833e5d42SEmmanuel Vadot items: 117*833e5d42SEmmanuel Vadot - const: sys 118*833e5d42SEmmanuel Vadot 119*833e5d42SEmmanuel Vadot - if: 120*833e5d42SEmmanuel Vadot properties: 121*833e5d42SEmmanuel Vadot compatible: 122*833e5d42SEmmanuel Vadot contains: 123*833e5d42SEmmanuel Vadot const: img,pistachio-cr-top 124*833e5d42SEmmanuel Vadot then: 125*833e5d42SEmmanuel Vadot properties: 126*833e5d42SEmmanuel Vadot clocks: 127*833e5d42SEmmanuel Vadot items: 128*833e5d42SEmmanuel Vadot - description: External audio reference clock 129*833e5d42SEmmanuel Vadot - description: External ethernet PHY clock 130*833e5d42SEmmanuel Vadot 131*833e5d42SEmmanuel Vadot clock-names: 132*833e5d42SEmmanuel Vadot items: 133*833e5d42SEmmanuel Vadot - const: audio_clk_in 134*833e5d42SEmmanuel Vadot - const: enet_clk_in 135*833e5d42SEmmanuel Vadot 136*833e5d42SEmmanuel VadotadditionalProperties: false 137