1*01950c46SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*01950c46SEmmanuel Vadot%YAML 1.2 3*01950c46SEmmanuel Vadot--- 4*01950c46SEmmanuel Vadot$id: http://devicetree.org/schemas/soc/imx/fsl,imx-anatop.yaml# 5*01950c46SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*01950c46SEmmanuel Vadot 7*01950c46SEmmanuel Vadottitle: ANATOP register 8*01950c46SEmmanuel Vadot 9*01950c46SEmmanuel Vadotmaintainers: 10*01950c46SEmmanuel Vadot - Shawn Guo <shawnguo@kernel.org> 11*01950c46SEmmanuel Vadot - Sascha Hauer <s.hauer@pengutronix.de> 12*01950c46SEmmanuel Vadot 13*01950c46SEmmanuel Vadotproperties: 14*01950c46SEmmanuel Vadot compatible: 15*01950c46SEmmanuel Vadot oneOf: 16*01950c46SEmmanuel Vadot - items: 17*01950c46SEmmanuel Vadot - enum: 18*01950c46SEmmanuel Vadot - fsl,imx6sl-anatop 19*01950c46SEmmanuel Vadot - fsl,imx6sll-anatop 20*01950c46SEmmanuel Vadot - fsl,imx6sx-anatop 21*01950c46SEmmanuel Vadot - fsl,imx6ul-anatop 22*01950c46SEmmanuel Vadot - fsl,imx7d-anatop 23*01950c46SEmmanuel Vadot - const: fsl,imx6q-anatop 24*01950c46SEmmanuel Vadot - const: syscon 25*01950c46SEmmanuel Vadot - const: simple-mfd 26*01950c46SEmmanuel Vadot - items: 27*01950c46SEmmanuel Vadot - const: fsl,imx6q-anatop 28*01950c46SEmmanuel Vadot - const: syscon 29*01950c46SEmmanuel Vadot - const: simple-mfd 30*01950c46SEmmanuel Vadot 31*01950c46SEmmanuel Vadot reg: 32*01950c46SEmmanuel Vadot maxItems: 1 33*01950c46SEmmanuel Vadot 34*01950c46SEmmanuel Vadot interrupts: 35*01950c46SEmmanuel Vadot items: 36*01950c46SEmmanuel Vadot - description: Temperature sensor event 37*01950c46SEmmanuel Vadot - description: Brown-out event on either of the support regulators 38*01950c46SEmmanuel Vadot - description: Brown-out event on either the core, gpu or soc regulators 39*01950c46SEmmanuel Vadot 40*01950c46SEmmanuel Vadot tempmon: 41*01950c46SEmmanuel Vadot type: object 42*01950c46SEmmanuel Vadot unevaluatedProperties: false 43*01950c46SEmmanuel Vadot $ref: /schemas/thermal/imx-thermal.yaml 44*01950c46SEmmanuel Vadot 45*01950c46SEmmanuel VadotpatternProperties: 46*01950c46SEmmanuel Vadot "regulator-((1p1)|(2p5)|(3p0)|(vddcore)|(vddpu)|(vddsoc))$": 47*01950c46SEmmanuel Vadot type: object 48*01950c46SEmmanuel Vadot unevaluatedProperties: false 49*01950c46SEmmanuel Vadot $ref: /schemas/regulator/anatop-regulator.yaml 50*01950c46SEmmanuel Vadot 51*01950c46SEmmanuel Vadotrequired: 52*01950c46SEmmanuel Vadot - compatible 53*01950c46SEmmanuel Vadot - reg 54*01950c46SEmmanuel Vadot 55*01950c46SEmmanuel VadotadditionalProperties: false 56*01950c46SEmmanuel Vadot 57*01950c46SEmmanuel Vadotexamples: 58*01950c46SEmmanuel Vadot - | 59*01950c46SEmmanuel Vadot #include <dt-bindings/clock/imx6ul-clock.h> 60*01950c46SEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 61*01950c46SEmmanuel Vadot 62*01950c46SEmmanuel Vadot anatop: anatop@20c8000 { 63*01950c46SEmmanuel Vadot compatible = "fsl,imx6ul-anatop", "fsl,imx6q-anatop", 64*01950c46SEmmanuel Vadot "syscon", "simple-mfd"; 65*01950c46SEmmanuel Vadot reg = <0x020c8000 0x1000>; 66*01950c46SEmmanuel Vadot interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>, 67*01950c46SEmmanuel Vadot <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>, 68*01950c46SEmmanuel Vadot <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>; 69*01950c46SEmmanuel Vadot 70*01950c46SEmmanuel Vadot reg_3p0: regulator-3p0 { 71*01950c46SEmmanuel Vadot compatible = "fsl,anatop-regulator"; 72*01950c46SEmmanuel Vadot regulator-name = "vdd3p0"; 73*01950c46SEmmanuel Vadot regulator-min-microvolt = <2625000>; 74*01950c46SEmmanuel Vadot regulator-max-microvolt = <3400000>; 75*01950c46SEmmanuel Vadot anatop-reg-offset = <0x120>; 76*01950c46SEmmanuel Vadot anatop-vol-bit-shift = <8>; 77*01950c46SEmmanuel Vadot anatop-vol-bit-width = <5>; 78*01950c46SEmmanuel Vadot anatop-min-bit-val = <0>; 79*01950c46SEmmanuel Vadot anatop-min-voltage = <2625000>; 80*01950c46SEmmanuel Vadot anatop-max-voltage = <3400000>; 81*01950c46SEmmanuel Vadot anatop-enable-bit = <0>; 82*01950c46SEmmanuel Vadot }; 83*01950c46SEmmanuel Vadot 84*01950c46SEmmanuel Vadot reg_arm: regulator-vddcore { 85*01950c46SEmmanuel Vadot compatible = "fsl,anatop-regulator"; 86*01950c46SEmmanuel Vadot regulator-name = "cpu"; 87*01950c46SEmmanuel Vadot regulator-min-microvolt = <725000>; 88*01950c46SEmmanuel Vadot regulator-max-microvolt = <1450000>; 89*01950c46SEmmanuel Vadot regulator-always-on; 90*01950c46SEmmanuel Vadot anatop-reg-offset = <0x140>; 91*01950c46SEmmanuel Vadot anatop-vol-bit-shift = <0>; 92*01950c46SEmmanuel Vadot anatop-vol-bit-width = <5>; 93*01950c46SEmmanuel Vadot anatop-delay-reg-offset = <0x170>; 94*01950c46SEmmanuel Vadot anatop-delay-bit-shift = <24>; 95*01950c46SEmmanuel Vadot anatop-delay-bit-width = <2>; 96*01950c46SEmmanuel Vadot anatop-min-bit-val = <1>; 97*01950c46SEmmanuel Vadot anatop-min-voltage = <725000>; 98*01950c46SEmmanuel Vadot anatop-max-voltage = <1450000>; 99*01950c46SEmmanuel Vadot }; 100*01950c46SEmmanuel Vadot 101*01950c46SEmmanuel Vadot reg_soc: regulator-vddsoc { 102*01950c46SEmmanuel Vadot compatible = "fsl,anatop-regulator"; 103*01950c46SEmmanuel Vadot regulator-name = "vddsoc"; 104*01950c46SEmmanuel Vadot regulator-min-microvolt = <725000>; 105*01950c46SEmmanuel Vadot regulator-max-microvolt = <1450000>; 106*01950c46SEmmanuel Vadot regulator-always-on; 107*01950c46SEmmanuel Vadot anatop-reg-offset = <0x140>; 108*01950c46SEmmanuel Vadot anatop-vol-bit-shift = <18>; 109*01950c46SEmmanuel Vadot anatop-vol-bit-width = <5>; 110*01950c46SEmmanuel Vadot anatop-delay-reg-offset = <0x170>; 111*01950c46SEmmanuel Vadot anatop-delay-bit-shift = <28>; 112*01950c46SEmmanuel Vadot anatop-delay-bit-width = <2>; 113*01950c46SEmmanuel Vadot anatop-min-bit-val = <1>; 114*01950c46SEmmanuel Vadot anatop-min-voltage = <725000>; 115*01950c46SEmmanuel Vadot anatop-max-voltage = <1450000>; 116*01950c46SEmmanuel Vadot }; 117*01950c46SEmmanuel Vadot 118*01950c46SEmmanuel Vadot tempmon: tempmon { 119*01950c46SEmmanuel Vadot compatible = "fsl,imx6ul-tempmon", "fsl,imx6sx-tempmon"; 120*01950c46SEmmanuel Vadot interrupt-parent = <&gpc>; 121*01950c46SEmmanuel Vadot interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 122*01950c46SEmmanuel Vadot fsl,tempmon = <&anatop>; 123*01950c46SEmmanuel Vadot nvmem-cells = <&tempmon_calib>, <&tempmon_temp_grade>; 124*01950c46SEmmanuel Vadot nvmem-cell-names = "calib", "temp_grade"; 125*01950c46SEmmanuel Vadot clocks = <&clks IMX6UL_CLK_PLL3_USB_OTG>; 126*01950c46SEmmanuel Vadot #thermal-sensor-cells = <0>; 127*01950c46SEmmanuel Vadot }; 128*01950c46SEmmanuel Vadot }; 129