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

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/memory-controllers/intel,ixp4xx-expansion-bus-controller.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 ] ~

  1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2 %YAML 1.2
  3 ---
  4 $id: http://devicetree.org/schemas/memory-controllers/intel,ixp4xx-expansion-bus-controller.yaml#
  5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6 
  7 title: Intel IXP4xx Expansion Bus Controller
  8 
  9 description: |
 10   The IXP4xx expansion bus controller handles access to devices on the
 11   memory-mapped expansion bus on the Intel IXP4xx family of system on chips,
 12   including IXP42x, IXP43x, IXP45x and IXP46x.
 13 
 14 maintainers:
 15   - Linus Walleij <linus.walleij@linaro.org>
 16 
 17 properties:
 18   $nodename:
 19     pattern: '^bus@[0-9a-f]+$'
 20 
 21   compatible:
 22     items:
 23       - enum:
 24           - intel,ixp42x-expansion-bus-controller
 25           - intel,ixp43x-expansion-bus-controller
 26           - intel,ixp45x-expansion-bus-controller
 27           - intel,ixp46x-expansion-bus-controller
 28       - const: syscon
 29 
 30   reg:
 31     description: Control registers for the expansion bus, these are not
 32       inside the memory range handled by the expansion bus.
 33     maxItems: 1
 34 
 35   native-endian:
 36     $ref: /schemas/types.yaml#/definitions/flag
 37     description: The IXP4xx has a peculiar MMIO access scheme, as it changes
 38       the access pattern for words (swizzling) on the bus depending on whether
 39       the SoC is running in big-endian or little-endian mode. Thus the
 40       registers must always be accessed using native endianness.
 41 
 42   "#address-cells":
 43     description: |
 44       The first cell is the chip select number.
 45       The second cell is the address offset within the bank.
 46     const: 2
 47 
 48   "#size-cells":
 49     const: 1
 50 
 51   ranges: true
 52   dma-ranges: true
 53 
 54 patternProperties:
 55   "^.*@[0-7],[0-9a-f]+$":
 56     description: Devices attached to chip selects are represented as
 57       subnodes.
 58     type: object
 59     $ref: /schemas/memory-controllers/intel,ixp4xx-expansion-peripheral-props.yaml#
 60     additionalProperties: true
 61 
 62 required:
 63   - compatible
 64   - reg
 65   - native-endian
 66   - "#address-cells"
 67   - "#size-cells"
 68   - ranges
 69   - dma-ranges
 70 
 71 additionalProperties: false
 72 
 73 examples:
 74   - |
 75     #include <dt-bindings/interrupt-controller/irq.h>
 76     bus@50000000 {
 77         compatible = "intel,ixp42x-expansion-bus-controller", "syscon";
 78         reg = <0xc4000000 0x28>;
 79         native-endian;
 80         #address-cells = <2>;
 81         #size-cells = <1>;
 82         ranges = <0 0x0 0x50000000 0x01000000>,
 83                  <1 0x0 0x51000000 0x01000000>;
 84         dma-ranges = <0 0x0 0x50000000 0x01000000>,
 85                      <1 0x0 0x51000000 0x01000000>;
 86         flash@0,0 {
 87             compatible = "intel,ixp4xx-flash", "cfi-flash";
 88             bank-width = <2>;
 89             reg = <0 0x00000000 0x1000000>;
 90             intel,ixp4xx-eb-t3 = <3>;
 91             intel,ixp4xx-eb-cycle-type = <0>;
 92             intel,ixp4xx-eb-byte-access-on-halfword = <1>;
 93             intel,ixp4xx-eb-write-enable = <1>;
 94             intel,ixp4xx-eb-byte-access = <0>;
 95         };
 96         serial@1,0 {
 97             compatible = "exar,xr16l2551", "ns8250";
 98             reg = <1 0x00000000 0x10>;
 99             interrupt-parent = <&gpio0>;
100             interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
101             clock-frequency = <1843200>;
102             intel,ixp4xx-eb-t3 = <3>;
103             intel,ixp4xx-eb-cycle-type = <1>;
104             intel,ixp4xx-eb-write-enable = <1>;
105             intel,ixp4xx-eb-byte-access = <1>;
106         };
107     };

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