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/firmware/fsl,scu.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-only OR BSD-2-Clause)
    2 %YAML 1.2
    3 ---
    4 $id: http://devicetree.org/schemas/firmware/fsl,scu.yaml#
    5 $schema: http://devicetree.org/meta-schemas/core.yaml#
    6 
    7 title: NXP i.MX System Controller Firmware (SCFW)
    8 
    9 maintainers:
   10   - Dong Aisheng <aisheng.dong@nxp.com>
   11 
   12 description:
   13   The System Controller Firmware (SCFW) is a low-level system function
   14   which runs on a dedicated Cortex-M core to provide power, clock, and
   15   resource management. It exists on some i.MX8 processors. e.g. i.MX8QM
   16   (QM, QP), and i.MX8QX (QXP, DX).
   17   The AP communicates with the SC using a multi-ported MU module found
   18   in the LSIO subsystem. The current definition of this MU module provides
   19   5 remote AP connections to the SC to support up to 5 execution environments
   20   (TZ, HV, standard Linux, etc.). The SC side of this MU module interfaces
   21   with the LSIO DSC IP bus. The SC firmware will communicate with this MU
   22   using the MSI bus.
   23 
   24 properties:
   25   compatible:
   26     const: fsl,imx-scu
   27 
   28   clock-controller:
   29     description:
   30       Clock controller node that provides the clocks controlled by the SCU
   31     $ref: /schemas/clock/fsl,scu-clk.yaml
   32 
   33   ocotp:
   34     description:
   35       OCOTP controller node provided by the SCU
   36     $ref: /schemas/nvmem/fsl,scu-ocotp.yaml
   37 
   38   keys:
   39     description:
   40       Keys provided by the SCU
   41     $ref: /schemas/input/fsl,scu-key.yaml
   42 
   43   mboxes:
   44     description:
   45       A list of phandles of TX MU channels followed by a list of phandles of
   46       RX MU channels. The list may include at the end one more optional MU
   47       channel for general interrupt. The number of expected tx and rx
   48       channels is 1 TX and 1 RX channels if MU instance is "fsl,imx8-mu-scu"
   49       compatible, 4 TX and 4 RX channels otherwise. All MU channels must be
   50       within the same MU instance. Cross instances are not allowed. The MU
   51       instance can only be one of LSIO MU0~M4 for imx8qxp and imx8qm. Users
   52       need to ensure that one is used that does not conflict with other
   53       execution environments such as ATF.
   54     oneOf:
   55       - items:
   56           - description: TX0 MU channel
   57           - description: RX0 MU channel
   58       - items:
   59           - description: TX0 MU channel
   60           - description: RX0 MU channel
   61           - description: optional MU channel for general interrupt
   62       - items:
   63           - description: TX0 MU channel
   64           - description: TX1 MU channel
   65           - description: TX2 MU channel
   66           - description: TX3 MU channel
   67           - description: RX0 MU channel
   68           - description: RX1 MU channel
   69           - description: RX2 MU channel
   70           - description: RX3 MU channel
   71       - items:
   72           - description: TX0 MU channel
   73           - description: TX1 MU channel
   74           - description: TX2 MU channel
   75           - description: TX3 MU channel
   76           - description: RX0 MU channel
   77           - description: RX1 MU channel
   78           - description: RX2 MU channel
   79           - description: RX3 MU channel
   80           - description: optional MU channel for general interrupt
   81 
   82   mbox-names:
   83     oneOf:
   84       - items:
   85           - const: tx0
   86           - const: rx0
   87       - items:
   88           - const: tx0
   89           - const: rx0
   90           - const: gip3
   91       - items:
   92           - const: tx0
   93           - const: tx1
   94           - const: tx2
   95           - const: tx3
   96           - const: rx0
   97           - const: rx1
   98           - const: rx2
   99           - const: rx3
  100       - items:
  101           - const: tx0
  102           - const: tx1
  103           - const: tx2
  104           - const: tx3
  105           - const: rx0
  106           - const: rx1
  107           - const: rx2
  108           - const: rx3
  109           - const: gip3
  110 
  111   pinctrl:
  112     description:
  113       Pin controller provided by the SCU
  114     $ref: /schemas/pinctrl/fsl,scu-pinctrl.yaml
  115 
  116   power-controller:
  117     description:
  118       Power domains controller node that provides the power domains
  119       controlled by the SCU
  120     $ref: /schemas/power/fsl,scu-pd.yaml
  121 
  122   rtc:
  123     description:
  124       RTC controller provided by the SCU
  125     $ref: /schemas/rtc/fsl,scu-rtc.yaml
  126 
  127   thermal-sensor:
  128     description:
  129       Thermal sensor provided by the SCU
  130     $ref: /schemas/thermal/fsl,scu-thermal.yaml
  131 
  132   watchdog:
  133     description:
  134       Watchdog controller provided by the SCU
  135     $ref: /schemas/watchdog/fsl,scu-wdt.yaml
  136 
  137 required:
  138   - compatible
  139   - mbox-names
  140   - mboxes
  141 
  142 additionalProperties: false
  143 
  144 examples:
  145   - |
  146     #include <dt-bindings/firmware/imx/rsrc.h>
  147     #include <dt-bindings/input/input.h>
  148     #include <dt-bindings/pinctrl/pads-imx8qxp.h>
  149 
  150     firmware {
  151         system-controller {
  152             compatible = "fsl,imx-scu";
  153             mbox-names = "tx0", "tx1", "tx2", "tx3",
  154                          "rx0", "rx1", "rx2", "rx3",
  155                          "gip3";
  156             mboxes = <&lsio_mu1 0 0 &lsio_mu1 0 1 &lsio_mu1 0 2 &lsio_mu1 0 3
  157                       &lsio_mu1 1 0 &lsio_mu1 1 1 &lsio_mu1 1 2 &lsio_mu1 1 3
  158                       &lsio_mu1 3 3>;
  159 
  160             clock-controller {
  161                 compatible = "fsl,imx8qxp-clk", "fsl,scu-clk";
  162                 #clock-cells = <2>;
  163             };
  164 
  165             pinctrl {
  166                 compatible = "fsl,imx8qxp-iomuxc";
  167 
  168                 pinctrl_lpuart0: lpuart0grp {
  169                     fsl,pins = <
  170                         IMX8QXP_UART0_RX_ADMA_UART0_RX   0x06000020
  171                         IMX8QXP_UART0_TX_ADMA_UART0_TX   0x06000020
  172                     >;
  173                 };
  174             };
  175 
  176             ocotp {
  177                 compatible = "fsl,imx8qxp-scu-ocotp";
  178                 #address-cells = <1>;
  179                 #size-cells = <1>;
  180 
  181                 fec_mac0: mac@2c4 {
  182                     reg = <0x2c4 6>;
  183                 };
  184             };
  185 
  186             power-controller {
  187                 compatible = "fsl,imx8qxp-scu-pd", "fsl,scu-pd";
  188                 #power-domain-cells = <1>;
  189             };
  190 
  191             rtc {
  192                 compatible = "fsl,imx8qxp-sc-rtc";
  193             };
  194 
  195             keys {
  196                 compatible = "fsl,imx8qxp-sc-key", "fsl,imx-sc-key";
  197                 linux,keycodes = <KEY_POWER>;
  198             };
  199 
  200             watchdog {
  201                 compatible = "fsl,imx8qxp-sc-wdt", "fsl,imx-sc-wdt";
  202                 timeout-sec = <60>;
  203             };
  204 
  205             thermal-sensor {
  206                 compatible = "fsl,imx8qxp-sc-thermal", "fsl,imx-sc-thermal";
  207                 #thermal-sensor-cells = <1>;
  208             };
  209         };
  210     };

Cache object: 0a2a514c2c679c1f49b5b5abfc63d436


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