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

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/pci/host-generic-pci.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/pci/host-generic-pci.yaml (Version linux-6.12-rc7) and /Documentation/devicetree/bindings/pci/host-generic-pci.yaml (Version linux-4.4.302)


  1 # SPDX-License-Identifier: (GPL-2.0-only OR BS    
  2 %YAML 1.2                                         
  3 ---                                               
  4 $id: http://devicetree.org/schemas/pci/host-ge    
  5 $schema: http://devicetree.org/meta-schemas/co    
  6                                                   
  7 title: Generic PCI host controller                
  8                                                   
  9 maintainers:                                      
 10   - Will Deacon <will@kernel.org>                  
 11                                                   
 12 description: |                                    
 13   Firmware-initialised PCI host controllers an    
 14   virtio-pci implementations found in kvmtool     
 15   systems, do not require driver support for c    
 16   and clock management. In fact, the controlle    
 17   configuration of a control interface by the     
 18   presenting a set of fixed windows describing    
 19   Configuration Spaces.                           
 20                                                   
 21   Configuration Space is assumed to be memory-    
 22   accessed via an ioport) and laid out with a     
 23   geography of a PCI bus address by concatenat    
 24   form an offset.                                 
 25                                                   
 26   For CAM, this 24-bit offset is:                 
 27                                                   
 28           cfg_offset(bus, device, function, re    
 29                      bus << 16 | device << 11     
 30                                                   
 31   While ECAM extends this by 4 bits to accommo    
 32                                                   
 33           cfg_offset(bus, device, function, re    
 34                      bus << 20 | device << 15     
 35                                                   
 36 properties:                                       
 37   compatible:                                     
 38     description: Depends on the layout of conf    
 39       respectively). May also have more specif    
 40     oneOf:                                        
 41       - description:                              
 42           PCIe host controller in Arm Juno bas    
 43         items:                                    
 44           - const: arm,juno-r1-pcie               
 45           - const: plda,xpressrich3-axi           
 46           - const: pci-host-ecam-generic          
 47       - description: |                            
 48           ThunderX PCI host controller for pas    
 49                                                   
 50           Firmware-initialized PCI host contro    
 51           some Cavium ThunderX processors.  Th    
 52           access, but the BARs are all at fixe    
 53           addresses by synthesizing Enhanced A    
 54           these devices.                          
 55         const: cavium,pci-host-thunder-ecam       
 56       - description:                              
 57           Cavium ThunderX PEM firmware-initial    
 58         const: cavium,pci-host-thunder-pem        
 59       - description:                              
 60           HiSilicon Hip06/Hip07 PCIe host brid    
 61           firmware places the host controller     
 62           compliant for all devices other than    
 63         enum:                                     
 64           - hisilicon,hip06-pcie-ecam             
 65           - hisilicon,hip07-pcie-ecam             
 66       - description: |                            
 67           In some cases, firmware may already     
 68           DesignWare PCIe controller in RC mod    
 69           that cover all config, MMIO and I/O     
 70           compatible fashion. In this case, th    
 71           perform any low level setup of clock    
 72           is there any reason for the driver t    
 73           config and/or IO space accesses at r    
 74                                                   
 75           In cases where the IP was synthesize    
 76           of 64 KB, it cannot be supported by     
 77           it requires special config space acc    
 78           device #1 and beyond on the first bu    
 79         items:                                    
 80           - enum:                                 
 81               - marvell,armada8k-pcie-ecam        
 82               - socionext,synquacer-pcie-ecam     
 83           - const: snps,dw-pcie-ecam              
 84       - description:                              
 85           CAM or ECAM compliant PCI host contr    
 86         enum:                                     
 87           - pci-host-cam-generic                  
 88           - pci-host-ecam-generic                 
 89                                                   
 90   reg:                                            
 91     description:                                  
 92       The Configuration Space base address and    
 93       bus. The base address corresponds to the    
 94       property. If no "bus-range" is specified    
 95       default). Some host controllers have a 2    
 96       so 2 entries are allowed.                   
 97     minItems: 1                                   
 98     maxItems: 2                                   
 99                                                   
100   ranges:                                         
101     description:                                  
102       As described in IEEE Std 1275-1994, but     
103       definition of non-prefetchable memory. O    
104       and IO Space may also be provided.          
105                                                   
106   dma-coherent: true                              
107   iommu-map: true                                 
108   iommu-map-mask: true                            
109   msi-parent: true                                
110                                                   
111   ats-supported:                                  
112     description:                                  
113       Indicates that a PCIe host controller su    
114       Requests with Address Type (AT).            
115     type: boolean                                 
116                                                   
117 required:                                         
118   - compatible                                    
119   - reg                                           
120   - ranges                                        
121                                                   
122 allOf:                                            
123   - $ref: /schemas/pci/pci-host-bridge.yaml#      
124   - if:                                           
125       properties:                                 
126         compatible:                               
127           contains:                               
128             const: arm,juno-r1-pcie               
129     then:                                         
130       required:                                   
131         - dma-coherent                            
132                                                   
133   - if:                                           
134       properties:                                 
135         compatible:                               
136           not:                                    
137             contains:                             
138               enum:                               
139                 - cavium,pci-host-thunder-pem     
140                 - hisilicon,hip06-pcie-ecam       
141                 - hisilicon,hip07-pcie-ecam       
142     then:                                         
143       properties:                                 
144         reg:                                      
145           maxItems: 1                             
146                                                   
147 unevaluatedProperties: false                      
148                                                   
149 examples:                                         
150   - |                                             
151                                                   
152     bus {                                         
153         #address-cells = <2>;                     
154         #size-cells = <2>;                        
155         pcie@40000000 {                           
156             compatible = "pci-host-cam-generic    
157             device_type = "pci";                  
158             #address-cells = <3>;                 
159             #size-cells = <2>;                    
160             bus-range = <0x0 0x1>;                
161                                                   
162             // CPU_PHYSICAL(2)  SIZE(2)           
163             reg = <0x0 0x40000000  0x0 0x10000    
164                                                   
165             // BUS_ADDRESS(3)  CPU_PHYSICAL(2)    
166             ranges = <0x01000000 0x0 0x0100000    
167                      <0x02000000 0x0 0x4100000    
168                                                   
169             #interrupt-cells = <0x1>;             
170                                                   
171             // PCI_DEVICE(3)  INT#(1)  CONTROL    
172             interrupt-map = <   0x0 0x0 0x0  0    
173                             < 0x800 0x0 0x0  0    
174                             <0x1000 0x0 0x0  0    
175                             <0x1800 0x0 0x0  0    
176                                                   
177             // PCI_DEVICE(3)  INT#(1)             
178             interrupt-map-mask = <0xf800 0x0 0    
179         };                                        
180     };                                            
181 ...                                               
                                                      

~ [ 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