The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/ata/ahci-platform.yaml

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 # SPDX-License-Identifier: GPL-2.0
    2 %YAML 1.2
    3 ---
    4 $id: http://devicetree.org/schemas/ata/ahci-platform.yaml#
    5 $schema: http://devicetree.org/meta-schemas/core.yaml#
    6 
    7 title: AHCI SATA Controller
    8 
    9 description: |
   10   SATA nodes are defined to describe on-chip Serial ATA controllers.
   11   Each SATA controller should have its own node.
   12 
   13   It is possible, but not required, to represent each port as a sub-node.
   14   It allows to enable each port independently when dealing with multiple
   15   PHYs.
   16 
   17 maintainers:
   18   - Hans de Goede <hdegoede@redhat.com>
   19   - Jens Axboe <axboe@kernel.dk>
   20 
   21 select:
   22   properties:
   23     compatible:
   24       contains:
   25         enum:
   26           - brcm,iproc-ahci
   27           - cavium,octeon-7130-ahci
   28           - hisilicon,hisi-ahci
   29           - ibm,476gtr-ahci
   30           - marvell,armada-3700-ahci
   31           - marvell,armada-8k-ahci
   32           - marvell,berlin2q-ahci
   33           - snps,dwc-ahci
   34           - snps,spear-ahci
   35   required:
   36     - compatible
   37 
   38 allOf:
   39   - $ref: "sata-common.yaml#"
   40 
   41 
   42 properties:
   43   compatible:
   44     oneOf:
   45       - items:
   46           - enum:
   47               - brcm,iproc-ahci
   48               - marvell,armada-8k-ahci
   49               - marvell,berlin2-ahci
   50               - marvell,berlin2q-ahci
   51           - const: generic-ahci
   52       - items:
   53           - enum:
   54               - rockchip,rk3568-dwc-ahci
   55           - const: snps,dwc-ahci
   56       - enum:
   57           - cavium,octeon-7130-ahci
   58           - hisilicon,hisi-ahci
   59           - ibm,476gtr-ahci
   60           - marvell,armada-3700-ahci
   61           - snps,dwc-ahci
   62           - snps,spear-ahci
   63 
   64   reg:
   65     minItems: 1
   66     maxItems: 2
   67 
   68   reg-names:
   69     maxItems: 1
   70 
   71   clocks:
   72     description:
   73       Clock IDs array as required by the controller.
   74     minItems: 1
   75     maxItems: 3
   76 
   77   clock-names:
   78     description:
   79       Names of clocks corresponding to IDs in the clock property.
   80     minItems: 1
   81     maxItems: 3
   82 
   83   interrupts:
   84     maxItems: 1
   85 
   86   ahci-supply:
   87     description:
   88       regulator for AHCI controller
   89 
   90   dma-coherent: true
   91 
   92   phy-supply:
   93     description:
   94       regulator for PHY power
   95 
   96   phys:
   97     description:
   98       List of all PHYs on this controller
   99     maxItems: 1
  100 
  101   phy-names:
  102     description:
  103       Name specifier for the PHYs
  104     maxItems: 1
  105 
  106   ports-implemented:
  107     $ref: '/schemas/types.yaml#/definitions/uint32'
  108     description: |
  109       Mask that indicates which ports that the HBA supports
  110       are available for software to use. Useful if PORTS_IMPL
  111       is not programmed by the BIOS, which is true with
  112       some embedded SoCs.
  113     maximum: 0x1f
  114 
  115   power-domains:
  116     maxItems: 1
  117 
  118   resets:
  119     maxItems: 1
  120 
  121   target-supply:
  122     description:
  123       regulator for SATA target power
  124 
  125 required:
  126   - compatible
  127   - reg
  128   - interrupts
  129 
  130 patternProperties:
  131   "^sata-port@[0-9a-f]+$":
  132     type: object
  133     additionalProperties: false
  134     description:
  135       Subnode with configuration of the Ports.
  136 
  137     properties:
  138       reg:
  139         maxItems: 1
  140 
  141       phys:
  142         maxItems: 1
  143 
  144       phy-names:
  145         maxItems: 1
  146 
  147       target-supply:
  148         description:
  149           regulator for SATA target power
  150 
  151     required:
  152       - reg
  153 
  154     anyOf:
  155       - required: [ phys ]
  156       - required: [ target-supply ]
  157 
  158 unevaluatedProperties: false
  159 
  160 examples:
  161   - |
  162     sata@ffe08000 {
  163         compatible = "snps,spear-ahci";
  164         reg = <0xffe08000 0x1000>;
  165         interrupts = <115>;
  166     };
  167   - |
  168     #include <dt-bindings/interrupt-controller/arm-gic.h>
  169     #include <dt-bindings/clock/berlin2q.h>
  170     sata@f7e90000 {
  171         compatible = "marvell,berlin2q-ahci", "generic-ahci";
  172         reg = <0xf7e90000 0x1000>;
  173         interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
  174         clocks = <&chip CLKID_SATA>;
  175         #address-cells = <1>;
  176         #size-cells = <0>;
  177 
  178         sata0: sata-port@0 {
  179             reg = <0>;
  180             phys = <&sata_phy 0>;
  181             target-supply = <&reg_sata0>;
  182         };
  183 
  184         sata1: sata-port@1 {
  185             reg = <1>;
  186             phys = <&sata_phy 1>;
  187             target-supply = <&reg_sata1>;
  188         };
  189     };

Cache object: f113fb148c78ee7b140c58d3a9b89aff


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.