114 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			114 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
 | 
						|
%YAML 1.2
 | 
						|
---
 | 
						|
$id: http://devicetree.org/schemas/pinctrl/cirrus,madera.yaml#
 | 
						|
$schema: http://devicetree.org/meta-schemas/core.yaml#
 | 
						|
 | 
						|
title: Cirrus Logic Madera class audio CODECs pinctrl driver
 | 
						|
 | 
						|
maintainers:
 | 
						|
  - patches@opensource.cirrus.com
 | 
						|
 | 
						|
description: |
 | 
						|
  The Cirrus Logic Madera codecs provide a number of GPIO functions for
 | 
						|
  interfacing to external hardware and to provide logic outputs to other devices.
 | 
						|
  Certain groups of GPIO pins also have an alternate function, normally as an
 | 
						|
  audio interface.
 | 
						|
 | 
						|
  The set of available GPIOs, functions and alternate function groups differs
 | 
						|
  between CODECs so refer to the datasheet for the CODEC for further information
 | 
						|
  on what is supported on that device.
 | 
						|
 | 
						|
  The properties for this driver exist within the parent MFD driver node.
 | 
						|
 | 
						|
  See also the core bindings for the parent MFD driver:
 | 
						|
 | 
						|
    Documentation/devicetree/bindings/mfd/cirrus,madera.yaml
 | 
						|
 | 
						|
  And the generic pinmix bindings:
 | 
						|
 | 
						|
    Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
 | 
						|
 | 
						|
properties:
 | 
						|
  pin-settings:
 | 
						|
    description:
 | 
						|
      One subnode is required to contain the default settings. It
 | 
						|
      contains an arbitrary number of configuration subnodes, one for
 | 
						|
      each group or pin configuration you want to apply as a default.
 | 
						|
    type: object
 | 
						|
    patternProperties:
 | 
						|
      '-pins$':
 | 
						|
        type: object
 | 
						|
        allOf:
 | 
						|
          - $ref: "pincfg-node.yaml#"
 | 
						|
          - $ref: "pinmux-node.yaml#"
 | 
						|
        properties:
 | 
						|
          groups:
 | 
						|
            description:
 | 
						|
              Name of one pin group to configure.
 | 
						|
            enum: [ aif1, aif2, aif3, aif4, mif1, mif2, mif3, pdmspk1,
 | 
						|
                    pdmspk2, dmic4, dmic5, dmic6, gpio1, gpio2, gpio3,
 | 
						|
                    gpio4, gpio5, gpio6, gpio7, gpio8, gpio9,
 | 
						|
                    gpio10, gpio11, gpio12, gpio13, gpio14, gpio15,
 | 
						|
                    gpio16, gpio17, gpio18, gpio19, gpio20, gpio21,
 | 
						|
                    gpio22, gpio23, gpio24, gpio25, gpio26, gpio27,
 | 
						|
                    gpio28, gpio29, gpio30, gpio31, gpio32, gpio33,
 | 
						|
                    gpio34, gpio35, gpio36, gpio37, gpio38, gpio39 ]
 | 
						|
 | 
						|
          function:
 | 
						|
            description:
 | 
						|
              Name of function to assign to this group.
 | 
						|
            enum: [ aif1, aif2, aif3, aif4, mif1, mif2, mif3,
 | 
						|
                    pdmspk1, pdmspk2, dmic3, dmic4, dmic5,
 | 
						|
                    dmic6, io, dsp-gpio, irq1, irq2, fll1-clk,
 | 
						|
                    fll1-lock, fll2-clk, fll2-lock, fll3-clk,
 | 
						|
                    fll3-lock, fllao-clk, fllao-lock, opclk,
 | 
						|
                    opclk-async, pwm1, pwm2, spdif, asrc1-in1-lock,
 | 
						|
                    asrc1-in2-lock, asrc2-in1-lock, asrc2-in2-lock,
 | 
						|
                    spkl-short-circuit, spkr-short-circuit,
 | 
						|
                    spk-shutdown, spk-overheat-shutdown,
 | 
						|
                    spk-overheat-warn, timer1-sts, timer2-sts,
 | 
						|
                    timer3-sts, timer4-sts, timer5-sts, timer6-sts,
 | 
						|
                    timer7-sts, timer8-sts, log1-fifo-ne,
 | 
						|
                    log2-fifo-ne, log3-fifo-ne, log4-fifo-ne,
 | 
						|
                    log5-fifo-ne, log6-fifo-ne, log7-fifo-ne,
 | 
						|
                    log8-fifo-ne ]
 | 
						|
 | 
						|
          bias-disable: true
 | 
						|
 | 
						|
          bias-bus-hold: true
 | 
						|
 | 
						|
          bias-pull-up: true
 | 
						|
 | 
						|
          bias-pull-down: true
 | 
						|
 | 
						|
          drive-push-pull: true
 | 
						|
 | 
						|
          drive-open-drain: true
 | 
						|
 | 
						|
          drive-strength:
 | 
						|
            enum: [ 4, 8 ]
 | 
						|
 | 
						|
          input-schmitt-enable: true
 | 
						|
 | 
						|
          input-schmitt-disable: true
 | 
						|
 | 
						|
          input-debounce: true
 | 
						|
 | 
						|
          output-low: true
 | 
						|
 | 
						|
          output-high: true
 | 
						|
 | 
						|
        additionalProperties: false
 | 
						|
 | 
						|
        required:
 | 
						|
          - groups
 | 
						|
 | 
						|
    additionalProperties: false
 | 
						|
 | 
						|
required:
 | 
						|
  - pinctrl-0
 | 
						|
  - pinctrl-names
 | 
						|
 | 
						|
additionalProperties: true
 |