1*d5b0e70fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause 2*d5b0e70fSEmmanuel Vadot%YAML 1.2 3*d5b0e70fSEmmanuel Vadot--- 4*d5b0e70fSEmmanuel Vadot$id: http://devicetree.org/schemas/timer/xlnx,xps-timer.yaml# 5*d5b0e70fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*d5b0e70fSEmmanuel Vadot 7*d5b0e70fSEmmanuel Vadottitle: Xilinx LogiCORE IP AXI Timer Device Tree Binding 8*d5b0e70fSEmmanuel Vadot 9*d5b0e70fSEmmanuel Vadotmaintainers: 10*d5b0e70fSEmmanuel Vadot - Sean Anderson <sean.anderson@seco.com> 11*d5b0e70fSEmmanuel Vadot 12*d5b0e70fSEmmanuel Vadotproperties: 13*d5b0e70fSEmmanuel Vadot compatible: 14*d5b0e70fSEmmanuel Vadot contains: 15*d5b0e70fSEmmanuel Vadot const: xlnx,xps-timer-1.00.a 16*d5b0e70fSEmmanuel Vadot 17*d5b0e70fSEmmanuel Vadot clocks: 18*d5b0e70fSEmmanuel Vadot maxItems: 1 19*d5b0e70fSEmmanuel Vadot 20*d5b0e70fSEmmanuel Vadot clock-names: 21*d5b0e70fSEmmanuel Vadot const: s_axi_aclk 22*d5b0e70fSEmmanuel Vadot 23*d5b0e70fSEmmanuel Vadot interrupts: 24*d5b0e70fSEmmanuel Vadot maxItems: 1 25*d5b0e70fSEmmanuel Vadot 26*d5b0e70fSEmmanuel Vadot reg: 27*d5b0e70fSEmmanuel Vadot maxItems: 1 28*d5b0e70fSEmmanuel Vadot 29*d5b0e70fSEmmanuel Vadot '#pwm-cells': true 30*d5b0e70fSEmmanuel Vadot 31*d5b0e70fSEmmanuel Vadot xlnx,count-width: 32*d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 33*d5b0e70fSEmmanuel Vadot enum: [8, 16, 32] 34*d5b0e70fSEmmanuel Vadot default: 32 35*d5b0e70fSEmmanuel Vadot description: 36*d5b0e70fSEmmanuel Vadot The width of the counter(s), in bits. 37*d5b0e70fSEmmanuel Vadot 38*d5b0e70fSEmmanuel Vadot xlnx,one-timer-only: 39*d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 40*d5b0e70fSEmmanuel Vadot enum: [ 0, 1 ] 41*d5b0e70fSEmmanuel Vadot description: 42*d5b0e70fSEmmanuel Vadot Whether only one timer is present in this block. 43*d5b0e70fSEmmanuel Vadot 44*d5b0e70fSEmmanuel Vadotrequired: 45*d5b0e70fSEmmanuel Vadot - compatible 46*d5b0e70fSEmmanuel Vadot - reg 47*d5b0e70fSEmmanuel Vadot - xlnx,one-timer-only 48*d5b0e70fSEmmanuel Vadot 49*d5b0e70fSEmmanuel VadotallOf: 50*d5b0e70fSEmmanuel Vadot - if: 51*d5b0e70fSEmmanuel Vadot required: 52*d5b0e70fSEmmanuel Vadot - '#pwm-cells' 53*d5b0e70fSEmmanuel Vadot then: 54*d5b0e70fSEmmanuel Vadot allOf: 55*d5b0e70fSEmmanuel Vadot - required: 56*d5b0e70fSEmmanuel Vadot - clocks 57*d5b0e70fSEmmanuel Vadot - properties: 58*d5b0e70fSEmmanuel Vadot xlnx,one-timer-only: 59*d5b0e70fSEmmanuel Vadot const: 0 60*d5b0e70fSEmmanuel Vadot else: 61*d5b0e70fSEmmanuel Vadot required: 62*d5b0e70fSEmmanuel Vadot - interrupts 63*d5b0e70fSEmmanuel Vadot - if: 64*d5b0e70fSEmmanuel Vadot required: 65*d5b0e70fSEmmanuel Vadot - clocks 66*d5b0e70fSEmmanuel Vadot then: 67*d5b0e70fSEmmanuel Vadot required: 68*d5b0e70fSEmmanuel Vadot - clock-names 69*d5b0e70fSEmmanuel Vadot 70*d5b0e70fSEmmanuel VadotadditionalProperties: false 71*d5b0e70fSEmmanuel Vadot 72*d5b0e70fSEmmanuel Vadotexamples: 73*d5b0e70fSEmmanuel Vadot - | 74*d5b0e70fSEmmanuel Vadot timer@800e0000 { 75*d5b0e70fSEmmanuel Vadot clock-names = "s_axi_aclk"; 76*d5b0e70fSEmmanuel Vadot clocks = <&zynqmp_clk 71>; 77*d5b0e70fSEmmanuel Vadot compatible = "xlnx,xps-timer-1.00.a"; 78*d5b0e70fSEmmanuel Vadot reg = <0x800e0000 0x10000>; 79*d5b0e70fSEmmanuel Vadot interrupts = <0 39 2>; 80*d5b0e70fSEmmanuel Vadot xlnx,count-width = <16>; 81*d5b0e70fSEmmanuel Vadot xlnx,one-timer-only = <0x0>; 82*d5b0e70fSEmmanuel Vadot }; 83*d5b0e70fSEmmanuel Vadot 84*d5b0e70fSEmmanuel Vadot timer@800f0000 { 85*d5b0e70fSEmmanuel Vadot #pwm-cells = <0>; 86*d5b0e70fSEmmanuel Vadot clock-names = "s_axi_aclk"; 87*d5b0e70fSEmmanuel Vadot clocks = <&zynqmp_clk 71>; 88*d5b0e70fSEmmanuel Vadot compatible = "xlnx,xps-timer-1.00.a"; 89*d5b0e70fSEmmanuel Vadot reg = <0x800e0000 0x10000>; 90*d5b0e70fSEmmanuel Vadot xlnx,count-width = <32>; 91*d5b0e70fSEmmanuel Vadot xlnx,one-timer-only = <0x0>; 92*d5b0e70fSEmmanuel Vadot }; 93