~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/pinctrl/pinmux-node.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/devicetree/bindings/pinctrl/pinmux-node.yaml (Version linux-6.12-rc7) and /Documentation/devicetree/bindings/pinctrl/pinmux-node.yaml (Version linux-4.10.17)


  1 # SPDX-License-Identifier: GPL-2.0-only           
  2 %YAML 1.2                                         
  3 ---                                               
  4 $id: http://devicetree.org/schemas/pinctrl/pin    
  5 $schema: http://devicetree.org/meta-schemas/co    
  6                                                   
  7 title: Generic Pin Multiplexing Node              
  8                                                   
  9 maintainers:                                      
 10   - Linus Walleij <linus.walleij@linaro.org>       
 11                                                   
 12 description: |                                    
 13   The contents of the pin configuration child     
 14   for the individual pin controller device. Th    
 15   be direct children of the pin controller dev    
 16   for example. Whether this is legal, and whet    
 17   between the child and intermediate parent no    
 18   the binding for the individual pin controlle    
 19                                                   
 20   While not required to be used, there are 3 g    
 21   which pin controller devices can use.           
 22                                                   
 23   pin multiplexing nodes:                         
 24                                                   
 25   Example:                                        
 26                                                   
 27   state_0_node_a {                                
 28     uart0 {                                       
 29       function = "uart0";                         
 30       groups = "u0rxtx", "u0rtscts";              
 31     };                                            
 32   };                                              
 33   state_1_node_a {                                
 34     spi {                                         
 35       function = "spi0";                          
 36       groups = "spi0pins";                        
 37     };                                            
 38   };                                              
 39   state_2_node_a {                                
 40     function = "i2c0";                            
 41     pins = "mfio29", "mfio30";                    
 42   };                                              
 43                                                   
 44   Optionally an alternative binding can be use    
 45   pin controller hardware. For hardware where     
 46   pin controller instances, naming each pin an    
 47   unmaintainable. This is especially the case     
 48   different pins and functions depending on th    
 49                                                   
 50   For cases like this, the pin controller driv    
 51   binding with a hardware based index and a nu    
 52                                                   
 53   pincontroller {                                 
 54     ... /* Standard DT properties for the devi    
 55     #pinctrl-cells = <2>;                         
 56                                                   
 57     state_0_node_a {                              
 58       pinctrl-pin-array = <                       
 59         0 A_DELAY_PS(0) G_DELAY_PS(120)           
 60         4 A_DELAY_PS(0) G_DELAY_PS(360)           
 61         ...                                       
 62         >;                                        
 63     };                                            
 64     ...                                           
 65   };                                              
 66                                                   
 67   Above #pinctrl-cells specifies the number of    
 68   index of the registers. This is similar to t    
 69   one exception. There is no need to specify t    
 70   is already known as the defined pins are alw    
 71   node. Further having the phandle pointing to    
 72   currently work as the pinctrl framework uses    
 73   pin control device.                             
 74                                                   
 75   The index for pinctrl-pin-array must relate     
 76   registers, and must not be a virtual index o    
 77   this is to avoid mapping of the index in the    
 78   driver as it can change.                        
 79                                                   
 80   For hardware where pin multiplexing configur    
 81   each single pin the number of required sub-n    
 82   "function" properties can quickly escalate a    
 83   maintain.                                       
 84                                                   
 85   For cases like this, the pin controller driv    
 86   property, where the pin identifier is provid    
 87   in a pinmux group. A pinmux group consists o    
 88   settings represented as a single integer or     
 89                                                   
 90   The pinmux property accepts an array of pinm    
 91   a single pin multiplexing configuration.        
 92                                                   
 93   pincontroller {                                 
 94     state_0_node_a {                              
 95       pinmux = <PINMUX_GROUP>, <PINMUX_GROUP>,    
 96     };                                            
 97   };                                              
 98                                                   
 99   Each individual pin controller driver bindin    
100   how pin IDs and pin multiplexing configurati    
101   together in a pinmux group.                     
102                                                   
103 properties:                                       
104   function:                                       
105     $ref: /schemas/types.yaml#/definitions/str    
106     description: The mux function to select       
107                                                   
108   pins:                                           
109     oneOf:                                        
110       - $ref: /schemas/types.yaml#/definitions    
111       - $ref: /schemas/types.yaml#/definitions    
112     description:                                  
113       The list of pin identifiers that propert    
114       specific binding for the hardware define    
115       or strings, and their meaning.              
116                                                   
117   groups:                                         
118     $ref: /schemas/types.yaml#/definitions/str    
119     description:                                  
120       the group to apply the properties to, if    
121       configuration of whole groups rather tha    
122       this, "pins" or "pinmux" has to be speci    
123                                                   
124   pinmux:                                         
125     description:                                  
126       The list of numeric pin ids and their mu    
127       node apply to (either this, "pins" or "g    
128     $ref: /schemas/types.yaml#/definitions/uin    
129                                                   
130   pinctrl-pin-array:                              
131     $ref: /schemas/types.yaml#/definitions/uin    
132                                                   
133 additionalProperties: true                        
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php