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/spi/samsung,spi.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 OR BSD-2-Clause)
    2 %YAML 1.2
    3 ---
    4 $id: http://devicetree.org/schemas/spi/samsung,spi.yaml#
    5 $schema: http://devicetree.org/meta-schemas/core.yaml#
    6 
    7 title: Samsung S3C/S5P/Exynos SoC SPI controller
    8 
    9 maintainers:
   10   - Krzysztof Kozlowski <krzk@kernel.org>
   11 
   12 description:
   13   All the SPI controller nodes should be represented in the aliases node using
   14   the following format 'spi{n}' where n is a unique number for the alias.
   15 
   16 properties:
   17   compatible:
   18     oneOf:
   19       - enum:
   20           - samsung,s3c2443-spi # for S3C2443, S3C2416 and S3C2450
   21           - samsung,s3c6410-spi
   22           - samsung,s5pv210-spi # for S5PV210 and S5PC110
   23           - samsung,exynos4210-spi
   24           - samsung,exynos5433-spi
   25           - samsung,exynosautov9-spi
   26           - tesla,fsd-spi
   27       - const: samsung,exynos7-spi
   28         deprecated: true
   29 
   30   clocks:
   31     minItems: 2
   32     maxItems: 3
   33 
   34   clock-names:
   35     minItems: 2
   36     maxItems: 3
   37 
   38   cs-gpios: true
   39 
   40   dmas:
   41     minItems: 2
   42     maxItems: 2
   43 
   44   dma-names:
   45     items:
   46       - const: tx
   47       - const: rx
   48 
   49   interrupts:
   50     maxItems: 1
   51 
   52   no-cs-readback:
   53     description:
   54       The CS line is disconnected, therefore the device should not operate
   55       based on CS signalling.
   56     type: boolean
   57 
   58   num-cs:
   59     minimum: 1
   60     maximum: 4
   61     default: 1
   62 
   63   samsung,spi-src-clk:
   64     description:
   65       If the spi controller includes a internal clock mux to select the clock
   66       source for the spi bus clock, this property can be used to indicate the
   67       clock to be used for driving the spi bus clock. If not specified, the
   68       clock number 0 is used as default.
   69     $ref: /schemas/types.yaml#/definitions/uint32
   70     default: 0
   71 
   72   reg:
   73     maxItems: 1
   74 
   75 required:
   76   - compatible
   77   - clocks
   78   - clock-names
   79   - dmas
   80   - dma-names
   81   - interrupts
   82   - reg
   83 
   84 allOf:
   85   - $ref: spi-controller.yaml#
   86   - if:
   87       properties:
   88         compatible:
   89           contains:
   90             enum:
   91               - samsung,exynos5433-spi
   92               - samsung,exynosautov9-spi
   93     then:
   94       properties:
   95         clocks:
   96           minItems: 3
   97           maxItems: 3
   98         clock-names:
   99           items:
  100             - const: spi
  101             - enum:
  102                 - spi_busclk0
  103                 - spi_busclk1
  104                 - spi_busclk2
  105                 - spi_busclk3
  106             - const: spi_ioclk
  107     else:
  108       properties:
  109         clocks:
  110           minItems: 2
  111           maxItems: 2
  112         clock-names:
  113           items:
  114             - const: spi
  115             - enum:
  116                 - spi_busclk0
  117                 - spi_busclk1
  118                 - spi_busclk2
  119                 - spi_busclk3
  120 
  121 unevaluatedProperties: false
  122 
  123 examples:
  124   - |
  125     #include <dt-bindings/clock/exynos5433.h>
  126     #include <dt-bindings/clock/samsung,s2mps11.h>
  127     #include <dt-bindings/interrupt-controller/arm-gic.h>
  128     #include <dt-bindings/gpio/gpio.h>
  129 
  130     spi@14d30000 {
  131         compatible = "samsung,exynos5433-spi";
  132         reg = <0x14d30000 0x100>;
  133         interrupts = <GIC_SPI 433 IRQ_TYPE_LEVEL_HIGH>;
  134         dmas = <&pdma0 11>, <&pdma0 10>;
  135         dma-names = "tx", "rx";
  136         #address-cells = <1>;
  137         #size-cells = <0>;
  138         clocks = <&cmu_peric CLK_PCLK_SPI1>,
  139                  <&cmu_peric CLK_SCLK_SPI1>,
  140                  <&cmu_peric CLK_SCLK_IOCLK_SPI1>;
  141         clock-names = "spi",
  142                       "spi_busclk0",
  143                       "spi_ioclk";
  144         samsung,spi-src-clk = <0>;
  145         pinctrl-names = "default";
  146         pinctrl-0 = <&spi1_bus>;
  147         num-cs = <1>;
  148 
  149         cs-gpios = <&gpd6 3 GPIO_ACTIVE_HIGH>;
  150 
  151         audio-codec@0 {
  152             compatible = "wlf,wm5110";
  153             reg = <0x0>;
  154             spi-max-frequency = <20000000>;
  155             interrupt-parent = <&gpa0>;
  156             interrupts = <4 IRQ_TYPE_NONE>;
  157             clocks = <&pmu_system_controller 0>,
  158                      <&s2mps13_osc S2MPS11_CLK_BT>;
  159             clock-names = "mclk1", "mclk2";
  160 
  161             gpio-controller;
  162             #gpio-cells = <2>;
  163             interrupt-controller;
  164             #interrupt-cells = <2>;
  165 
  166             wlf,micd-detect-debounce = <300>;
  167             wlf,micd-bias-start-time = <0x1>;
  168             wlf,micd-rate = <0x7>;
  169             wlf,micd-dbtime = <0x2>;
  170             wlf,micd-force-micbias;
  171             wlf,micd-configs = <0x0 1 0>;
  172             wlf,hpdet-channel = <1>;
  173             wlf,gpsw = <0x1>;
  174             wlf,inmode = <2 0 2 0>;
  175 
  176             wlf,reset = <&gpc0 7 GPIO_ACTIVE_HIGH>;
  177             wlf,ldoena = <&gpf0 0 GPIO_ACTIVE_HIGH>;
  178 
  179             /* core supplies */
  180             AVDD-supply = <&ldo18_reg>;
  181             DBVDD1-supply = <&ldo18_reg>;
  182             CPVDD-supply = <&ldo18_reg>;
  183             DBVDD2-supply = <&ldo18_reg>;
  184             DBVDD3-supply = <&ldo18_reg>;
  185             SPKVDDL-supply = <&ldo18_reg>;
  186             SPKVDDR-supply = <&ldo18_reg>;
  187 
  188             controller-data {
  189                 samsung,spi-feedback-delay = <0>;
  190             };
  191         };
  192     };

Cache object: 64eb3e7a611819832c2cd35765e054a2


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