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/mmc/sdhci-msm.txt

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 * Qualcomm SDHCI controller (sdhci-msm)
    2 
    3 This file documents differences between the core properties in mmc.txt
    4 and the properties used by the sdhci-msm driver.
    5 
    6 Required properties:
    7 - compatible: Should contain a SoC-specific string and a IP version string:
    8         version strings:
    9                 "qcom,sdhci-msm-v4" for sdcc versions less than 5.0
   10                 "qcom,sdhci-msm-v5" for sdcc version 5.0
   11                 For SDCC version 5.0.0, MCI registers are removed from SDCC
   12                 interface and some registers are moved to HC. New compatible
   13                 string is added to support this change - "qcom,sdhci-msm-v5".
   14         full compatible strings with SoC and version:
   15                 "qcom,apq8084-sdhci", "qcom,sdhci-msm-v4"
   16                 "qcom,msm8226-sdhci", "qcom,sdhci-msm-v4"
   17                 "qcom,msm8953-sdhci", "qcom,sdhci-msm-v4"
   18                 "qcom,msm8974-sdhci", "qcom,sdhci-msm-v4"
   19                 "qcom,msm8916-sdhci", "qcom,sdhci-msm-v4"
   20                 "qcom,msm8992-sdhci", "qcom,sdhci-msm-v4"
   21                 "qcom,msm8994-sdhci", "qcom,sdhci-msm-v4"
   22                 "qcom,msm8996-sdhci", "qcom,sdhci-msm-v4"
   23                 "qcom,qcs404-sdhci", "qcom,sdhci-msm-v5"
   24                 "qcom,sc7180-sdhci", "qcom,sdhci-msm-v5";
   25                 "qcom,sc7280-sdhci", "qcom,sdhci-msm-v5";
   26                 "qcom,sdm845-sdhci", "qcom,sdhci-msm-v5"
   27                 "qcom,sdx55-sdhci", "qcom,sdhci-msm-v5";
   28                 "qcom,sm8250-sdhci", "qcom,sdhci-msm-v5"
   29         NOTE that some old device tree files may be floating around that only
   30         have the string "qcom,sdhci-msm-v4" without the SoC compatible string
   31         but doing that should be considered a deprecated practice.
   32 
   33 - reg: Base address and length of the register in the following order:
   34         - Host controller register map (required)
   35         - SD Core register map (required for controllers earlier than msm-v5)
   36         - CQE register map (Optional, CQE support is present on SDHC instance meant
   37                             for eMMC and version v4.2 and above)
   38         - Inline Crypto Engine register map (optional)
   39 - reg-names: When CQE register map is supplied, below reg-names are required
   40         - "hc" for Host controller register map
   41         - "core" for SD core register map
   42         - "cqhci" for CQE register map
   43         - "ice" for Inline Crypto Engine register map (optional)
   44 - interrupts: Should contain an interrupt-specifiers for the interrupts:
   45         - Host controller interrupt (required)
   46 - pinctrl-names: Should contain only one value - "default".
   47 - pinctrl-0: Should specify pin control groups used for this controller.
   48 - clocks: A list of phandle + clock-specifier pairs for the clocks listed in clock-names.
   49 - clock-names: Should contain the following:
   50         "iface" - Main peripheral bus clock (PCLK/HCLK - AHB Bus clock) (required)
   51         "core"  - SDC MMC clock (MCLK) (required)
   52         "bus"   - SDCC bus voter clock (optional)
   53         "xo"    - TCXO clock (optional)
   54         "cal"   - reference clock for RCLK delay calibration (optional)
   55         "sleep" - sleep clock for RCLK delay calibration (optional)
   56         "ice" - clock for Inline Crypto Engine (optional)
   57 
   58 - qcom,ddr-config: Certain chipsets and platforms require particular settings
   59         for the DDR_CONFIG register. Use this field to specify the register
   60         value as per the Hardware Programming Guide.
   61 
   62 - qcom,dll-config: Chipset and Platform specific value. Use this field to
   63         specify the DLL_CONFIG register value as per Hardware Programming Guide.
   64 
   65 Optional Properties:
   66 * Following bus parameters are required for interconnect bandwidth scaling:
   67 - interconnects: Pairs of phandles and interconnect provider specifier
   68                  to denote the edge source and destination ports of
   69                  the interconnect path.
   70 
   71 - interconnect-names: For sdhc, we have two main paths.
   72                 1. Data path : sdhc to ddr
   73                 2. Config path : cpu to sdhc
   74                 For Data interconnect path the name supposed to be
   75                 is "sdhc-ddr" and for config interconnect path it is
   76                 "cpu-sdhc".
   77                 Please refer to Documentation/devicetree/bindings/
   78                 interconnect/ for more details.
   79 
   80 Example:
   81 
   82         sdhc_1: sdhci@f9824900 {
   83                 compatible = "qcom,msm8974-sdhci", "qcom,sdhci-msm-v4";
   84                 reg = <0xf9824900 0x11c>, <0xf9824000 0x800>;
   85                 interrupts = <0 123 0>;
   86                 bus-width = <8>;
   87                 non-removable;
   88 
   89                 vmmc-supply = <&pm8941_l20>;
   90                 vqmmc-supply = <&pm8941_s3>;
   91 
   92                 pinctrl-names = "default";
   93                 pinctrl-0 = <&sdc1_clk &sdc1_cmd &sdc1_data>;
   94 
   95                 clocks = <&gcc GCC_SDCC1_APPS_CLK>, <&gcc GCC_SDCC1_AHB_CLK>;
   96                 clock-names = "core", "iface";
   97                 interconnects = <&qnoc MASTER_SDCC_ID &qnoc SLAVE_DDR_ID>,
   98                                 <&qnoc MASTER_CPU_ID &qnoc SLAVE_SDCC_ID>;
   99                 interconnect-names = "sdhc-ddr","cpu-sdhc";
  100 
  101                 qcom,dll-config = <0x000f642c>;
  102                 qcom,ddr-config = <0x80040868>;
  103         };
  104 
  105         sdhc_2: sdhci@f98a4900 {
  106                 compatible = "qcom,msm8974-sdhci", "qcom,sdhci-msm-v4";
  107                 reg = <0xf98a4900 0x11c>, <0xf98a4000 0x800>;
  108                 interrupts = <0 125 0>;
  109                 bus-width = <4>;
  110                 cd-gpios = <&msmgpio 62 0x1>;
  111 
  112                 vmmc-supply = <&pm8941_l21>;
  113                 vqmmc-supply = <&pm8941_l13>;
  114 
  115                 pinctrl-names = "default";
  116                 pinctrl-0 = <&sdc2_clk &sdc2_cmd &sdc2_data>;
  117 
  118                 clocks = <&gcc GCC_SDCC2_APPS_CLK>, <&gcc GCC_SDCC2_AHB_CLK>;
  119                 clock-names = "core", "iface";
  120 
  121                 qcom,dll-config = <0x0007642c>;
  122                 qcom,ddr-config = <0x80040868>;
  123         };

Cache object: 9daa3c8068a7c3da20a76f9ac6e6967a


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