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