1*655c8f51SKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2*655c8f51SKrzysztof Kozlowski%YAML 1.2 3*655c8f51SKrzysztof Kozlowski--- 4*655c8f51SKrzysztof Kozlowski$id: http://devicetree.org/schemas/ufs/qcom,sc7180-ufshc.yaml# 5*655c8f51SKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml# 6*655c8f51SKrzysztof Kozlowski 7*655c8f51SKrzysztof Kozlowskititle: Qualcomm SC7180 and Other SoCs UFS Controllers 8*655c8f51SKrzysztof Kozlowski 9*655c8f51SKrzysztof Kozlowskimaintainers: 10*655c8f51SKrzysztof Kozlowski - Bjorn Andersson <bjorn.andersson@linaro.org> 11*655c8f51SKrzysztof Kozlowski 12*655c8f51SKrzysztof Kozlowski# Select only our matches, not all jedec,ufs-2.0 13*655c8f51SKrzysztof Kozlowskiselect: 14*655c8f51SKrzysztof Kozlowski properties: 15*655c8f51SKrzysztof Kozlowski compatible: 16*655c8f51SKrzysztof Kozlowski contains: 17*655c8f51SKrzysztof Kozlowski enum: 18*655c8f51SKrzysztof Kozlowski - qcom,msm8998-ufshc 19*655c8f51SKrzysztof Kozlowski - qcom,qcs8300-ufshc 20*655c8f51SKrzysztof Kozlowski - qcom,sa8775p-ufshc 21*655c8f51SKrzysztof Kozlowski - qcom,sc7180-ufshc 22*655c8f51SKrzysztof Kozlowski - qcom,sc7280-ufshc 23*655c8f51SKrzysztof Kozlowski - qcom,sc8180x-ufshc 24*655c8f51SKrzysztof Kozlowski - qcom,sc8280xp-ufshc 25*655c8f51SKrzysztof Kozlowski - qcom,sm8250-ufshc 26*655c8f51SKrzysztof Kozlowski - qcom,sm8350-ufshc 27*655c8f51SKrzysztof Kozlowski - qcom,sm8450-ufshc 28*655c8f51SKrzysztof Kozlowski - qcom,sm8550-ufshc 29*655c8f51SKrzysztof Kozlowski required: 30*655c8f51SKrzysztof Kozlowski - compatible 31*655c8f51SKrzysztof Kozlowski 32*655c8f51SKrzysztof Kozlowskiproperties: 33*655c8f51SKrzysztof Kozlowski compatible: 34*655c8f51SKrzysztof Kozlowski items: 35*655c8f51SKrzysztof Kozlowski - enum: 36*655c8f51SKrzysztof Kozlowski - qcom,msm8998-ufshc 37*655c8f51SKrzysztof Kozlowski - qcom,qcs8300-ufshc 38*655c8f51SKrzysztof Kozlowski - qcom,sa8775p-ufshc 39*655c8f51SKrzysztof Kozlowski - qcom,sc7180-ufshc 40*655c8f51SKrzysztof Kozlowski - qcom,sc7280-ufshc 41*655c8f51SKrzysztof Kozlowski - qcom,sc8180x-ufshc 42*655c8f51SKrzysztof Kozlowski - qcom,sc8280xp-ufshc 43*655c8f51SKrzysztof Kozlowski - qcom,sm8250-ufshc 44*655c8f51SKrzysztof Kozlowski - qcom,sm8350-ufshc 45*655c8f51SKrzysztof Kozlowski - qcom,sm8450-ufshc 46*655c8f51SKrzysztof Kozlowski - qcom,sm8550-ufshc 47*655c8f51SKrzysztof Kozlowski - const: qcom,ufshc 48*655c8f51SKrzysztof Kozlowski - const: jedec,ufs-2.0 49*655c8f51SKrzysztof Kozlowski 50*655c8f51SKrzysztof Kozlowski reg: 51*655c8f51SKrzysztof Kozlowski maxItems: 1 52*655c8f51SKrzysztof Kozlowski 53*655c8f51SKrzysztof Kozlowski reg-names: 54*655c8f51SKrzysztof Kozlowski items: 55*655c8f51SKrzysztof Kozlowski - const: std 56*655c8f51SKrzysztof Kozlowski 57*655c8f51SKrzysztof Kozlowski clocks: 58*655c8f51SKrzysztof Kozlowski minItems: 7 59*655c8f51SKrzysztof Kozlowski maxItems: 8 60*655c8f51SKrzysztof Kozlowski 61*655c8f51SKrzysztof Kozlowski clock-names: 62*655c8f51SKrzysztof Kozlowski minItems: 7 63*655c8f51SKrzysztof Kozlowski items: 64*655c8f51SKrzysztof Kozlowski - const: core_clk 65*655c8f51SKrzysztof Kozlowski - const: bus_aggr_clk 66*655c8f51SKrzysztof Kozlowski - const: iface_clk 67*655c8f51SKrzysztof Kozlowski - const: core_clk_unipro 68*655c8f51SKrzysztof Kozlowski - const: ref_clk 69*655c8f51SKrzysztof Kozlowski - const: tx_lane0_sync_clk 70*655c8f51SKrzysztof Kozlowski - const: rx_lane0_sync_clk 71*655c8f51SKrzysztof Kozlowski - const: rx_lane1_sync_clk 72*655c8f51SKrzysztof Kozlowski 73*655c8f51SKrzysztof Kozlowski qcom,ice: 74*655c8f51SKrzysztof Kozlowski $ref: /schemas/types.yaml#/definitions/phandle 75*655c8f51SKrzysztof Kozlowski description: phandle to the Inline Crypto Engine node 76*655c8f51SKrzysztof Kozlowski 77*655c8f51SKrzysztof Kozlowskirequired: 78*655c8f51SKrzysztof Kozlowski - compatible 79*655c8f51SKrzysztof Kozlowski - reg 80*655c8f51SKrzysztof Kozlowski 81*655c8f51SKrzysztof KozlowskiallOf: 82*655c8f51SKrzysztof Kozlowski - $ref: qcom,ufs-common.yaml 83*655c8f51SKrzysztof Kozlowski 84*655c8f51SKrzysztof Kozlowski - if: 85*655c8f51SKrzysztof Kozlowski properties: 86*655c8f51SKrzysztof Kozlowski compatible: 87*655c8f51SKrzysztof Kozlowski contains: 88*655c8f51SKrzysztof Kozlowski enum: 89*655c8f51SKrzysztof Kozlowski - qcom,sc7180-ufshc 90*655c8f51SKrzysztof Kozlowski then: 91*655c8f51SKrzysztof Kozlowski properties: 92*655c8f51SKrzysztof Kozlowski clocks: 93*655c8f51SKrzysztof Kozlowski maxItems: 7 94*655c8f51SKrzysztof Kozlowski clock-names: 95*655c8f51SKrzysztof Kozlowski maxItems: 7 96*655c8f51SKrzysztof Kozlowski else: 97*655c8f51SKrzysztof Kozlowski properties: 98*655c8f51SKrzysztof Kozlowski clocks: 99*655c8f51SKrzysztof Kozlowski minItems: 8 100*655c8f51SKrzysztof Kozlowski clock-names: 101*655c8f51SKrzysztof Kozlowski minItems: 8 102*655c8f51SKrzysztof Kozlowski 103*655c8f51SKrzysztof KozlowskiunevaluatedProperties: false 104*655c8f51SKrzysztof Kozlowski 105*655c8f51SKrzysztof Kozlowskiexamples: 106*655c8f51SKrzysztof Kozlowski - | 107*655c8f51SKrzysztof Kozlowski #include <dt-bindings/clock/qcom,gcc-sm8450.h> 108*655c8f51SKrzysztof Kozlowski #include <dt-bindings/clock/qcom,rpmh.h> 109*655c8f51SKrzysztof Kozlowski #include <dt-bindings/gpio/gpio.h> 110*655c8f51SKrzysztof Kozlowski #include <dt-bindings/interconnect/qcom,sm8450.h> 111*655c8f51SKrzysztof Kozlowski #include <dt-bindings/interrupt-controller/arm-gic.h> 112*655c8f51SKrzysztof Kozlowski 113*655c8f51SKrzysztof Kozlowski soc { 114*655c8f51SKrzysztof Kozlowski #address-cells = <2>; 115*655c8f51SKrzysztof Kozlowski #size-cells = <2>; 116*655c8f51SKrzysztof Kozlowski 117*655c8f51SKrzysztof Kozlowski ufs@1d84000 { 118*655c8f51SKrzysztof Kozlowski compatible = "qcom,sm8450-ufshc", "qcom,ufshc", 119*655c8f51SKrzysztof Kozlowski "jedec,ufs-2.0"; 120*655c8f51SKrzysztof Kozlowski reg = <0x0 0x01d84000 0x0 0x3000>; 121*655c8f51SKrzysztof Kozlowski interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>; 122*655c8f51SKrzysztof Kozlowski phys = <&ufs_mem_phy_lanes>; 123*655c8f51SKrzysztof Kozlowski phy-names = "ufsphy"; 124*655c8f51SKrzysztof Kozlowski lanes-per-direction = <2>; 125*655c8f51SKrzysztof Kozlowski #reset-cells = <1>; 126*655c8f51SKrzysztof Kozlowski resets = <&gcc GCC_UFS_PHY_BCR>; 127*655c8f51SKrzysztof Kozlowski reset-names = "rst"; 128*655c8f51SKrzysztof Kozlowski reset-gpios = <&tlmm 210 GPIO_ACTIVE_LOW>; 129*655c8f51SKrzysztof Kozlowski 130*655c8f51SKrzysztof Kozlowski vcc-supply = <&vreg_l7b_2p5>; 131*655c8f51SKrzysztof Kozlowski vcc-max-microamp = <1100000>; 132*655c8f51SKrzysztof Kozlowski vccq-supply = <&vreg_l9b_1p2>; 133*655c8f51SKrzysztof Kozlowski vccq-max-microamp = <1200000>; 134*655c8f51SKrzysztof Kozlowski 135*655c8f51SKrzysztof Kozlowski power-domains = <&gcc UFS_PHY_GDSC>; 136*655c8f51SKrzysztof Kozlowski iommus = <&apps_smmu 0xe0 0x0>; 137*655c8f51SKrzysztof Kozlowski interconnects = <&aggre1_noc MASTER_UFS_MEM &mc_virt SLAVE_EBI1>, 138*655c8f51SKrzysztof Kozlowski <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_UFS_MEM_CFG>; 139*655c8f51SKrzysztof Kozlowski interconnect-names = "ufs-ddr", "cpu-ufs"; 140*655c8f51SKrzysztof Kozlowski 141*655c8f51SKrzysztof Kozlowski clocks = <&gcc GCC_UFS_PHY_AXI_CLK>, 142*655c8f51SKrzysztof Kozlowski <&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>, 143*655c8f51SKrzysztof Kozlowski <&gcc GCC_UFS_PHY_AHB_CLK>, 144*655c8f51SKrzysztof Kozlowski <&gcc GCC_UFS_PHY_UNIPRO_CORE_CLK>, 145*655c8f51SKrzysztof Kozlowski <&rpmhcc RPMH_CXO_CLK>, 146*655c8f51SKrzysztof Kozlowski <&gcc GCC_UFS_PHY_TX_SYMBOL_0_CLK>, 147*655c8f51SKrzysztof Kozlowski <&gcc GCC_UFS_PHY_RX_SYMBOL_0_CLK>, 148*655c8f51SKrzysztof Kozlowski <&gcc GCC_UFS_PHY_RX_SYMBOL_1_CLK>; 149*655c8f51SKrzysztof Kozlowski clock-names = "core_clk", 150*655c8f51SKrzysztof Kozlowski "bus_aggr_clk", 151*655c8f51SKrzysztof Kozlowski "iface_clk", 152*655c8f51SKrzysztof Kozlowski "core_clk_unipro", 153*655c8f51SKrzysztof Kozlowski "ref_clk", 154*655c8f51SKrzysztof Kozlowski "tx_lane0_sync_clk", 155*655c8f51SKrzysztof Kozlowski "rx_lane0_sync_clk", 156*655c8f51SKrzysztof Kozlowski "rx_lane1_sync_clk"; 157*655c8f51SKrzysztof Kozlowski freq-table-hz = <75000000 300000000>, 158*655c8f51SKrzysztof Kozlowski <0 0>, 159*655c8f51SKrzysztof Kozlowski <0 0>, 160*655c8f51SKrzysztof Kozlowski <75000000 300000000>, 161*655c8f51SKrzysztof Kozlowski <75000000 300000000>, 162*655c8f51SKrzysztof Kozlowski <0 0>, 163*655c8f51SKrzysztof Kozlowski <0 0>, 164*655c8f51SKrzysztof Kozlowski <0 0>; 165*655c8f51SKrzysztof Kozlowski qcom,ice = <&ice>; 166*655c8f51SKrzysztof Kozlowski }; 167*655c8f51SKrzysztof Kozlowski }; 168