File Index
Files and directories
Sign in
FILE

qcom,sm8650-ufshc.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/ufs/qcom,sm8650-ufshc.yaml YAML
  1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/ufs/qcom,sm8650-ufshc.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: Qualcomm SM8650 and Other SoCs UFS Controllers
  8
  9maintainers:
 10  - Bjorn Andersson <bjorn.andersson@linaro.org>
 11
 12# Select only our matches, not all jedec,ufs-2.0
 13select:
 14  properties:
 15    compatible:
 16      contains:
 17        enum:
 18          - qcom,kaanapali-ufshc
 19          - qcom,sm8650-ufshc
 20          - qcom,sm8750-ufshc
 21  required:
 22    - compatible
 23
 24properties:
 25  compatible:
 26    items:
 27      - enum:
 28          - qcom,kaanapali-ufshc
 29          - qcom,sm8650-ufshc
 30          - qcom,sm8750-ufshc
 31      - const: qcom,ufshc
 32      - const: jedec,ufs-2.0
 33
 34  reg:
 35    minItems: 1
 36    maxItems: 2
 37
 38  reg-names:
 39    minItems: 1
 40    items:
 41      - const: std
 42      - const: mcq
 43
 44  clocks:
 45    minItems: 8
 46    maxItems: 8
 47
 48  clock-names:
 49    items:
 50      - const: core_clk
 51      - const: bus_aggr_clk
 52      - const: iface_clk
 53      - const: core_clk_unipro
 54      - const: ref_clk
 55      - const: tx_lane0_sync_clk
 56      - const: rx_lane0_sync_clk
 57      - const: rx_lane1_sync_clk
 58
 59  qcom,ice:
 60    $ref: /schemas/types.yaml#/definitions/phandle
 61    description: phandle to the Inline Crypto Engine node
 62
 63required:
 64  - compatible
 65  - reg
 66
 67allOf:
 68  - $ref: qcom,ufs-common.yaml
 69
 70unevaluatedProperties: false
 71
 72examples:
 73  - |
 74    #include <dt-bindings/clock/qcom,sm8650-gcc.h>
 75    #include <dt-bindings/clock/qcom,sm8650-tcsr.h>
 76    #include <dt-bindings/clock/qcom,rpmh.h>
 77    #include <dt-bindings/gpio/gpio.h>
 78    #include <dt-bindings/interconnect/qcom,icc.h>
 79    #include <dt-bindings/interconnect/qcom,sm8650-rpmh.h>
 80    #include <dt-bindings/interrupt-controller/arm-gic.h>
 81
 82    soc {
 83        #address-cells = <2>;
 84        #size-cells = <2>;
 85
 86        ufshc@1d84000 {
 87            compatible = "qcom,sm8650-ufshc", "qcom,ufshc", "jedec,ufs-2.0";
 88            reg = <0x0 0x01d84000 0x0 0x3000>;
 89
 90            interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH 0>;
 91
 92            clocks = <&gcc GCC_UFS_PHY_AXI_CLK>,
 93                     <&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>,
 94                     <&gcc GCC_UFS_PHY_AHB_CLK>,
 95                     <&gcc GCC_UFS_PHY_UNIPRO_CORE_CLK>,
 96                     <&tcsr TCSR_UFS_PAD_CLKREF_EN>,
 97                     <&gcc GCC_UFS_PHY_TX_SYMBOL_0_CLK>,
 98                     <&gcc GCC_UFS_PHY_RX_SYMBOL_0_CLK>,
 99                     <&gcc GCC_UFS_PHY_RX_SYMBOL_1_CLK>;
100            clock-names = "core_clk",
101                          "bus_aggr_clk",
102                          "iface_clk",
103                          "core_clk_unipro",
104                          "ref_clk",
105                          "tx_lane0_sync_clk",
106                          "rx_lane0_sync_clk",
107                          "rx_lane1_sync_clk";
108
109            resets = <&gcc GCC_UFS_PHY_BCR>;
110            reset-names = "rst";
111            reset-gpios = <&tlmm 210 GPIO_ACTIVE_LOW>;
112
113            interconnects = <&aggre1_noc MASTER_UFS_MEM QCOM_ICC_TAG_ALWAYS
114                             &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
115                            <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ACTIVE_ONLY
116                             &config_noc SLAVE_UFS_MEM_CFG QCOM_ICC_TAG_ACTIVE_ONLY>;
117            interconnect-names = "ufs-ddr",
118                         "cpu-ufs";
119
120            power-domains = <&gcc UFS_PHY_GDSC>;
121            required-opps = <&rpmhpd_opp_nom>;
122
123            operating-points-v2 = <&ufs_opp_table>;
124
125            iommus = <&apps_smmu 0x60 0>;
126
127            lanes-per-direction = <2>;
128            qcom,ice = <&ice>;
129
130            phys = <&ufs_mem_phy>;
131            phy-names = "ufsphy";
132
133            #reset-cells = <1>;
134
135            vcc-supply = <&vreg_l7b_2p5>;
136            vcc-max-microamp = <1100000>;
137            vccq-supply = <&vreg_l9b_1p2>;
138            vccq-max-microamp = <1200000>;
139
140            ufs_opp_table: opp-table {
141                compatible = "operating-points-v2";
142
143                opp-100000000 {
144                    opp-hz = /bits/ 64 <100000000>,
145                             /bits/ 64 <0>,
146                             /bits/ 64 <0>,
147                             /bits/ 64 <100000000>,
148                             /bits/ 64 <0>,
149                             /bits/ 64 <0>,
150                             /bits/ 64 <0>,
151                             /bits/ 64 <0>;
152                    required-opps = <&rpmhpd_opp_low_svs>;
153                };
154
155                opp-201500000 {
156                    opp-hz = /bits/ 64 <201500000>,
157                             /bits/ 64 <0>,
158                             /bits/ 64 <0>,
159                             /bits/ 64 <201500000>,
160                             /bits/ 64 <0>,
161                             /bits/ 64 <0>,
162                             /bits/ 64 <0>,
163                             /bits/ 64 <0>;
164                    required-opps = <&rpmhpd_opp_svs>;
165                };
166
167                opp-403000000 {
168                    opp-hz = /bits/ 64 <403000000>,
169                             /bits/ 64 <0>,
170                             /bits/ 64 <0>,
171                             /bits/ 64 <403000000>,
172                             /bits/ 64 <0>,
173                             /bits/ 64 <0>,
174                             /bits/ 64 <0>,
175                             /bits/ 64 <0>;
176                    required-opps = <&rpmhpd_opp_nom>;
177                };
178            };
179        };
180    };
~/ Read-only file preview.