Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0
0002 /dts-v1/;
0003 
0004 #include <dt-bindings/interrupt-controller/arm-gic.h>
0005 #include <dt-bindings/clock/qcom,gcc-msm8960.h>
0006 #include <dt-bindings/mfd/qcom-rpm.h>
0007 #include <dt-bindings/soc/qcom,gsbi.h>
0008 
0009 / {
0010         #address-cells = <1>;
0011         #size-cells = <1>;
0012         model = "Qualcomm MSM8960";
0013         compatible = "qcom,msm8960";
0014         interrupt-parent = <&intc>;
0015 
0016         cpus {
0017                 #address-cells = <1>;
0018                 #size-cells = <0>;
0019                 interrupts = <1 14 0x304>;
0020 
0021                 cpu@0 {
0022                         compatible = "qcom,krait";
0023                         enable-method = "qcom,kpss-acc-v1";
0024                         device_type = "cpu";
0025                         reg = <0>;
0026                         next-level-cache = <&L2>;
0027                         qcom,acc = <&acc0>;
0028                         qcom,saw = <&saw0>;
0029                 };
0030 
0031                 cpu@1 {
0032                         compatible = "qcom,krait";
0033                         enable-method = "qcom,kpss-acc-v1";
0034                         device_type = "cpu";
0035                         reg = <1>;
0036                         next-level-cache = <&L2>;
0037                         qcom,acc = <&acc1>;
0038                         qcom,saw = <&saw1>;
0039                 };
0040 
0041                 L2: l2-cache {
0042                         compatible = "cache";
0043                         cache-level = <2>;
0044                 };
0045         };
0046 
0047         memory {
0048                 device_type = "memory";
0049                 reg = <0x0 0x0>;
0050         };
0051 
0052         cpu-pmu {
0053                 compatible = "qcom,krait-pmu";
0054                 interrupts = <1 10 0x304>;
0055                 qcom,no-pc-write;
0056         };
0057 
0058         clocks {
0059                 cxo_board {
0060                         compatible = "fixed-clock";
0061                         #clock-cells = <0>;
0062                         clock-frequency = <19200000>;
0063                         clock-output-names = "cxo_board";
0064                 };
0065 
0066                 pxo_board {
0067                         compatible = "fixed-clock";
0068                         #clock-cells = <0>;
0069                         clock-frequency = <27000000>;
0070                         clock-output-names = "pxo_board";
0071                 };
0072 
0073                 sleep_clk {
0074                         compatible = "fixed-clock";
0075                         #clock-cells = <0>;
0076                         clock-frequency = <32768>;
0077                         clock-output-names = "sleep_clk";
0078                 };
0079         };
0080 
0081         /* Temporary fixed regulator */
0082         vsdcc_fixed: vsdcc-regulator {
0083                 compatible = "regulator-fixed";
0084                 regulator-name = "SDCC Power";
0085                 regulator-min-microvolt = <2700000>;
0086                 regulator-max-microvolt = <2700000>;
0087                 regulator-always-on;
0088         };
0089 
0090         soc: soc {
0091                 #address-cells = <1>;
0092                 #size-cells = <1>;
0093                 ranges;
0094                 compatible = "simple-bus";
0095 
0096                 intc: interrupt-controller@2000000 {
0097                         compatible = "qcom,msm-qgic2";
0098                         interrupt-controller;
0099                         #interrupt-cells = <3>;
0100                         reg = <0x02000000 0x1000>,
0101                               <0x02002000 0x1000>;
0102                 };
0103 
0104                 timer@200a000 {
0105                         compatible = "qcom,kpss-timer",
0106                                      "qcom,kpss-wdt-msm8960", "qcom,msm-timer";
0107                         interrupts = <1 1 0x301>,
0108                                      <1 2 0x301>,
0109                                      <1 3 0x301>;
0110                         reg = <0x0200a000 0x100>;
0111                         clock-frequency = <27000000>,
0112                                           <32768>;
0113                         cpu-offset = <0x80000>;
0114                 };
0115 
0116                 msmgpio: pinctrl@800000 {
0117                         compatible = "qcom,msm8960-pinctrl";
0118                         gpio-controller;
0119                         gpio-ranges = <&msmgpio 0 0 152>;
0120                         #gpio-cells = <2>;
0121                         interrupts = <0 16 0x4>;
0122                         interrupt-controller;
0123                         #interrupt-cells = <2>;
0124                         reg = <0x800000 0x4000>;
0125                 };
0126 
0127                 gcc: clock-controller@900000 {
0128                         compatible = "qcom,gcc-msm8960";
0129                         #clock-cells = <1>;
0130                         #power-domain-cells = <1>;
0131                         #reset-cells = <1>;
0132                         reg = <0x900000 0x4000>;
0133                 };
0134 
0135                 lcc: clock-controller@28000000 {
0136                         compatible = "qcom,lcc-msm8960";
0137                         reg = <0x28000000 0x1000>;
0138                         #clock-cells = <1>;
0139                         #reset-cells = <1>;
0140                 };
0141 
0142                 clock-controller@4000000 {
0143                         compatible = "qcom,mmcc-msm8960";
0144                         reg = <0x4000000 0x1000>;
0145                         #clock-cells = <1>;
0146                         #power-domain-cells = <1>;
0147                         #reset-cells = <1>;
0148                 };
0149 
0150                 l2cc: clock-controller@2011000 {
0151                         compatible = "qcom,kpss-gcc", "syscon";
0152                         reg = <0x2011000 0x1000>;
0153                 };
0154 
0155                 rpm@108000 {
0156                         compatible = "qcom,rpm-msm8960";
0157                         reg = <0x108000 0x1000>;
0158                         qcom,ipc = <&l2cc 0x8 2>;
0159 
0160                         interrupts = <GIC_SPI 19 IRQ_TYPE_EDGE_RISING>,
0161                                      <GIC_SPI 21 IRQ_TYPE_EDGE_RISING>,
0162                                      <GIC_SPI 22 IRQ_TYPE_EDGE_RISING>;
0163                         interrupt-names = "ack", "err", "wakeup";
0164 
0165                         regulators {
0166                                 compatible = "qcom,rpm-pm8921-regulators";
0167                         };
0168                 };
0169 
0170                 acc0: clock-controller@2088000 {
0171                         compatible = "qcom,kpss-acc-v1";
0172                         reg = <0x02088000 0x1000>, <0x02008000 0x1000>;
0173                 };
0174 
0175                 acc1: clock-controller@2098000 {
0176                         compatible = "qcom,kpss-acc-v1";
0177                         reg = <0x02098000 0x1000>, <0x02008000 0x1000>;
0178                 };
0179 
0180                 saw0: regulator@2089000 {
0181                         compatible = "qcom,saw2";
0182                         reg = <0x02089000 0x1000>, <0x02009000 0x1000>;
0183                         regulator;
0184                 };
0185 
0186                 saw1: regulator@2099000 {
0187                         compatible = "qcom,saw2";
0188                         reg = <0x02099000 0x1000>, <0x02009000 0x1000>;
0189                         regulator;
0190                 };
0191 
0192                 gsbi5: gsbi@16400000 {
0193                         compatible = "qcom,gsbi-v1.0.0";
0194                         cell-index = <5>;
0195                         reg = <0x16400000 0x100>;
0196                         clocks = <&gcc GSBI5_H_CLK>;
0197                         clock-names = "iface";
0198                         #address-cells = <1>;
0199                         #size-cells = <1>;
0200                         ranges;
0201 
0202                         syscon-tcsr = <&tcsr>;
0203 
0204                         gsbi5_serial: serial@16440000 {
0205                                 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
0206                                 reg = <0x16440000 0x1000>,
0207                                       <0x16400000 0x1000>;
0208                                 interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
0209                                 clocks = <&gcc GSBI5_UART_CLK>, <&gcc GSBI5_H_CLK>;
0210                                 clock-names = "core", "iface";
0211                                 status = "disabled";
0212                         };
0213                 };
0214 
0215                 qcom,ssbi@500000 {
0216                         compatible = "qcom,ssbi";
0217                         reg = <0x500000 0x1000>;
0218                         qcom,controller-type = "pmic-arbiter";
0219 
0220                         pmicintc: pmic@0 {
0221                                 compatible = "qcom,pm8921";
0222                                 interrupt-parent = <&msmgpio>;
0223                                 interrupts = <104 8>;
0224                                 #interrupt-cells = <2>;
0225                                 interrupt-controller;
0226                                 #address-cells = <1>;
0227                                 #size-cells = <0>;
0228 
0229                                 pwrkey@1c {
0230                                         compatible = "qcom,pm8921-pwrkey";
0231                                         reg = <0x1c>;
0232                                         interrupt-parent = <&pmicintc>;
0233                                         interrupts = <50 1>, <51 1>;
0234                                         debounce = <15625>;
0235                                         pull-up;
0236                                 };
0237 
0238                                 keypad@148 {
0239                                         compatible = "qcom,pm8921-keypad";
0240                                         reg = <0x148>;
0241                                         interrupt-parent = <&pmicintc>;
0242                                         interrupts = <74 1>, <75 1>;
0243                                         debounce = <15>;
0244                                         scan-delay = <32>;
0245                                         row-hold = <91500>;
0246                                 };
0247 
0248                                 rtc@11d {
0249                                         compatible = "qcom,pm8921-rtc";
0250                                         interrupt-parent = <&pmicintc>;
0251                                         interrupts = <39 1>;
0252                                         reg = <0x11d>;
0253                                         allow-set-time;
0254                                 };
0255                         };
0256                 };
0257 
0258                 rng@1a500000 {
0259                         compatible = "qcom,prng";
0260                         reg = <0x1a500000 0x200>;
0261                         clocks = <&gcc PRNG_CLK>;
0262                         clock-names = "core";
0263                 };
0264 
0265                 amba {
0266                         compatible = "simple-bus";
0267                         #address-cells = <1>;
0268                         #size-cells = <1>;
0269                         ranges;
0270                         sdcc1: mmc@12400000 {
0271                                 status = "disabled";
0272                                 compatible = "arm,pl18x", "arm,primecell";
0273                                 arm,primecell-periphid = <0x00051180>;
0274                                 reg = <0x12400000 0x8000>;
0275                                 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
0276                                 interrupt-names = "cmd_irq";
0277                                 clocks = <&gcc SDC1_CLK>, <&gcc SDC1_H_CLK>;
0278                                 clock-names = "mclk", "apb_pclk";
0279                                 bus-width = <8>;
0280                                 max-frequency = <96000000>;
0281                                 non-removable;
0282                                 cap-sd-highspeed;
0283                                 cap-mmc-highspeed;
0284                                 vmmc-supply = <&vsdcc_fixed>;
0285                         };
0286 
0287                         sdcc3: mmc@12180000 {
0288                                 compatible = "arm,pl18x", "arm,primecell";
0289                                 arm,primecell-periphid = <0x00051180>;
0290                                 status = "disabled";
0291                                 reg = <0x12180000 0x8000>;
0292                                 interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
0293                                 interrupt-names = "cmd_irq";
0294                                 clocks = <&gcc SDC3_CLK>, <&gcc SDC3_H_CLK>;
0295                                 clock-names = "mclk", "apb_pclk";
0296                                 bus-width = <4>;
0297                                 cap-sd-highspeed;
0298                                 cap-mmc-highspeed;
0299                                 max-frequency = <192000000>;
0300                                 no-1-8-v;
0301                                 vmmc-supply = <&vsdcc_fixed>;
0302                         };
0303                 };
0304 
0305                 tcsr: syscon@1a400000 {
0306                         compatible = "qcom,tcsr-msm8960", "syscon";
0307                         reg = <0x1a400000 0x100>;
0308                 };
0309 
0310                 gsbi@16000000 {
0311                         compatible = "qcom,gsbi-v1.0.0";
0312                         cell-index = <1>;
0313                         reg = <0x16000000 0x100>;
0314                         clocks = <&gcc GSBI1_H_CLK>;
0315                         clock-names = "iface";
0316                         #address-cells = <1>;
0317                         #size-cells = <1>;
0318                         ranges;
0319 
0320                         spi@16080000 {
0321                                 compatible = "qcom,spi-qup-v1.1.1";
0322                                 #address-cells = <1>;
0323                                 #size-cells = <0>;
0324                                 reg = <0x16080000 0x1000>;
0325                                 interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
0326                                 spi-max-frequency = <24000000>;
0327                                 cs-gpios = <&msmgpio 8 0>;
0328 
0329                                 clocks = <&gcc GSBI1_QUP_CLK>, <&gcc GSBI1_H_CLK>;
0330                                 clock-names = "core", "iface";
0331                                 status = "disabled";
0332                         };
0333                 };
0334         };
0335 };