The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/pwm/microchip,corepwm.yaml

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
    2 
    3 %YAML 1.2
    4 ---
    5 $id: http://devicetree.org/schemas/pwm/microchip,corepwm.yaml#
    6 $schema: http://devicetree.org/meta-schemas/core.yaml#
    7 
    8 title: Microchip IP corePWM controller bindings
    9 
   10 maintainers:
   11   - Conor Dooley <conor.dooley@microchip.com>
   12 
   13 description: |
   14   corePWM is an 16 channel pulse width modulator FPGA IP
   15 
   16   https://www.microsemi.com/existing-parts/parts/152118
   17 
   18 allOf:
   19   - $ref: pwm.yaml#
   20 
   21 properties:
   22   compatible:
   23     items:
   24       - const: microchip,corepwm-rtl-v4
   25 
   26   reg:
   27     maxItems: 1
   28 
   29   clocks:
   30     maxItems: 1
   31 
   32   "#pwm-cells":
   33     const: 2
   34 
   35   microchip,sync-update-mask:
   36     description: |
   37       Depending on how the IP is instantiated, there are two modes of operation.
   38       In synchronous mode, all channels are updated at the beginning of the PWM period,
   39       and in asynchronous mode updates happen as the control registers are written.
   40       A 16 bit wide "SHADOW_REG_EN" parameter of the IP core controls whether synchronous
   41       mode is possible for each channel, and is set by the bitstream programmed to the
   42       FPGA. If the IP core is instantiated with SHADOW_REG_ENx=1, both registers that
   43       control the duty cycle for channel x have a second "shadow"/buffer reg synthesised.
   44       At runtime a bit wide register exposed to APB can be used to toggle on/off
   45       synchronised mode for all channels it has been synthesised for.
   46       Each bit of "microchip,sync-update-mask" corresponds to a PWM channel & represents
   47       whether synchronous mode is possible for the PWM channel.
   48 
   49     $ref: /schemas/types.yaml#/definitions/uint32
   50     default: 0
   51 
   52   microchip,dac-mode-mask:
   53     description: |
   54       Optional, per-channel Low Ripple DAC mode is possible on this IP core. It creates
   55       a minimum period pulse train whose High/Low average is that of the chosen duty
   56       cycle. This "DAC" will have far better bandwidth and ripple performance than the
   57       standard PWM algorithm can achieve. A 16 bit DAC_MODE module parameter of the IP
   58       core, set at instantiation and by the bitstream programmed to the FPGA, determines
   59       whether a given channel operates in regular PWM or DAC mode.
   60       Each bit corresponds to a PWM channel & represents whether DAC mode is enabled
   61       for that channel.
   62 
   63     $ref: /schemas/types.yaml#/definitions/uint32
   64     default: 0
   65 
   66 required:
   67   - compatible
   68   - reg
   69   - clocks
   70 
   71 additionalProperties: false
   72 
   73 examples:
   74   - |
   75     pwm@41000000 {
   76       compatible = "microchip,corepwm-rtl-v4";
   77       microchip,sync-update-mask = /bits/ 32 <0>;
   78       clocks = <&clkcfg 30>;
   79       reg = <0x41000000 0xF0>;
   80       #pwm-cells = <2>;
   81     };

Cache object: 3798d60bdc03c4a91300d3964952aa9e


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.