Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  1) * Synopsys DesignWare PCIe interface
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3) Required properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4) - compatible:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5) 	"snps,dw-pcie" for RC mode;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6) 	"snps,dw-pcie-ep" for EP mode;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7) - reg: For designware cores version < 4.80 contains the configuration
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8)        address space. For designware core version >= 4.80, contains
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9)        the configuration and ATU address space
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) - reg-names: Must be "config" for the PCIe configuration space and "atu" for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) 	     the ATU address space.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)     (The old way of getting the configuration address space from "ranges"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)     is deprecated and should be avoided.)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) RC mode:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) - #address-cells: set to <3>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) - #size-cells: set to <2>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) - device_type: set to "pci"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) - ranges: ranges for the PCI memory and I/O regions
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) - #interrupt-cells: set to <1>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) - interrupt-map-mask and interrupt-map: standard PCI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) 	properties to define the mapping of the PCIe interface to interrupt
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) 	numbers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) EP mode:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) - num-ib-windows: number of inbound address translation windows
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) - num-ob-windows: number of outbound address translation windows
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) Optional properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) - num-lanes: number of lanes to use (this property should be specified unless
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29)   the link is brought already up in BIOS)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) - reset-gpio: GPIO pin number of power good signal
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) - clocks: Must contain an entry for each entry in clock-names.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) 	See ../clocks/clock-bindings.txt for details.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) - clock-names: Must include the following entries:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) 	- "pcie"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) 	- "pcie_bus"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) - snps,enable-cdm-check: This is a boolean property and if present enables
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37)    automatic checking of CDM (Configuration Dependent Module) registers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38)    for data corruption. CDM registers include standard PCIe configuration
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39)    space registers, Port Logic registers, DMA and iATU (internal Address
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40)    Translation Unit) registers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) RC mode:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) - num-viewport: number of view ports configured in hardware. If a platform
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43)   does not specify it, the driver assumes 2.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) - bus-range: PCI bus numbers covered (it is recommended for new devicetrees
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45)   to specify this property, to keep backwards compatibility a range of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46)   0x00-0xff is assumed if not present)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) EP mode:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) - max-functions: maximum number of functions that can be configured
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) Example configuration:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) 	pcie: pcie@dfc00000 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) 		compatible = "snps,dw-pcie";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) 		reg = <0xdfc00000 0x0001000>, /* IP registers */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) 		      <0xd0000000 0x0002000>; /* Configuration space */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) 		reg-names = "dbi", "config";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) 		#address-cells = <3>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) 		#size-cells = <2>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) 		device_type = "pci";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) 		ranges = <0x81000000 0 0x00000000 0xde000000 0 0x00010000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) 			  0x82000000 0 0xd0400000 0xd0400000 0 0x0d000000>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) 		interrupts = <25>, <24>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) 		#interrupt-cells = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) 		num-lanes = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) 	};
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) 	pcie: pcie@dfc00000 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) 		compatible = "snps,dw-pcie-ep";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) 		reg = <0xdfc00000 0x0001000>, /* IP registers 1 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) 		      <0xdfc01000 0x0001000>, /* IP registers 2 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) 		      <0xd0000000 0x2000000>; /* Configuration space */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) 		reg-names = "dbi", "dbi2", "addr_space";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) 		num-ib-windows = <6>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) 		num-ob-windows = <2>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) 		num-lanes = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) 	};