Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0
0002 #include <dt-bindings/clock/tegra186-clock.h>
0003 #include <dt-bindings/gpio/tegra186-gpio.h>
0004 #include <dt-bindings/interrupt-controller/arm-gic.h>
0005 #include <dt-bindings/mailbox/tegra186-hsp.h>
0006 #include <dt-bindings/memory/tegra186-mc.h>
0007 #include <dt-bindings/pinctrl/pinctrl-tegra-io-pad.h>
0008 #include <dt-bindings/power/tegra186-powergate.h>
0009 #include <dt-bindings/reset/tegra186-reset.h>
0010 #include <dt-bindings/thermal/tegra186-bpmp-thermal.h>
0011 
0012 / {
0013         compatible = "nvidia,tegra186";
0014         interrupt-parent = <&gic>;
0015         #address-cells = <2>;
0016         #size-cells = <2>;
0017 
0018         misc@100000 {
0019                 compatible = "nvidia,tegra186-misc";
0020                 reg = <0x0 0x00100000 0x0 0xf000>,
0021                       <0x0 0x0010f000 0x0 0x1000>;
0022         };
0023 
0024         gpio: gpio@2200000 {
0025                 compatible = "nvidia,tegra186-gpio";
0026                 reg-names = "security", "gpio";
0027                 reg = <0x0 0x2200000 0x0 0x10000>,
0028                       <0x0 0x2210000 0x0 0x10000>;
0029                 interrupts = <GIC_SPI  47 IRQ_TYPE_LEVEL_HIGH>,
0030                              <GIC_SPI  50 IRQ_TYPE_LEVEL_HIGH>,
0031                              <GIC_SPI  53 IRQ_TYPE_LEVEL_HIGH>,
0032                              <GIC_SPI  56 IRQ_TYPE_LEVEL_HIGH>,
0033                              <GIC_SPI  59 IRQ_TYPE_LEVEL_HIGH>,
0034                              <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>;
0035                 #interrupt-cells = <2>;
0036                 interrupt-controller;
0037                 #gpio-cells = <2>;
0038                 gpio-controller;
0039         };
0040 
0041         ethernet@2490000 {
0042                 compatible = "nvidia,tegra186-eqos",
0043                              "snps,dwc-qos-ethernet-4.10";
0044                 reg = <0x0 0x02490000 0x0 0x10000>;
0045                 interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>, /* common */
0046                              <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>, /* power */
0047                              <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>, /* rx0 */
0048                              <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>, /* tx0 */
0049                              <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>, /* rx1 */
0050                              <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>, /* tx1 */
0051                              <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>, /* rx2 */
0052                              <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>, /* tx2 */
0053                              <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>, /* rx3 */
0054                              <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>; /* tx3 */
0055                 clocks = <&bpmp TEGRA186_CLK_AXI_CBB>,
0056                          <&bpmp TEGRA186_CLK_EQOS_AXI>,
0057                          <&bpmp TEGRA186_CLK_EQOS_RX>,
0058                          <&bpmp TEGRA186_CLK_EQOS_TX>,
0059                          <&bpmp TEGRA186_CLK_EQOS_PTP_REF>;
0060                 clock-names = "master_bus", "slave_bus", "rx", "tx", "ptp_ref";
0061                 resets = <&bpmp TEGRA186_RESET_EQOS>;
0062                 reset-names = "eqos";
0063                 interconnects = <&mc TEGRA186_MEMORY_CLIENT_EQOSR &emc>,
0064                                 <&mc TEGRA186_MEMORY_CLIENT_EQOSW &emc>;
0065                 interconnect-names = "dma-mem", "write";
0066                 iommus = <&smmu TEGRA186_SID_EQOS>;
0067                 status = "disabled";
0068 
0069                 snps,write-requests = <1>;
0070                 snps,read-requests = <3>;
0071                 snps,burst-map = <0x7>;
0072                 snps,txpbl = <32>;
0073                 snps,rxpbl = <8>;
0074         };
0075 
0076         gpcdma: dma-controller@2600000 {
0077                 compatible = "nvidia,tegra186-gpcdma";
0078                 reg = <0x0 0x2600000 0x0 0x210000>;
0079                 resets = <&bpmp TEGRA186_RESET_GPCDMA>;
0080                 reset-names = "gpcdma";
0081                 interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
0082                              <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>,
0083                              <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>,
0084                              <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>,
0085                              <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>,
0086                              <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>,
0087                              <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>,
0088                              <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>,
0089                              <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>,
0090                              <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>,
0091                              <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>,
0092                              <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
0093                              <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
0094                              <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
0095                              <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>,
0096                              <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,
0097                              <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>,
0098                              <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>,
0099                              <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>,
0100                              <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
0101                              <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
0102                              <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
0103                              <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
0104                              <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
0105                              <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
0106                              <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
0107                              <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
0108                              <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
0109                              <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
0110                              <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
0111                              <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
0112                 #dma-cells = <1>;
0113                 iommus = <&smmu TEGRA186_SID_GPCDMA_0>;
0114                 dma-coherent;
0115                 status = "okay";
0116         };
0117 
0118         aconnect@2900000 {
0119                 compatible = "nvidia,tegra186-aconnect",
0120                              "nvidia,tegra210-aconnect";
0121                 clocks = <&bpmp TEGRA186_CLK_APE>,
0122                          <&bpmp TEGRA186_CLK_APB2APE>;
0123                 clock-names = "ape", "apb2ape";
0124                 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_AUD>;
0125                 #address-cells = <1>;
0126                 #size-cells = <1>;
0127                 ranges = <0x02900000 0x0 0x02900000 0x200000>;
0128                 status = "disabled";
0129 
0130                 adma: dma-controller@2930000 {
0131                         compatible = "nvidia,tegra186-adma";
0132                         reg = <0x02930000 0x20000>;
0133                         interrupt-parent = <&agic>;
0134                         interrupts =  <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
0135                                       <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
0136                                       <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
0137                                       <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
0138                                       <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
0139                                       <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
0140                                       <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
0141                                       <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
0142                                       <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
0143                                       <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
0144                                       <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
0145                                       <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
0146                                       <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
0147                                       <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
0148                                       <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
0149                                       <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
0150                                       <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
0151                                       <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
0152                                       <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
0153                                       <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
0154                                       <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>,
0155                                       <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,
0156                                       <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
0157                                       <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>,
0158                                       <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
0159                                       <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>,
0160                                       <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>,
0161                                       <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>,
0162                                       <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>,
0163                                       <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>,
0164                                       <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>,
0165                                       <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
0166                         #dma-cells = <1>;
0167                         clocks = <&bpmp TEGRA186_CLK_AHUB>;
0168                         clock-names = "d_audio";
0169                         status = "disabled";
0170                 };
0171 
0172                 agic: interrupt-controller@2a40000 {
0173                         compatible = "nvidia,tegra186-agic",
0174                                      "nvidia,tegra210-agic";
0175                         #interrupt-cells = <3>;
0176                         interrupt-controller;
0177                         reg = <0x02a41000 0x1000>,
0178                               <0x02a42000 0x2000>;
0179                         interrupts = <GIC_SPI 145
0180                                 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
0181                         clocks = <&bpmp TEGRA186_CLK_APE>;
0182                         clock-names = "clk";
0183                         status = "disabled";
0184                 };
0185 
0186                 tegra_ahub: ahub@2900800 {
0187                         compatible = "nvidia,tegra186-ahub";
0188                         reg = <0x02900800 0x800>;
0189                         clocks = <&bpmp TEGRA186_CLK_AHUB>;
0190                         clock-names = "ahub";
0191                         assigned-clocks = <&bpmp TEGRA186_CLK_AHUB>;
0192                         assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
0193                         #address-cells = <1>;
0194                         #size-cells = <1>;
0195                         ranges = <0x02900800 0x02900800 0x11800>;
0196                         status = "disabled";
0197 
0198                         tegra_admaif: admaif@290f000 {
0199                                 compatible = "nvidia,tegra186-admaif";
0200                                 reg = <0x0290f000 0x1000>;
0201                                 dmas = <&adma 1>, <&adma 1>,
0202                                        <&adma 2>, <&adma 2>,
0203                                        <&adma 3>, <&adma 3>,
0204                                        <&adma 4>, <&adma 4>,
0205                                        <&adma 5>, <&adma 5>,
0206                                        <&adma 6>, <&adma 6>,
0207                                        <&adma 7>, <&adma 7>,
0208                                        <&adma 8>, <&adma 8>,
0209                                        <&adma 9>, <&adma 9>,
0210                                        <&adma 10>, <&adma 10>,
0211                                        <&adma 11>, <&adma 11>,
0212                                        <&adma 12>, <&adma 12>,
0213                                        <&adma 13>, <&adma 13>,
0214                                        <&adma 14>, <&adma 14>,
0215                                        <&adma 15>, <&adma 15>,
0216                                        <&adma 16>, <&adma 16>,
0217                                        <&adma 17>, <&adma 17>,
0218                                        <&adma 18>, <&adma 18>,
0219                                        <&adma 19>, <&adma 19>,
0220                                        <&adma 20>, <&adma 20>;
0221                                 dma-names = "rx1", "tx1",
0222                                             "rx2", "tx2",
0223                                             "rx3", "tx3",
0224                                             "rx4", "tx4",
0225                                             "rx5", "tx5",
0226                                             "rx6", "tx6",
0227                                             "rx7", "tx7",
0228                                             "rx8", "tx8",
0229                                             "rx9", "tx9",
0230                                             "rx10", "tx10",
0231                                             "rx11", "tx11",
0232                                             "rx12", "tx12",
0233                                             "rx13", "tx13",
0234                                             "rx14", "tx14",
0235                                             "rx15", "tx15",
0236                                             "rx16", "tx16",
0237                                             "rx17", "tx17",
0238                                             "rx18", "tx18",
0239                                             "rx19", "tx19",
0240                                             "rx20", "tx20";
0241                                 status = "disabled";
0242                         };
0243 
0244                         tegra_i2s1: i2s@2901000 {
0245                                 compatible = "nvidia,tegra186-i2s",
0246                                              "nvidia,tegra210-i2s";
0247                                 reg = <0x2901000 0x100>;
0248                                 clocks = <&bpmp TEGRA186_CLK_I2S1>,
0249                                          <&bpmp TEGRA186_CLK_I2S1_SYNC_INPUT>;
0250                                 clock-names = "i2s", "sync_input";
0251                                 assigned-clocks = <&bpmp TEGRA186_CLK_I2S1>;
0252                                 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
0253                                 assigned-clock-rates = <1536000>;
0254                                 sound-name-prefix = "I2S1";
0255                                 status = "disabled";
0256                         };
0257 
0258                         tegra_i2s2: i2s@2901100 {
0259                                 compatible = "nvidia,tegra186-i2s",
0260                                              "nvidia,tegra210-i2s";
0261                                 reg = <0x2901100 0x100>;
0262                                 clocks = <&bpmp TEGRA186_CLK_I2S2>,
0263                                          <&bpmp TEGRA186_CLK_I2S2_SYNC_INPUT>;
0264                                 clock-names = "i2s", "sync_input";
0265                                 assigned-clocks = <&bpmp TEGRA186_CLK_I2S2>;
0266                                 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
0267                                 assigned-clock-rates = <1536000>;
0268                                 sound-name-prefix = "I2S2";
0269                                 status = "disabled";
0270                         };
0271 
0272                         tegra_i2s3: i2s@2901200 {
0273                                 compatible = "nvidia,tegra186-i2s",
0274                                              "nvidia,tegra210-i2s";
0275                                 reg = <0x2901200 0x100>;
0276                                 clocks = <&bpmp TEGRA186_CLK_I2S3>,
0277                                          <&bpmp TEGRA186_CLK_I2S3_SYNC_INPUT>;
0278                                 clock-names = "i2s", "sync_input";
0279                                 assigned-clocks = <&bpmp TEGRA186_CLK_I2S3>;
0280                                 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
0281                                 assigned-clock-rates = <1536000>;
0282                                 sound-name-prefix = "I2S3";
0283                                 status = "disabled";
0284                         };
0285 
0286                         tegra_i2s4: i2s@2901300 {
0287                                 compatible = "nvidia,tegra186-i2s",
0288                                              "nvidia,tegra210-i2s";
0289                                 reg = <0x2901300 0x100>;
0290                                 clocks = <&bpmp TEGRA186_CLK_I2S4>,
0291                                          <&bpmp TEGRA186_CLK_I2S4_SYNC_INPUT>;
0292                                 clock-names = "i2s", "sync_input";
0293                                 assigned-clocks = <&bpmp TEGRA186_CLK_I2S4>;
0294                                 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
0295                                 assigned-clock-rates = <1536000>;
0296                                 sound-name-prefix = "I2S4";
0297                                 status = "disabled";
0298                         };
0299 
0300                         tegra_i2s5: i2s@2901400 {
0301                                 compatible = "nvidia,tegra186-i2s",
0302                                              "nvidia,tegra210-i2s";
0303                                 reg = <0x2901400 0x100>;
0304                                 clocks = <&bpmp TEGRA186_CLK_I2S5>,
0305                                          <&bpmp TEGRA186_CLK_I2S5_SYNC_INPUT>;
0306                                 clock-names = "i2s", "sync_input";
0307                                 assigned-clocks = <&bpmp TEGRA186_CLK_I2S5>;
0308                                 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
0309                                 assigned-clock-rates = <1536000>;
0310                                 sound-name-prefix = "I2S5";
0311                                 status = "disabled";
0312                         };
0313 
0314                         tegra_i2s6: i2s@2901500 {
0315                                 compatible = "nvidia,tegra186-i2s",
0316                                              "nvidia,tegra210-i2s";
0317                                 reg = <0x2901500 0x100>;
0318                                 clocks = <&bpmp TEGRA186_CLK_I2S6>,
0319                                          <&bpmp TEGRA186_CLK_I2S6_SYNC_INPUT>;
0320                                 clock-names = "i2s", "sync_input";
0321                                 assigned-clocks = <&bpmp TEGRA186_CLK_I2S6>;
0322                                 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
0323                                 assigned-clock-rates = <1536000>;
0324                                 sound-name-prefix = "I2S6";
0325                                 status = "disabled";
0326                         };
0327 
0328                         tegra_dmic1: dmic@2904000 {
0329                                 compatible = "nvidia,tegra210-dmic";
0330                                 reg = <0x2904000 0x100>;
0331                                 clocks = <&bpmp TEGRA186_CLK_DMIC1>;
0332                                 clock-names = "dmic";
0333                                 assigned-clocks = <&bpmp TEGRA186_CLK_DMIC1>;
0334                                 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
0335                                 assigned-clock-rates = <3072000>;
0336                                 sound-name-prefix = "DMIC1";
0337                                 status = "disabled";
0338                         };
0339 
0340                         tegra_dmic2: dmic@2904100 {
0341                                 compatible = "nvidia,tegra210-dmic";
0342                                 reg = <0x2904100 0x100>;
0343                                 clocks = <&bpmp TEGRA186_CLK_DMIC2>;
0344                                 clock-names = "dmic";
0345                                 assigned-clocks = <&bpmp TEGRA186_CLK_DMIC2>;
0346                                 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
0347                                 assigned-clock-rates = <3072000>;
0348                                 sound-name-prefix = "DMIC2";
0349                                 status = "disabled";
0350                         };
0351 
0352                         tegra_dmic3: dmic@2904200 {
0353                                 compatible = "nvidia,tegra210-dmic";
0354                                 reg = <0x2904200 0x100>;
0355                                 clocks = <&bpmp TEGRA186_CLK_DMIC3>;
0356                                 clock-names = "dmic";
0357                                 assigned-clocks = <&bpmp TEGRA186_CLK_DMIC3>;
0358                                 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
0359                                 assigned-clock-rates = <3072000>;
0360                                 sound-name-prefix = "DMIC3";
0361                                 status = "disabled";
0362                         };
0363 
0364                         tegra_dmic4: dmic@2904300 {
0365                                 compatible = "nvidia,tegra210-dmic";
0366                                 reg = <0x2904300 0x100>;
0367                                 clocks = <&bpmp TEGRA186_CLK_DMIC4>;
0368                                 clock-names = "dmic";
0369                                 assigned-clocks = <&bpmp TEGRA186_CLK_DMIC4>;
0370                                 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
0371                                 assigned-clock-rates = <3072000>;
0372                                 sound-name-prefix = "DMIC4";
0373                                 status = "disabled";
0374                         };
0375 
0376                         tegra_dspk1: dspk@2905000 {
0377                                 compatible = "nvidia,tegra186-dspk";
0378                                 reg = <0x2905000 0x100>;
0379                                 clocks = <&bpmp TEGRA186_CLK_DSPK1>;
0380                                 clock-names = "dspk";
0381                                 assigned-clocks = <&bpmp TEGRA186_CLK_DSPK1>;
0382                                 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
0383                                 assigned-clock-rates = <12288000>;
0384                                 sound-name-prefix = "DSPK1";
0385                                 status = "disabled";
0386                         };
0387 
0388                         tegra_dspk2: dspk@2905100 {
0389                                 compatible = "nvidia,tegra186-dspk";
0390                                 reg = <0x2905100 0x100>;
0391                                 clocks = <&bpmp TEGRA186_CLK_DSPK2>;
0392                                 clock-names = "dspk";
0393                                 assigned-clocks = <&bpmp TEGRA186_CLK_DSPK2>;
0394                                 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
0395                                 assigned-clock-rates = <12288000>;
0396                                 sound-name-prefix = "DSPK2";
0397                                 status = "disabled";
0398                         };
0399 
0400                         tegra_sfc1: sfc@2902000 {
0401                                 compatible = "nvidia,tegra186-sfc",
0402                                              "nvidia,tegra210-sfc";
0403                                 reg = <0x2902000 0x200>;
0404                                 sound-name-prefix = "SFC1";
0405                                 status = "disabled";
0406                         };
0407 
0408                         tegra_sfc2: sfc@2902200 {
0409                                 compatible = "nvidia,tegra186-sfc",
0410                                              "nvidia,tegra210-sfc";
0411                                 reg = <0x2902200 0x200>;
0412                                 sound-name-prefix = "SFC2";
0413                                 status = "disabled";
0414                         };
0415 
0416                         tegra_sfc3: sfc@2902400 {
0417                                 compatible = "nvidia,tegra186-sfc",
0418                                              "nvidia,tegra210-sfc";
0419                                 reg = <0x2902400 0x200>;
0420                                 sound-name-prefix = "SFC3";
0421                                 status = "disabled";
0422                         };
0423 
0424                         tegra_sfc4: sfc@2902600 {
0425                                 compatible = "nvidia,tegra186-sfc",
0426                                              "nvidia,tegra210-sfc";
0427                                 reg = <0x2902600 0x200>;
0428                                 sound-name-prefix = "SFC4";
0429                                 status = "disabled";
0430                         };
0431 
0432                         tegra_mvc1: mvc@290a000 {
0433                                 compatible = "nvidia,tegra186-mvc",
0434                                              "nvidia,tegra210-mvc";
0435                                 reg = <0x290a000 0x200>;
0436                                 sound-name-prefix = "MVC1";
0437                                 status = "disabled";
0438                         };
0439 
0440                         tegra_mvc2: mvc@290a200 {
0441                                 compatible = "nvidia,tegra186-mvc",
0442                                              "nvidia,tegra210-mvc";
0443                                 reg = <0x290a200 0x200>;
0444                                 sound-name-prefix = "MVC2";
0445                                 status = "disabled";
0446                         };
0447 
0448                         tegra_amx1: amx@2903000 {
0449                                 compatible = "nvidia,tegra186-amx",
0450                                              "nvidia,tegra210-amx";
0451                                 reg = <0x2903000 0x100>;
0452                                 sound-name-prefix = "AMX1";
0453                                 status = "disabled";
0454                         };
0455 
0456                         tegra_amx2: amx@2903100 {
0457                                 compatible = "nvidia,tegra186-amx",
0458                                              "nvidia,tegra210-amx";
0459                                 reg = <0x2903100 0x100>;
0460                                 sound-name-prefix = "AMX2";
0461                                 status = "disabled";
0462                         };
0463 
0464                         tegra_amx3: amx@2903200 {
0465                                 compatible = "nvidia,tegra186-amx",
0466                                              "nvidia,tegra210-amx";
0467                                 reg = <0x2903200 0x100>;
0468                                 sound-name-prefix = "AMX3";
0469                                 status = "disabled";
0470                         };
0471 
0472                         tegra_amx4: amx@2903300 {
0473                                 compatible = "nvidia,tegra186-amx",
0474                                              "nvidia,tegra210-amx";
0475                                 reg = <0x2903300 0x100>;
0476                                 sound-name-prefix = "AMX4";
0477                                 status = "disabled";
0478                         };
0479 
0480                         tegra_adx1: adx@2903800 {
0481                                 compatible = "nvidia,tegra186-adx",
0482                                              "nvidia,tegra210-adx";
0483                                 reg = <0x2903800 0x100>;
0484                                 sound-name-prefix = "ADX1";
0485                                 status = "disabled";
0486                         };
0487 
0488                         tegra_adx2: adx@2903900 {
0489                                 compatible = "nvidia,tegra186-adx",
0490                                              "nvidia,tegra210-adx";
0491                                 reg = <0x2903900 0x100>;
0492                                 sound-name-prefix = "ADX2";
0493                                 status = "disabled";
0494                         };
0495 
0496                         tegra_adx3: adx@2903a00 {
0497                                 compatible = "nvidia,tegra186-adx",
0498                                              "nvidia,tegra210-adx";
0499                                 reg = <0x2903a00 0x100>;
0500                                 sound-name-prefix = "ADX3";
0501                                 status = "disabled";
0502                         };
0503 
0504                         tegra_adx4: adx@2903b00 {
0505                                 compatible = "nvidia,tegra186-adx",
0506                                              "nvidia,tegra210-adx";
0507                                 reg = <0x2903b00 0x100>;
0508                                 sound-name-prefix = "ADX4";
0509                                 status = "disabled";
0510                         };
0511 
0512                         tegra_ope1: processing-engine@2908000 {
0513                                 compatible = "nvidia,tegra186-ope",
0514                                              "nvidia,tegra210-ope";
0515                                 reg = <0x2908000 0x100>;
0516                                 #address-cells = <1>;
0517                                 #size-cells = <1>;
0518                                 ranges;
0519                                 sound-name-prefix = "OPE1";
0520                                 status = "disabled";
0521 
0522                                 equalizer@2908100 {
0523                                         compatible = "nvidia,tegra186-peq",
0524                                                      "nvidia,tegra210-peq";
0525                                         reg = <0x2908100 0x100>;
0526                                 };
0527 
0528                                 dynamic-range-compressor@2908200 {
0529                                         compatible = "nvidia,tegra186-mbdrc",
0530                                                      "nvidia,tegra210-mbdrc";
0531                                         reg = <0x2908200 0x200>;
0532                                 };
0533                         };
0534 
0535                         tegra_amixer: amixer@290bb00 {
0536                                 compatible = "nvidia,tegra186-amixer",
0537                                              "nvidia,tegra210-amixer";
0538                                 reg = <0x290bb00 0x800>;
0539                                 sound-name-prefix = "MIXER1";
0540                                 status = "disabled";
0541                         };
0542 
0543                         tegra_asrc: asrc@2910000 {
0544                                 compatible = "nvidia,tegra186-asrc";
0545                                 reg = <0x2910000 0x2000>;
0546                                 sound-name-prefix = "ASRC1";
0547                                 status = "disabled";
0548                         };
0549                 };
0550         };
0551 
0552         mc: memory-controller@2c00000 {
0553                 compatible = "nvidia,tegra186-mc";
0554                 reg = <0x0 0x02c00000 0x0 0x10000>,    /* MC-SID */
0555                       <0x0 0x02c10000 0x0 0x10000>,    /* Broadcast channel */
0556                       <0x0 0x02c20000 0x0 0x10000>,    /* MC0 */
0557                       <0x0 0x02c30000 0x0 0x10000>,    /* MC1 */
0558                       <0x0 0x02c40000 0x0 0x10000>,    /* MC2 */
0559                       <0x0 0x02c50000 0x0 0x10000>;    /* MC3 */
0560                 reg-names = "sid", "broadcast", "ch0", "ch1", "ch2", "ch3";
0561                 interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>;
0562                 status = "disabled";
0563 
0564                 #interconnect-cells = <1>;
0565                 #address-cells = <2>;
0566                 #size-cells = <2>;
0567 
0568                 ranges = <0x0 0x02c00000 0x0 0x02c00000 0x0 0xb0000>;
0569 
0570                 /*
0571                  * Memory clients have access to all 40 bits that the memory
0572                  * controller can address.
0573                  */
0574                 dma-ranges = <0x0 0x0 0x0 0x0 0x100 0x0>;
0575 
0576                 emc: external-memory-controller@2c60000 {
0577                         compatible = "nvidia,tegra186-emc";
0578                         reg = <0x0 0x02c60000 0x0 0x50000>;
0579                         interrupts = <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>;
0580                         clocks = <&bpmp TEGRA186_CLK_EMC>;
0581                         clock-names = "emc";
0582 
0583                         #interconnect-cells = <0>;
0584 
0585                         nvidia,bpmp = <&bpmp>;
0586                 };
0587         };
0588 
0589         timer@3010000 {
0590                 compatible = "nvidia,tegra186-timer";
0591                 reg = <0x0 0x03010000 0x0 0x000e0000>;
0592                 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
0593                              <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
0594                              <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
0595                              <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
0596                              <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
0597                              <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
0598                              <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
0599                              <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
0600                              <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
0601                              <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
0602                 status = "okay";
0603         };
0604 
0605         uarta: serial@3100000 {
0606                 compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart";
0607                 reg = <0x0 0x03100000 0x0 0x40>;
0608                 reg-shift = <2>;
0609                 interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
0610                 clocks = <&bpmp TEGRA186_CLK_UARTA>;
0611                 clock-names = "serial";
0612                 resets = <&bpmp TEGRA186_RESET_UARTA>;
0613                 reset-names = "serial";
0614                 status = "disabled";
0615         };
0616 
0617         uartb: serial@3110000 {
0618                 compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart";
0619                 reg = <0x0 0x03110000 0x0 0x40>;
0620                 reg-shift = <2>;
0621                 interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
0622                 clocks = <&bpmp TEGRA186_CLK_UARTB>;
0623                 clock-names = "serial";
0624                 resets = <&bpmp TEGRA186_RESET_UARTB>;
0625                 reset-names = "serial";
0626                 status = "disabled";
0627         };
0628 
0629         uartd: serial@3130000 {
0630                 compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart";
0631                 reg = <0x0 0x03130000 0x0 0x40>;
0632                 reg-shift = <2>;
0633                 interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
0634                 clocks = <&bpmp TEGRA186_CLK_UARTD>;
0635                 clock-names = "serial";
0636                 resets = <&bpmp TEGRA186_RESET_UARTD>;
0637                 reset-names = "serial";
0638                 status = "disabled";
0639         };
0640 
0641         uarte: serial@3140000 {
0642                 compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart";
0643                 reg = <0x0 0x03140000 0x0 0x40>;
0644                 reg-shift = <2>;
0645                 interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
0646                 clocks = <&bpmp TEGRA186_CLK_UARTE>;
0647                 clock-names = "serial";
0648                 resets = <&bpmp TEGRA186_RESET_UARTE>;
0649                 reset-names = "serial";
0650                 status = "disabled";
0651         };
0652 
0653         uartf: serial@3150000 {
0654                 compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart";
0655                 reg = <0x0 0x03150000 0x0 0x40>;
0656                 reg-shift = <2>;
0657                 interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
0658                 clocks = <&bpmp TEGRA186_CLK_UARTF>;
0659                 clock-names = "serial";
0660                 resets = <&bpmp TEGRA186_RESET_UARTF>;
0661                 reset-names = "serial";
0662                 status = "disabled";
0663         };
0664 
0665         gen1_i2c: i2c@3160000 {
0666                 compatible = "nvidia,tegra186-i2c";
0667                 reg = <0x0 0x03160000 0x0 0x10000>;
0668                 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
0669                 #address-cells = <1>;
0670                 #size-cells = <0>;
0671                 clocks = <&bpmp TEGRA186_CLK_I2C1>;
0672                 clock-names = "div-clk";
0673                 resets = <&bpmp TEGRA186_RESET_I2C1>;
0674                 reset-names = "i2c";
0675                 status = "disabled";
0676         };
0677 
0678         cam_i2c: i2c@3180000 {
0679                 compatible = "nvidia,tegra186-i2c";
0680                 reg = <0x0 0x03180000 0x0 0x10000>;
0681                 interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
0682                 #address-cells = <1>;
0683                 #size-cells = <0>;
0684                 clocks = <&bpmp TEGRA186_CLK_I2C3>;
0685                 clock-names = "div-clk";
0686                 resets = <&bpmp TEGRA186_RESET_I2C3>;
0687                 reset-names = "i2c";
0688                 status = "disabled";
0689         };
0690 
0691         /* shares pads with dpaux1 */
0692         dp_aux_ch1_i2c: i2c@3190000 {
0693                 compatible = "nvidia,tegra186-i2c";
0694                 reg = <0x0 0x03190000 0x0 0x10000>;
0695                 interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
0696                 #address-cells = <1>;
0697                 #size-cells = <0>;
0698                 clocks = <&bpmp TEGRA186_CLK_I2C4>;
0699                 clock-names = "div-clk";
0700                 resets = <&bpmp TEGRA186_RESET_I2C4>;
0701                 reset-names = "i2c";
0702                 pinctrl-names = "default", "idle";
0703                 pinctrl-0 = <&state_dpaux1_i2c>;
0704                 pinctrl-1 = <&state_dpaux1_off>;
0705                 status = "disabled";
0706         };
0707 
0708         /* controlled by BPMP, should not be enabled */
0709         pwr_i2c: i2c@31a0000 {
0710                 compatible = "nvidia,tegra186-i2c";
0711                 reg = <0x0 0x031a0000 0x0 0x10000>;
0712                 interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
0713                 #address-cells = <1>;
0714                 #size-cells = <0>;
0715                 clocks = <&bpmp TEGRA186_CLK_I2C5>;
0716                 clock-names = "div-clk";
0717                 resets = <&bpmp TEGRA186_RESET_I2C5>;
0718                 reset-names = "i2c";
0719                 status = "disabled";
0720         };
0721 
0722         /* shares pads with dpaux0 */
0723         dp_aux_ch0_i2c: i2c@31b0000 {
0724                 compatible = "nvidia,tegra186-i2c";
0725                 reg = <0x0 0x031b0000 0x0 0x10000>;
0726                 interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
0727                 #address-cells = <1>;
0728                 #size-cells = <0>;
0729                 clocks = <&bpmp TEGRA186_CLK_I2C6>;
0730                 clock-names = "div-clk";
0731                 resets = <&bpmp TEGRA186_RESET_I2C6>;
0732                 reset-names = "i2c";
0733                 pinctrl-names = "default", "idle";
0734                 pinctrl-0 = <&state_dpaux_i2c>;
0735                 pinctrl-1 = <&state_dpaux_off>;
0736                 status = "disabled";
0737         };
0738 
0739         gen7_i2c: i2c@31c0000 {
0740                 compatible = "nvidia,tegra186-i2c";
0741                 reg = <0x0 0x031c0000 0x0 0x10000>;
0742                 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
0743                 #address-cells = <1>;
0744                 #size-cells = <0>;
0745                 clocks = <&bpmp TEGRA186_CLK_I2C7>;
0746                 clock-names = "div-clk";
0747                 resets = <&bpmp TEGRA186_RESET_I2C7>;
0748                 reset-names = "i2c";
0749                 status = "disabled";
0750         };
0751 
0752         gen9_i2c: i2c@31e0000 {
0753                 compatible = "nvidia,tegra186-i2c";
0754                 reg = <0x0 0x031e0000 0x0 0x10000>;
0755                 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
0756                 #address-cells = <1>;
0757                 #size-cells = <0>;
0758                 clocks = <&bpmp TEGRA186_CLK_I2C9>;
0759                 clock-names = "div-clk";
0760                 resets = <&bpmp TEGRA186_RESET_I2C9>;
0761                 reset-names = "i2c";
0762                 status = "disabled";
0763         };
0764 
0765         pwm1: pwm@3280000 {
0766                 compatible = "nvidia,tegra186-pwm";
0767                 reg = <0x0 0x3280000 0x0 0x10000>;
0768                 clocks = <&bpmp TEGRA186_CLK_PWM1>;
0769                 clock-names = "pwm";
0770                 resets = <&bpmp TEGRA186_RESET_PWM1>;
0771                 reset-names = "pwm";
0772                 status = "disabled";
0773                 #pwm-cells = <2>;
0774         };
0775 
0776         pwm2: pwm@3290000 {
0777                 compatible = "nvidia,tegra186-pwm";
0778                 reg = <0x0 0x3290000 0x0 0x10000>;
0779                 clocks = <&bpmp TEGRA186_CLK_PWM2>;
0780                 clock-names = "pwm";
0781                 resets = <&bpmp TEGRA186_RESET_PWM2>;
0782                 reset-names = "pwm";
0783                 status = "disabled";
0784                 #pwm-cells = <2>;
0785         };
0786 
0787         pwm3: pwm@32a0000 {
0788                 compatible = "nvidia,tegra186-pwm";
0789                 reg = <0x0 0x32a0000 0x0 0x10000>;
0790                 clocks = <&bpmp TEGRA186_CLK_PWM3>;
0791                 clock-names = "pwm";
0792                 resets = <&bpmp TEGRA186_RESET_PWM3>;
0793                 reset-names = "pwm";
0794                 status = "disabled";
0795                 #pwm-cells = <2>;
0796         };
0797 
0798         pwm5: pwm@32c0000 {
0799                 compatible = "nvidia,tegra186-pwm";
0800                 reg = <0x0 0x32c0000 0x0 0x10000>;
0801                 clocks = <&bpmp TEGRA186_CLK_PWM5>;
0802                 clock-names = "pwm";
0803                 resets = <&bpmp TEGRA186_RESET_PWM5>;
0804                 reset-names = "pwm";
0805                 status = "disabled";
0806                 #pwm-cells = <2>;
0807         };
0808 
0809         pwm6: pwm@32d0000 {
0810                 compatible = "nvidia,tegra186-pwm";
0811                 reg = <0x0 0x32d0000 0x0 0x10000>;
0812                 clocks = <&bpmp TEGRA186_CLK_PWM6>;
0813                 clock-names = "pwm";
0814                 resets = <&bpmp TEGRA186_RESET_PWM6>;
0815                 reset-names = "pwm";
0816                 status = "disabled";
0817                 #pwm-cells = <2>;
0818         };
0819 
0820         pwm7: pwm@32e0000 {
0821                 compatible = "nvidia,tegra186-pwm";
0822                 reg = <0x0 0x32e0000 0x0 0x10000>;
0823                 clocks = <&bpmp TEGRA186_CLK_PWM7>;
0824                 clock-names = "pwm";
0825                 resets = <&bpmp TEGRA186_RESET_PWM7>;
0826                 reset-names = "pwm";
0827                 status = "disabled";
0828                 #pwm-cells = <2>;
0829         };
0830 
0831         pwm8: pwm@32f0000 {
0832                 compatible = "nvidia,tegra186-pwm";
0833                 reg = <0x0 0x32f0000 0x0 0x10000>;
0834                 clocks = <&bpmp TEGRA186_CLK_PWM8>;
0835                 clock-names = "pwm";
0836                 resets = <&bpmp TEGRA186_RESET_PWM8>;
0837                 reset-names = "pwm";
0838                 status = "disabled";
0839                 #pwm-cells = <2>;
0840         };
0841 
0842         sdmmc1: mmc@3400000 {
0843                 compatible = "nvidia,tegra186-sdhci";
0844                 reg = <0x0 0x03400000 0x0 0x10000>;
0845                 interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
0846                 clocks = <&bpmp TEGRA186_CLK_SDMMC1>,
0847                          <&bpmp TEGRA186_CLK_SDMMC_LEGACY_TM>;
0848                 clock-names = "sdhci", "tmclk";
0849                 resets = <&bpmp TEGRA186_RESET_SDMMC1>;
0850                 reset-names = "sdhci";
0851                 interconnects = <&mc TEGRA186_MEMORY_CLIENT_SDMMCRA &emc>,
0852                                 <&mc TEGRA186_MEMORY_CLIENT_SDMMCWA &emc>;
0853                 interconnect-names = "dma-mem", "write";
0854                 iommus = <&smmu TEGRA186_SID_SDMMC1>;
0855                 pinctrl-names = "sdmmc-3v3", "sdmmc-1v8";
0856                 pinctrl-0 = <&sdmmc1_3v3>;
0857                 pinctrl-1 = <&sdmmc1_1v8>;
0858                 nvidia,pad-autocal-pull-up-offset-3v3-timeout = <0x07>;
0859                 nvidia,pad-autocal-pull-down-offset-3v3-timeout = <0x06>;
0860                 nvidia,pad-autocal-pull-up-offset-1v8-timeout = <0x07>;
0861                 nvidia,pad-autocal-pull-down-offset-1v8-timeout = <0x07>;
0862                 nvidia,pad-autocal-pull-up-offset-sdr104 = <0x03>;
0863                 nvidia,pad-autocal-pull-down-offset-sdr104 = <0x05>;
0864                 nvidia,default-tap = <0x5>;
0865                 nvidia,default-trim = <0xb>;
0866                 assigned-clocks = <&bpmp TEGRA186_CLK_SDMMC1>,
0867                                   <&bpmp TEGRA186_CLK_PLLP_OUT0>;
0868                 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLLP_OUT0>;
0869                 status = "disabled";
0870         };
0871 
0872         sdmmc2: mmc@3420000 {
0873                 compatible = "nvidia,tegra186-sdhci";
0874                 reg = <0x0 0x03420000 0x0 0x10000>;
0875                 interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
0876                 clocks = <&bpmp TEGRA186_CLK_SDMMC2>,
0877                          <&bpmp TEGRA186_CLK_SDMMC_LEGACY_TM>;
0878                 clock-names = "sdhci", "tmclk";
0879                 resets = <&bpmp TEGRA186_RESET_SDMMC2>;
0880                 reset-names = "sdhci";
0881                 interconnects = <&mc TEGRA186_MEMORY_CLIENT_SDMMCRAA &emc>,
0882                                 <&mc TEGRA186_MEMORY_CLIENT_SDMMCWAA &emc>;
0883                 interconnect-names = "dma-mem", "write";
0884                 iommus = <&smmu TEGRA186_SID_SDMMC2>;
0885                 pinctrl-names = "sdmmc-3v3", "sdmmc-1v8";
0886                 pinctrl-0 = <&sdmmc2_3v3>;
0887                 pinctrl-1 = <&sdmmc2_1v8>;
0888                 nvidia,pad-autocal-pull-up-offset-3v3-timeout = <0x07>;
0889                 nvidia,pad-autocal-pull-down-offset-3v3-timeout = <0x06>;
0890                 nvidia,pad-autocal-pull-up-offset-1v8-timeout = <0x07>;
0891                 nvidia,pad-autocal-pull-down-offset-1v8-timeout = <0x07>;
0892                 nvidia,default-tap = <0x5>;
0893                 nvidia,default-trim = <0xb>;
0894                 status = "disabled";
0895         };
0896 
0897         sdmmc3: mmc@3440000 {
0898                 compatible = "nvidia,tegra186-sdhci";
0899                 reg = <0x0 0x03440000 0x0 0x10000>;
0900                 interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
0901                 clocks = <&bpmp TEGRA186_CLK_SDMMC3>,
0902                          <&bpmp TEGRA186_CLK_SDMMC_LEGACY_TM>;
0903                 clock-names = "sdhci", "tmclk";
0904                 resets = <&bpmp TEGRA186_RESET_SDMMC3>;
0905                 reset-names = "sdhci";
0906                 interconnects = <&mc TEGRA186_MEMORY_CLIENT_SDMMCR &emc>,
0907                                 <&mc TEGRA186_MEMORY_CLIENT_SDMMCW &emc>;
0908                 interconnect-names = "dma-mem", "write";
0909                 iommus = <&smmu TEGRA186_SID_SDMMC3>;
0910                 pinctrl-names = "sdmmc-3v3", "sdmmc-1v8";
0911                 pinctrl-0 = <&sdmmc3_3v3>;
0912                 pinctrl-1 = <&sdmmc3_1v8>;
0913                 nvidia,pad-autocal-pull-up-offset-1v8 = <0x00>;
0914                 nvidia,pad-autocal-pull-down-offset-1v8 = <0x7a>;
0915                 nvidia,pad-autocal-pull-up-offset-3v3-timeout = <0x07>;
0916                 nvidia,pad-autocal-pull-down-offset-3v3-timeout = <0x06>;
0917                 nvidia,pad-autocal-pull-up-offset-1v8-timeout = <0x07>;
0918                 nvidia,pad-autocal-pull-down-offset-1v8-timeout = <0x07>;
0919                 nvidia,default-tap = <0x5>;
0920                 nvidia,default-trim = <0xb>;
0921                 status = "disabled";
0922         };
0923 
0924         sdmmc4: mmc@3460000 {
0925                 compatible = "nvidia,tegra186-sdhci";
0926                 reg = <0x0 0x03460000 0x0 0x10000>;
0927                 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
0928                 clocks = <&bpmp TEGRA186_CLK_SDMMC4>,
0929                          <&bpmp TEGRA186_CLK_SDMMC_LEGACY_TM>;
0930                 clock-names = "sdhci", "tmclk";
0931                 assigned-clocks = <&bpmp TEGRA186_CLK_SDMMC4>,
0932                                   <&bpmp TEGRA186_CLK_PLLC4_VCO>;
0933                 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLLC4_VCO>;
0934                 resets = <&bpmp TEGRA186_RESET_SDMMC4>;
0935                 reset-names = "sdhci";
0936                 interconnects = <&mc TEGRA186_MEMORY_CLIENT_SDMMCRAB &emc>,
0937                                 <&mc TEGRA186_MEMORY_CLIENT_SDMMCWAB &emc>;
0938                 interconnect-names = "dma-mem", "write";
0939                 iommus = <&smmu TEGRA186_SID_SDMMC4>;
0940                 nvidia,pad-autocal-pull-up-offset-hs400 = <0x05>;
0941                 nvidia,pad-autocal-pull-down-offset-hs400 = <0x05>;
0942                 nvidia,pad-autocal-pull-up-offset-1v8-timeout = <0x0a>;
0943                 nvidia,pad-autocal-pull-down-offset-1v8-timeout = <0x0a>;
0944                 nvidia,pad-autocal-pull-up-offset-3v3-timeout = <0x0a>;
0945                 nvidia,pad-autocal-pull-down-offset-3v3-timeout = <0x0a>;
0946                 nvidia,default-tap = <0x9>;
0947                 nvidia,default-trim = <0x5>;
0948                 nvidia,dqs-trim = <63>;
0949                 mmc-hs400-1_8v;
0950                 supports-cqe;
0951                 status = "disabled";
0952         };
0953 
0954         hda@3510000 {
0955                 compatible = "nvidia,tegra186-hda", "nvidia,tegra30-hda";
0956                 reg = <0x0 0x03510000 0x0 0x10000>;
0957                 interrupts = <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>;
0958                 clocks = <&bpmp TEGRA186_CLK_HDA>,
0959                          <&bpmp TEGRA186_CLK_HDA2HDMICODEC>,
0960                          <&bpmp TEGRA186_CLK_HDA2CODEC_2X>;
0961                 clock-names = "hda", "hda2hdmi", "hda2codec_2x";
0962                 resets = <&bpmp TEGRA186_RESET_HDA>,
0963                          <&bpmp TEGRA186_RESET_HDA2HDMICODEC>,
0964                          <&bpmp TEGRA186_RESET_HDA2CODEC_2X>;
0965                 reset-names = "hda", "hda2hdmi", "hda2codec_2x";
0966                 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
0967                 interconnects = <&mc TEGRA186_MEMORY_CLIENT_HDAR &emc>,
0968                                 <&mc TEGRA186_MEMORY_CLIENT_HDAW &emc>;
0969                 interconnect-names = "dma-mem", "write";
0970                 iommus = <&smmu TEGRA186_SID_HDA>;
0971                 status = "disabled";
0972         };
0973 
0974         padctl: padctl@3520000 {
0975                 compatible = "nvidia,tegra186-xusb-padctl";
0976                 reg = <0x0 0x03520000 0x0 0x1000>,
0977                       <0x0 0x03540000 0x0 0x1000>;
0978                 reg-names = "padctl", "ao";
0979                 interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>;
0980 
0981                 resets = <&bpmp TEGRA186_RESET_XUSB_PADCTL>;
0982                 reset-names = "padctl";
0983 
0984                 status = "disabled";
0985 
0986                 pads {
0987                         usb2 {
0988                                 clocks = <&bpmp TEGRA186_CLK_USB2_TRK>;
0989                                 clock-names = "trk";
0990                                 status = "disabled";
0991 
0992                                 lanes {
0993                                         usb2-0 {
0994                                                 status = "disabled";
0995                                                 #phy-cells = <0>;
0996                                         };
0997 
0998                                         usb2-1 {
0999                                                 status = "disabled";
1000                                                 #phy-cells = <0>;
1001                                         };
1002 
1003                                         usb2-2 {
1004                                                 status = "disabled";
1005                                                 #phy-cells = <0>;
1006                                         };
1007                                 };
1008                         };
1009 
1010                         hsic {
1011                                 clocks = <&bpmp TEGRA186_CLK_HSIC_TRK>;
1012                                 clock-names = "trk";
1013                                 status = "disabled";
1014 
1015                                 lanes {
1016                                         hsic-0 {
1017                                                 status = "disabled";
1018                                                 #phy-cells = <0>;
1019                                         };
1020                                 };
1021                         };
1022 
1023                         usb3 {
1024                                 status = "disabled";
1025 
1026                                 lanes {
1027                                         usb3-0 {
1028                                                 status = "disabled";
1029                                                 #phy-cells = <0>;
1030                                         };
1031 
1032                                         usb3-1 {
1033                                                 status = "disabled";
1034                                                 #phy-cells = <0>;
1035                                         };
1036 
1037                                         usb3-2 {
1038                                                 status = "disabled";
1039                                                 #phy-cells = <0>;
1040                                         };
1041                                 };
1042                         };
1043                 };
1044 
1045                 ports {
1046                         usb2-0 {
1047                                 status = "disabled";
1048                         };
1049 
1050                         usb2-1 {
1051                                 status = "disabled";
1052                         };
1053 
1054                         usb2-2 {
1055                                 status = "disabled";
1056                         };
1057 
1058                         hsic-0 {
1059                                 status = "disabled";
1060                         };
1061 
1062                         usb3-0 {
1063                                 status = "disabled";
1064                         };
1065 
1066                         usb3-1 {
1067                                 status = "disabled";
1068                         };
1069 
1070                         usb3-2 {
1071                                 status = "disabled";
1072                         };
1073                 };
1074         };
1075 
1076         usb@3530000 {
1077                 compatible = "nvidia,tegra186-xusb";
1078                 reg = <0x0 0x03530000 0x0 0x8000>,
1079                       <0x0 0x03538000 0x0 0x1000>;
1080                 reg-names = "hcd", "fpci";
1081                 interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>,
1082                              <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
1083                 clocks = <&bpmp TEGRA186_CLK_XUSB_HOST>,
1084                          <&bpmp TEGRA186_CLK_XUSB_FALCON>,
1085                          <&bpmp TEGRA186_CLK_XUSB_SS>,
1086                          <&bpmp TEGRA186_CLK_XUSB_CORE_SS>,
1087                          <&bpmp TEGRA186_CLK_CLK_M>,
1088                          <&bpmp TEGRA186_CLK_XUSB_FS>,
1089                          <&bpmp TEGRA186_CLK_PLLU>,
1090                          <&bpmp TEGRA186_CLK_CLK_M>,
1091                          <&bpmp TEGRA186_CLK_PLLE>;
1092                 clock-names = "xusb_host", "xusb_falcon_src", "xusb_ss",
1093                               "xusb_ss_src", "xusb_hs_src", "xusb_fs_src",
1094                               "pll_u_480m", "clk_m", "pll_e";
1095                 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_XUSBC>,
1096                                 <&bpmp TEGRA186_POWER_DOMAIN_XUSBA>;
1097                 power-domain-names = "xusb_host", "xusb_ss";
1098                 interconnects = <&mc TEGRA186_MEMORY_CLIENT_XUSB_HOSTR &emc>,
1099                                 <&mc TEGRA186_MEMORY_CLIENT_XUSB_HOSTW &emc>;
1100                 interconnect-names = "dma-mem", "write";
1101                 iommus = <&smmu TEGRA186_SID_XUSB_HOST>;
1102                 #address-cells = <1>;
1103                 #size-cells = <0>;
1104                 status = "disabled";
1105 
1106                 nvidia,xusb-padctl = <&padctl>;
1107         };
1108 
1109         usb@3550000 {
1110                 compatible = "nvidia,tegra186-xudc";
1111                 reg = <0x0 0x03550000 0x0 0x8000>,
1112                       <0x0 0x03558000 0x0 0x1000>;
1113                 reg-names = "base", "fpci";
1114                 interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>;
1115                 clocks = <&bpmp TEGRA186_CLK_XUSB_CORE_DEV>,
1116                          <&bpmp TEGRA186_CLK_XUSB_SS>,
1117                          <&bpmp TEGRA186_CLK_XUSB_CORE_SS>,
1118                          <&bpmp TEGRA186_CLK_XUSB_FS>;
1119                 clock-names = "dev", "ss", "ss_src", "fs_src";
1120                 interconnects = <&mc TEGRA186_MEMORY_CLIENT_XUSB_DEVR &emc>,
1121                                 <&mc TEGRA186_MEMORY_CLIENT_XUSB_DEVW &emc>;
1122                 interconnect-names = "dma-mem", "write";
1123                 iommus = <&smmu TEGRA186_SID_XUSB_DEV>;
1124                 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_XUSBB>,
1125                                 <&bpmp TEGRA186_POWER_DOMAIN_XUSBA>;
1126                 power-domain-names = "dev", "ss";
1127                 nvidia,xusb-padctl = <&padctl>;
1128                 status = "disabled";
1129         };
1130 
1131         fuse@3820000 {
1132                 compatible = "nvidia,tegra186-efuse";
1133                 reg = <0x0 0x03820000 0x0 0x10000>;
1134                 clocks = <&bpmp TEGRA186_CLK_FUSE>;
1135                 clock-names = "fuse";
1136         };
1137 
1138         gic: interrupt-controller@3881000 {
1139                 compatible = "arm,gic-400";
1140                 #interrupt-cells = <3>;
1141                 interrupt-controller;
1142                 reg = <0x0 0x03881000 0x0 0x1000>,
1143                       <0x0 0x03882000 0x0 0x2000>,
1144                       <0x0 0x03884000 0x0 0x2000>,
1145                       <0x0 0x03886000 0x0 0x2000>;
1146                 interrupts = <GIC_PPI 9
1147                         (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
1148                 interrupt-parent = <&gic>;
1149         };
1150 
1151         cec@3960000 {
1152                 compatible = "nvidia,tegra186-cec";
1153                 reg = <0x0 0x03960000 0x0 0x10000>;
1154                 interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
1155                 clocks = <&bpmp TEGRA186_CLK_CEC>;
1156                 clock-names = "cec";
1157                 status = "disabled";
1158         };
1159 
1160         hsp_top0: hsp@3c00000 {
1161                 compatible = "nvidia,tegra186-hsp";
1162                 reg = <0x0 0x03c00000 0x0 0xa0000>;
1163                 interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>;
1164                 interrupt-names = "doorbell";
1165                 #mbox-cells = <2>;
1166                 status = "disabled";
1167         };
1168 
1169         gen2_i2c: i2c@c240000 {
1170                 compatible = "nvidia,tegra186-i2c";
1171                 reg = <0x0 0x0c240000 0x0 0x10000>;
1172                 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
1173                 #address-cells = <1>;
1174                 #size-cells = <0>;
1175                 clocks = <&bpmp TEGRA186_CLK_I2C2>;
1176                 clock-names = "div-clk";
1177                 resets = <&bpmp TEGRA186_RESET_I2C2>;
1178                 reset-names = "i2c";
1179                 status = "disabled";
1180         };
1181 
1182         gen8_i2c: i2c@c250000 {
1183                 compatible = "nvidia,tegra186-i2c";
1184                 reg = <0x0 0x0c250000 0x0 0x10000>;
1185                 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
1186                 #address-cells = <1>;
1187                 #size-cells = <0>;
1188                 clocks = <&bpmp TEGRA186_CLK_I2C8>;
1189                 clock-names = "div-clk";
1190                 resets = <&bpmp TEGRA186_RESET_I2C8>;
1191                 reset-names = "i2c";
1192                 status = "disabled";
1193         };
1194 
1195         uartc: serial@c280000 {
1196                 compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart";
1197                 reg = <0x0 0x0c280000 0x0 0x40>;
1198                 reg-shift = <2>;
1199                 interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
1200                 clocks = <&bpmp TEGRA186_CLK_UARTC>;
1201                 clock-names = "serial";
1202                 resets = <&bpmp TEGRA186_RESET_UARTC>;
1203                 reset-names = "serial";
1204                 status = "disabled";
1205         };
1206 
1207         uartg: serial@c290000 {
1208                 compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart";
1209                 reg = <0x0 0x0c290000 0x0 0x40>;
1210                 reg-shift = <2>;
1211                 interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
1212                 clocks = <&bpmp TEGRA186_CLK_UARTG>;
1213                 clock-names = "serial";
1214                 resets = <&bpmp TEGRA186_RESET_UARTG>;
1215                 reset-names = "serial";
1216                 status = "disabled";
1217         };
1218 
1219         rtc: rtc@c2a0000 {
1220                 compatible = "nvidia,tegra186-rtc", "nvidia,tegra20-rtc";
1221                 reg = <0 0x0c2a0000 0 0x10000>;
1222                 interrupt-parent = <&pmc>;
1223                 interrupts = <73 IRQ_TYPE_LEVEL_HIGH>;
1224                 clocks = <&bpmp TEGRA186_CLK_CLK_32K>;
1225                 clock-names = "rtc";
1226                 status = "disabled";
1227         };
1228 
1229         gpio_aon: gpio@c2f0000 {
1230                 compatible = "nvidia,tegra186-gpio-aon";
1231                 reg-names = "security", "gpio";
1232                 reg = <0x0 0xc2f0000 0x0 0x1000>,
1233                       <0x0 0xc2f1000 0x0 0x1000>;
1234                 interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
1235                 gpio-controller;
1236                 #gpio-cells = <2>;
1237                 interrupt-controller;
1238                 #interrupt-cells = <2>;
1239         };
1240 
1241         pwm4: pwm@c340000 {
1242                 compatible = "nvidia,tegra186-pwm";
1243                 reg = <0x0 0xc340000 0x0 0x10000>;
1244                 clocks = <&bpmp TEGRA186_CLK_PWM4>;
1245                 clock-names = "pwm";
1246                 resets = <&bpmp TEGRA186_RESET_PWM4>;
1247                 reset-names = "pwm";
1248                 status = "disabled";
1249                 #pwm-cells = <2>;
1250         };
1251 
1252         pmc: pmc@c360000 {
1253                 compatible = "nvidia,tegra186-pmc";
1254                 reg = <0 0x0c360000 0 0x10000>,
1255                       <0 0x0c370000 0 0x10000>,
1256                       <0 0x0c380000 0 0x10000>,
1257                       <0 0x0c390000 0 0x10000>;
1258                 reg-names = "pmc", "wake", "aotag", "scratch";
1259 
1260                 #interrupt-cells = <2>;
1261                 interrupt-controller;
1262 
1263                 sdmmc1_3v3: sdmmc1-3v3 {
1264                         pins = "sdmmc1-hv";
1265                         power-source = <TEGRA_IO_PAD_VOLTAGE_3V3>;
1266                 };
1267 
1268                 sdmmc1_1v8: sdmmc1-1v8 {
1269                         pins = "sdmmc1-hv";
1270                         power-source = <TEGRA_IO_PAD_VOLTAGE_1V8>;
1271                 };
1272 
1273                 sdmmc2_3v3: sdmmc2-3v3 {
1274                         pins = "sdmmc2-hv";
1275                         power-source = <TEGRA_IO_PAD_VOLTAGE_3V3>;
1276                 };
1277 
1278                 sdmmc2_1v8: sdmmc2-1v8 {
1279                         pins = "sdmmc2-hv";
1280                         power-source = <TEGRA_IO_PAD_VOLTAGE_1V8>;
1281                 };
1282 
1283                 sdmmc3_3v3: sdmmc3-3v3 {
1284                         pins = "sdmmc3-hv";
1285                         power-source = <TEGRA_IO_PAD_VOLTAGE_3V3>;
1286                 };
1287 
1288                 sdmmc3_1v8: sdmmc3-1v8 {
1289                         pins = "sdmmc3-hv";
1290                         power-source = <TEGRA_IO_PAD_VOLTAGE_1V8>;
1291                 };
1292         };
1293 
1294         ccplex@e000000 {
1295                 compatible = "nvidia,tegra186-ccplex-cluster";
1296                 reg = <0x0 0x0e000000 0x0 0x400000>;
1297 
1298                 nvidia,bpmp = <&bpmp>;
1299         };
1300 
1301         pcie@10003000 {
1302                 compatible = "nvidia,tegra186-pcie";
1303                 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_PCX>;
1304                 device_type = "pci";
1305                 reg = <0x0 0x10003000 0x0 0x00000800>, /* PADS registers */
1306                       <0x0 0x10003800 0x0 0x00000800>, /* AFI registers */
1307                       <0x0 0x40000000 0x0 0x10000000>; /* configuration space */
1308                 reg-names = "pads", "afi", "cs";
1309 
1310                 interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */
1311                              <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */
1312                 interrupt-names = "intr", "msi";
1313 
1314                 #interrupt-cells = <1>;
1315                 interrupt-map-mask = <0 0 0 0>;
1316                 interrupt-map = <0 0 0 0 &gic GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
1317 
1318                 bus-range = <0x00 0xff>;
1319                 #address-cells = <3>;
1320                 #size-cells = <2>;
1321 
1322                 ranges = <0x02000000 0 0x10000000 0x0 0x10000000 0 0x00001000>, /* port 0 configuration space */
1323                          <0x02000000 0 0x10001000 0x0 0x10001000 0 0x00001000>,/* port 1 configuration space */
1324                          <0x02000000 0 0x10004000 0x0 0x10004000 0 0x00001000>, /* port 2 configuration space */
1325                          <0x01000000 0 0x0        0x0 0x50000000 0 0x00010000>, /* downstream I/O (64 KiB) */
1326                          <0x02000000 0 0x50100000 0x0 0x50100000 0 0x07f00000>, /* non-prefetchable memory (127 MiB) */
1327                          <0x42000000 0 0x58000000 0x0 0x58000000 0 0x28000000>; /* prefetchable memory (640 MiB) */
1328 
1329                 clocks = <&bpmp TEGRA186_CLK_PCIE>,
1330                          <&bpmp TEGRA186_CLK_AFI>,
1331                          <&bpmp TEGRA186_CLK_PLLE>;
1332                 clock-names = "pex", "afi", "pll_e";
1333 
1334                 resets = <&bpmp TEGRA186_RESET_PCIE>,
1335                          <&bpmp TEGRA186_RESET_AFI>,
1336                          <&bpmp TEGRA186_RESET_PCIEXCLK>;
1337                 reset-names = "pex", "afi", "pcie_x";
1338 
1339                 interconnects = <&mc TEGRA186_MEMORY_CLIENT_AFIR &emc>,
1340                                 <&mc TEGRA186_MEMORY_CLIENT_AFIW &emc>;
1341                 interconnect-names = "dma-mem", "write";
1342 
1343                 iommus = <&smmu TEGRA186_SID_AFI>;
1344                 iommu-map = <0x0 &smmu TEGRA186_SID_AFI 0x1000>;
1345                 iommu-map-mask = <0x0>;
1346 
1347                 status = "disabled";
1348 
1349                 pci@1,0 {
1350                         device_type = "pci";
1351                         assigned-addresses = <0x82000800 0 0x10000000 0 0x1000>;
1352                         reg = <0x000800 0 0 0 0>;
1353                         status = "disabled";
1354 
1355                         #address-cells = <3>;
1356                         #size-cells = <2>;
1357                         ranges;
1358 
1359                         nvidia,num-lanes = <2>;
1360                 };
1361 
1362                 pci@2,0 {
1363                         device_type = "pci";
1364                         assigned-addresses = <0x82001000 0 0x10001000 0 0x1000>;
1365                         reg = <0x001000 0 0 0 0>;
1366                         status = "disabled";
1367 
1368                         #address-cells = <3>;
1369                         #size-cells = <2>;
1370                         ranges;
1371 
1372                         nvidia,num-lanes = <1>;
1373                 };
1374 
1375                 pci@3,0 {
1376                         device_type = "pci";
1377                         assigned-addresses = <0x82001800 0 0x10004000 0 0x1000>;
1378                         reg = <0x001800 0 0 0 0>;
1379                         status = "disabled";
1380 
1381                         #address-cells = <3>;
1382                         #size-cells = <2>;
1383                         ranges;
1384 
1385                         nvidia,num-lanes = <1>;
1386                 };
1387         };
1388 
1389         smmu: iommu@12000000 {
1390                 compatible = "nvidia,tegra186-smmu", "nvidia,smmu-500";
1391                 reg = <0 0x12000000 0 0x800000>;
1392                 interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1393                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1394                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1395                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1396                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1397                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1398                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1399                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1400                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1401                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1402                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1403                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1404                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1405                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1406                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1407                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1408                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1409                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1410                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1411                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1412                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1413                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1414                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1415                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1416                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1417                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1418                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1419                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1420                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1421                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1422                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1423                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1424                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1425                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1426                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1427                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1428                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1429                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1430                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1431                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1432                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1433                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1434                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1435                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1436                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1437                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1438                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1439                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1440                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1441                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1442                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1443                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1444                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1445                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1446                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1447                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1448                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1449                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1450                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1451                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1452                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1453                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1454                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1455                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1456                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
1457                 stream-match-mask = <0x7f80>;
1458                 #global-interrupts = <1>;
1459                 #iommu-cells = <1>;
1460 
1461                 nvidia,memory-controller = <&mc>;
1462         };
1463 
1464         host1x@13e00000 {
1465                 compatible = "nvidia,tegra186-host1x";
1466                 reg = <0x0 0x13e00000 0x0 0x10000>,
1467                       <0x0 0x13e10000 0x0 0x10000>;
1468                 reg-names = "hypervisor", "vm";
1469                 interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>,
1470                              <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>;
1471                 interrupt-names = "syncpt", "host1x";
1472                 clocks = <&bpmp TEGRA186_CLK_HOST1X>;
1473                 clock-names = "host1x";
1474                 resets = <&bpmp TEGRA186_RESET_HOST1X>;
1475                 reset-names = "host1x";
1476 
1477                 #address-cells = <1>;
1478                 #size-cells = <1>;
1479 
1480                 ranges = <0x15000000 0x0 0x15000000 0x01000000>;
1481 
1482                 interconnects = <&mc TEGRA186_MEMORY_CLIENT_HOST1XDMAR &emc>;
1483                 interconnect-names = "dma-mem";
1484 
1485                 iommus = <&smmu TEGRA186_SID_HOST1X>;
1486 
1487                 /* Context isolation domains */
1488                 iommu-map = <
1489                         0 &smmu TEGRA186_SID_HOST1X_CTX0 1
1490                         1 &smmu TEGRA186_SID_HOST1X_CTX1 1
1491                         2 &smmu TEGRA186_SID_HOST1X_CTX2 1
1492                         3 &smmu TEGRA186_SID_HOST1X_CTX3 1
1493                         4 &smmu TEGRA186_SID_HOST1X_CTX4 1
1494                         5 &smmu TEGRA186_SID_HOST1X_CTX5 1
1495                         6 &smmu TEGRA186_SID_HOST1X_CTX6 1
1496                         7 &smmu TEGRA186_SID_HOST1X_CTX7 1>;
1497 
1498                 dpaux1: dpaux@15040000 {
1499                         compatible = "nvidia,tegra186-dpaux";
1500                         reg = <0x15040000 0x10000>;
1501                         interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>;
1502                         clocks = <&bpmp TEGRA186_CLK_DPAUX1>,
1503                                  <&bpmp TEGRA186_CLK_PLLDP>;
1504                         clock-names = "dpaux", "parent";
1505                         resets = <&bpmp TEGRA186_RESET_DPAUX1>;
1506                         reset-names = "dpaux";
1507                         status = "disabled";
1508 
1509                         power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
1510 
1511                         state_dpaux1_aux: pinmux-aux {
1512                                 groups = "dpaux-io";
1513                                 function = "aux";
1514                         };
1515 
1516                         state_dpaux1_i2c: pinmux-i2c {
1517                                 groups = "dpaux-io";
1518                                 function = "i2c";
1519                         };
1520 
1521                         state_dpaux1_off: pinmux-off {
1522                                 groups = "dpaux-io";
1523                                 function = "off";
1524                         };
1525 
1526                         i2c-bus {
1527                                 #address-cells = <1>;
1528                                 #size-cells = <0>;
1529                         };
1530                 };
1531 
1532                 display-hub@15200000 {
1533                         compatible = "nvidia,tegra186-display";
1534                         reg = <0x15200000 0x00040000>;
1535                         resets = <&bpmp TEGRA186_RESET_NVDISPLAY0_MISC>,
1536                                  <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP0>,
1537                                  <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP1>,
1538                                  <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP2>,
1539                                  <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP3>,
1540                                  <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP4>,
1541                                  <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP5>;
1542                         reset-names = "misc", "wgrp0", "wgrp1", "wgrp2",
1543                                       "wgrp3", "wgrp4", "wgrp5";
1544                         clocks = <&bpmp TEGRA186_CLK_NVDISPLAY_DISP>,
1545                                  <&bpmp TEGRA186_CLK_NVDISPLAY_DSC>,
1546                                  <&bpmp TEGRA186_CLK_NVDISPLAYHUB>;
1547                         clock-names = "disp", "dsc", "hub";
1548                         status = "disabled";
1549 
1550                         power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
1551 
1552                         #address-cells = <1>;
1553                         #size-cells = <1>;
1554 
1555                         ranges = <0x15200000 0x15200000 0x40000>;
1556 
1557                         display@15200000 {
1558                                 compatible = "nvidia,tegra186-dc";
1559                                 reg = <0x15200000 0x10000>;
1560                                 interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
1561                                 clocks = <&bpmp TEGRA186_CLK_NVDISPLAY_P0>;
1562                                 clock-names = "dc";
1563                                 resets = <&bpmp TEGRA186_RESET_NVDISPLAY0_HEAD0>;
1564                                 reset-names = "dc";
1565 
1566                                 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
1567                                 interconnects = <&mc TEGRA186_MEMORY_CLIENT_NVDISPLAYR &emc>,
1568                                                 <&mc TEGRA186_MEMORY_CLIENT_NVDISPLAYR1 &emc>;
1569                                 interconnect-names = "dma-mem", "read-1";
1570                                 iommus = <&smmu TEGRA186_SID_NVDISPLAY>;
1571 
1572                                 nvidia,outputs = <&dsia &dsib &sor0 &sor1>;
1573                                 nvidia,head = <0>;
1574                         };
1575 
1576                         display@15210000 {
1577                                 compatible = "nvidia,tegra186-dc";
1578                                 reg = <0x15210000 0x10000>;
1579                                 interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
1580                                 clocks = <&bpmp TEGRA186_CLK_NVDISPLAY_P1>;
1581                                 clock-names = "dc";
1582                                 resets = <&bpmp TEGRA186_RESET_NVDISPLAY0_HEAD1>;
1583                                 reset-names = "dc";
1584 
1585                                 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISPB>;
1586                                 interconnects = <&mc TEGRA186_MEMORY_CLIENT_NVDISPLAYR &emc>,
1587                                                 <&mc TEGRA186_MEMORY_CLIENT_NVDISPLAYR1 &emc>;
1588                                 interconnect-names = "dma-mem", "read-1";
1589                                 iommus = <&smmu TEGRA186_SID_NVDISPLAY>;
1590 
1591                                 nvidia,outputs = <&dsia &dsib &sor0 &sor1>;
1592                                 nvidia,head = <1>;
1593                         };
1594 
1595                         display@15220000 {
1596                                 compatible = "nvidia,tegra186-dc";
1597                                 reg = <0x15220000 0x10000>;
1598                                 interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
1599                                 clocks = <&bpmp TEGRA186_CLK_NVDISPLAY_P2>;
1600                                 clock-names = "dc";
1601                                 resets = <&bpmp TEGRA186_RESET_NVDISPLAY0_HEAD2>;
1602                                 reset-names = "dc";
1603 
1604                                 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISPC>;
1605                                 interconnects = <&mc TEGRA186_MEMORY_CLIENT_NVDISPLAYR &emc>,
1606                                                 <&mc TEGRA186_MEMORY_CLIENT_NVDISPLAYR1 &emc>;
1607                                 interconnect-names = "dma-mem", "read-1";
1608                                 iommus = <&smmu TEGRA186_SID_NVDISPLAY>;
1609 
1610                                 nvidia,outputs = <&sor0 &sor1>;
1611                                 nvidia,head = <2>;
1612                         };
1613                 };
1614 
1615                 dsia: dsi@15300000 {
1616                         compatible = "nvidia,tegra186-dsi";
1617                         reg = <0x15300000 0x10000>;
1618                         interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
1619                         clocks = <&bpmp TEGRA186_CLK_DSI>,
1620                                  <&bpmp TEGRA186_CLK_DSIA_LP>,
1621                                  <&bpmp TEGRA186_CLK_PLLD>;
1622                         clock-names = "dsi", "lp", "parent";
1623                         resets = <&bpmp TEGRA186_RESET_DSI>;
1624                         reset-names = "dsi";
1625                         status = "disabled";
1626 
1627                         power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
1628                 };
1629 
1630                 vic@15340000 {
1631                         compatible = "nvidia,tegra186-vic";
1632                         reg = <0x15340000 0x40000>;
1633                         interrupts = <GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH>;
1634                         clocks = <&bpmp TEGRA186_CLK_VIC>;
1635                         clock-names = "vic";
1636                         resets = <&bpmp TEGRA186_RESET_VIC>;
1637                         reset-names = "vic";
1638 
1639                         power-domains = <&bpmp TEGRA186_POWER_DOMAIN_VIC>;
1640                         interconnects = <&mc TEGRA186_MEMORY_CLIENT_VICSRD &emc>,
1641                                         <&mc TEGRA186_MEMORY_CLIENT_VICSWR &emc>;
1642                         interconnect-names = "dma-mem", "write";
1643                         iommus = <&smmu TEGRA186_SID_VIC>;
1644                 };
1645 
1646                 nvjpg@15380000 {
1647                         compatible = "nvidia,tegra186-nvjpg";
1648                         reg = <0x15380000 0x40000>;
1649                         clocks = <&bpmp TEGRA186_CLK_NVJPG>;
1650                         clock-names = "nvjpg";
1651                         resets = <&bpmp TEGRA186_RESET_NVJPG>;
1652                         reset-names = "nvjpg";
1653 
1654                         power-domains = <&bpmp TEGRA186_POWER_DOMAIN_NVJPG>;
1655                         interconnects = <&mc TEGRA186_MEMORY_CLIENT_NVJPGSRD &emc>,
1656                                         <&mc TEGRA186_MEMORY_CLIENT_NVJPGSWR &emc>;
1657                         interconnect-names = "dma-mem", "write";
1658                         iommus = <&smmu TEGRA186_SID_NVJPG>;
1659                 };
1660 
1661                 dsib: dsi@15400000 {
1662                         compatible = "nvidia,tegra186-dsi";
1663                         reg = <0x15400000 0x10000>;
1664                         interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
1665                         clocks = <&bpmp TEGRA186_CLK_DSIB>,
1666                                  <&bpmp TEGRA186_CLK_DSIB_LP>,
1667                                  <&bpmp TEGRA186_CLK_PLLD>;
1668                         clock-names = "dsi", "lp", "parent";
1669                         resets = <&bpmp TEGRA186_RESET_DSIB>;
1670                         reset-names = "dsi";
1671                         status = "disabled";
1672 
1673                         power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
1674                 };
1675 
1676                 nvdec@15480000 {
1677                         compatible = "nvidia,tegra186-nvdec";
1678                         reg = <0x15480000 0x40000>;
1679                         clocks = <&bpmp TEGRA186_CLK_NVDEC>;
1680                         clock-names = "nvdec";
1681                         resets = <&bpmp TEGRA186_RESET_NVDEC>;
1682                         reset-names = "nvdec";
1683 
1684                         power-domains = <&bpmp TEGRA186_POWER_DOMAIN_NVDEC>;
1685                         interconnects = <&mc TEGRA186_MEMORY_CLIENT_NVDECSRD &emc>,
1686                                         <&mc TEGRA186_MEMORY_CLIENT_NVDECSRD1 &emc>,
1687                                         <&mc TEGRA186_MEMORY_CLIENT_NVDECSWR &emc>;
1688                         interconnect-names = "dma-mem", "read-1", "write";
1689                         iommus = <&smmu TEGRA186_SID_NVDEC>;
1690                 };
1691 
1692                 nvenc@154c0000 {
1693                         compatible = "nvidia,tegra186-nvenc";
1694                         reg = <0x154c0000 0x40000>;
1695                         clocks = <&bpmp TEGRA186_CLK_NVENC>;
1696                         clock-names = "nvenc";
1697                         resets = <&bpmp TEGRA186_RESET_NVENC>;
1698                         reset-names = "nvenc";
1699 
1700                         power-domains = <&bpmp TEGRA186_POWER_DOMAIN_MPE>;
1701                         interconnects = <&mc TEGRA186_MEMORY_CLIENT_NVENCSRD &emc>,
1702                                         <&mc TEGRA186_MEMORY_CLIENT_NVENCSWR &emc>;
1703                         interconnect-names = "dma-mem", "write";
1704                         iommus = <&smmu TEGRA186_SID_NVENC>;
1705                 };
1706 
1707                 sor0: sor@15540000 {
1708                         compatible = "nvidia,tegra186-sor";
1709                         reg = <0x15540000 0x10000>;
1710                         interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>;
1711                         clocks = <&bpmp TEGRA186_CLK_SOR0>,
1712                                  <&bpmp TEGRA186_CLK_SOR0_OUT>,
1713                                  <&bpmp TEGRA186_CLK_PLLD2>,
1714                                  <&bpmp TEGRA186_CLK_PLLDP>,
1715                                  <&bpmp TEGRA186_CLK_SOR_SAFE>,
1716                                  <&bpmp TEGRA186_CLK_SOR0_PAD_CLKOUT>;
1717                         clock-names = "sor", "out", "parent", "dp", "safe",
1718                                       "pad";
1719                         resets = <&bpmp TEGRA186_RESET_SOR0>;
1720                         reset-names = "sor";
1721                         pinctrl-0 = <&state_dpaux_aux>;
1722                         pinctrl-1 = <&state_dpaux_i2c>;
1723                         pinctrl-2 = <&state_dpaux_off>;
1724                         pinctrl-names = "aux", "i2c", "off";
1725                         status = "disabled";
1726 
1727                         power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
1728                         nvidia,interface = <0>;
1729                 };
1730 
1731                 sor1: sor@15580000 {
1732                         compatible = "nvidia,tegra186-sor";
1733                         reg = <0x15580000 0x10000>;
1734                         interrupts = <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
1735                         clocks = <&bpmp TEGRA186_CLK_SOR1>,
1736                                  <&bpmp TEGRA186_CLK_SOR1_OUT>,
1737                                  <&bpmp TEGRA186_CLK_PLLD3>,
1738                                  <&bpmp TEGRA186_CLK_PLLDP>,
1739                                  <&bpmp TEGRA186_CLK_SOR_SAFE>,
1740                                  <&bpmp TEGRA186_CLK_SOR1_PAD_CLKOUT>;
1741                         clock-names = "sor", "out", "parent", "dp", "safe",
1742                                       "pad";
1743                         resets = <&bpmp TEGRA186_RESET_SOR1>;
1744                         reset-names = "sor";
1745                         pinctrl-0 = <&state_dpaux1_aux>;
1746                         pinctrl-1 = <&state_dpaux1_i2c>;
1747                         pinctrl-2 = <&state_dpaux1_off>;
1748                         pinctrl-names = "aux", "i2c", "off";
1749                         status = "disabled";
1750 
1751                         power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
1752                         nvidia,interface = <1>;
1753                 };
1754 
1755                 dpaux: dpaux@155c0000 {
1756                         compatible = "nvidia,tegra186-dpaux";
1757                         reg = <0x155c0000 0x10000>;
1758                         interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
1759                         clocks = <&bpmp TEGRA186_CLK_DPAUX>,
1760                                  <&bpmp TEGRA186_CLK_PLLDP>;
1761                         clock-names = "dpaux", "parent";
1762                         resets = <&bpmp TEGRA186_RESET_DPAUX>;
1763                         reset-names = "dpaux";
1764                         status = "disabled";
1765 
1766                         power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
1767 
1768                         state_dpaux_aux: pinmux-aux {
1769                                 groups = "dpaux-io";
1770                                 function = "aux";
1771                         };
1772 
1773                         state_dpaux_i2c: pinmux-i2c {
1774                                 groups = "dpaux-io";
1775                                 function = "i2c";
1776                         };
1777 
1778                         state_dpaux_off: pinmux-off {
1779                                 groups = "dpaux-io";
1780                                 function = "off";
1781                         };
1782 
1783                         i2c-bus {
1784                                 #address-cells = <1>;
1785                                 #size-cells = <0>;
1786                         };
1787                 };
1788 
1789                 padctl@15880000 {
1790                         compatible = "nvidia,tegra186-dsi-padctl";
1791                         reg = <0x15880000 0x10000>;
1792                         resets = <&bpmp TEGRA186_RESET_DSI>;
1793                         reset-names = "dsi";
1794                         status = "disabled";
1795                 };
1796 
1797                 dsic: dsi@15900000 {
1798                         compatible = "nvidia,tegra186-dsi";
1799                         reg = <0x15900000 0x10000>;
1800                         interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
1801                         clocks = <&bpmp TEGRA186_CLK_DSIC>,
1802                                  <&bpmp TEGRA186_CLK_DSIC_LP>,
1803                                  <&bpmp TEGRA186_CLK_PLLD>;
1804                         clock-names = "dsi", "lp", "parent";
1805                         resets = <&bpmp TEGRA186_RESET_DSIC>;
1806                         reset-names = "dsi";
1807                         status = "disabled";
1808 
1809                         power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
1810                 };
1811 
1812                 dsid: dsi@15940000 {
1813                         compatible = "nvidia,tegra186-dsi";
1814                         reg = <0x15940000 0x10000>;
1815                         interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
1816                         clocks = <&bpmp TEGRA186_CLK_DSID>,
1817                                  <&bpmp TEGRA186_CLK_DSID_LP>,
1818                                  <&bpmp TEGRA186_CLK_PLLD>;
1819                         clock-names = "dsi", "lp", "parent";
1820                         resets = <&bpmp TEGRA186_RESET_DSID>;
1821                         reset-names = "dsi";
1822                         status = "disabled";
1823 
1824                         power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
1825                 };
1826         };
1827 
1828         gpu@17000000 {
1829                 compatible = "nvidia,gp10b";
1830                 reg = <0x0 0x17000000 0x0 0x1000000>,
1831                       <0x0 0x18000000 0x0 0x1000000>;
1832                 interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
1833                              <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
1834                 interrupt-names = "stall", "nonstall";
1835 
1836                 clocks = <&bpmp TEGRA186_CLK_GPCCLK>,
1837                          <&bpmp TEGRA186_CLK_GPU>;
1838                 clock-names = "gpu", "pwr";
1839                 resets = <&bpmp TEGRA186_RESET_GPU>;
1840                 reset-names = "gpu";
1841                 status = "disabled";
1842 
1843                 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_GPU>;
1844                 interconnects = <&mc TEGRA186_MEMORY_CLIENT_GPUSRD &emc>,
1845                                 <&mc TEGRA186_MEMORY_CLIENT_GPUSWR &emc>,
1846                                 <&mc TEGRA186_MEMORY_CLIENT_GPUSRD2 &emc>,
1847                                 <&mc TEGRA186_MEMORY_CLIENT_GPUSWR2 &emc>;
1848                 interconnect-names = "dma-mem", "write-0", "read-1", "write-1";
1849         };
1850 
1851         sram@30000000 {
1852                 compatible = "nvidia,tegra186-sysram", "mmio-sram";
1853                 reg = <0x0 0x30000000 0x0 0x50000>;
1854                 #address-cells = <1>;
1855                 #size-cells = <1>;
1856                 ranges = <0x0 0x0 0x30000000 0x50000>;
1857                 no-memory-wc;
1858 
1859                 cpu_bpmp_tx: sram@4e000 {
1860                         reg = <0x4e000 0x1000>;
1861                         label = "cpu-bpmp-tx";
1862                         pool;
1863                 };
1864 
1865                 cpu_bpmp_rx: sram@4f000 {
1866                         reg = <0x4f000 0x1000>;
1867                         label = "cpu-bpmp-rx";
1868                         pool;
1869                 };
1870         };
1871 
1872         sata@3507000 {
1873                 compatible = "nvidia,tegra186-ahci";
1874                 reg = <0x0 0x03507000 0x0 0x00002000>, /* AHCI */
1875                       <0x0 0x03500000 0x0 0x00007000>, /* SATA */
1876                       <0x0 0x03A90000 0x0 0x00010000>; /* SATA AUX */
1877                 interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>;
1878 
1879                 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_SAX>;
1880                 interconnects = <&mc TEGRA186_MEMORY_CLIENT_SATAR &emc>,
1881                                 <&mc TEGRA186_MEMORY_CLIENT_SATAW &emc>;
1882                 interconnect-names = "dma-mem", "write";
1883                 iommus = <&smmu TEGRA186_SID_SATA>;
1884 
1885                 clocks = <&bpmp TEGRA186_CLK_SATA>,
1886                          <&bpmp TEGRA186_CLK_SATA_OOB>;
1887                 clock-names = "sata", "sata-oob";
1888                 assigned-clocks = <&bpmp TEGRA186_CLK_SATA>,
1889                                   <&bpmp TEGRA186_CLK_SATA_OOB>;
1890                 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLLP_OUT0>,
1891                                          <&bpmp TEGRA186_CLK_PLLP>;
1892                 assigned-clock-rates = <102000000>,
1893                                        <204000000>;
1894                 resets = <&bpmp TEGRA186_RESET_SATA>,
1895                         <&bpmp TEGRA186_RESET_SATACOLD>;
1896                 reset-names = "sata", "sata-cold";
1897                 status = "disabled";
1898         };
1899 
1900         bpmp: bpmp {
1901                 compatible = "nvidia,tegra186-bpmp";
1902                 interconnects = <&mc TEGRA186_MEMORY_CLIENT_BPMPR &emc>,
1903                                 <&mc TEGRA186_MEMORY_CLIENT_BPMPW &emc>,
1904                                 <&mc TEGRA186_MEMORY_CLIENT_BPMPDMAR &emc>,
1905                                 <&mc TEGRA186_MEMORY_CLIENT_BPMPDMAW &emc>;
1906                 interconnect-names = "read", "write", "dma-mem", "dma-write";
1907                 iommus = <&smmu TEGRA186_SID_BPMP>;
1908                 mboxes = <&hsp_top0 TEGRA_HSP_MBOX_TYPE_DB
1909                                     TEGRA_HSP_DB_MASTER_BPMP>;
1910                 shmem = <&cpu_bpmp_tx>, <&cpu_bpmp_rx>;
1911                 #clock-cells = <1>;
1912                 #reset-cells = <1>;
1913                 #power-domain-cells = <1>;
1914 
1915                 bpmp_i2c: i2c {
1916                         compatible = "nvidia,tegra186-bpmp-i2c";
1917                         nvidia,bpmp-bus-id = <5>;
1918                         #address-cells = <1>;
1919                         #size-cells = <0>;
1920                         status = "disabled";
1921                 };
1922 
1923                 bpmp_thermal: thermal {
1924                         compatible = "nvidia,tegra186-bpmp-thermal";
1925                         #thermal-sensor-cells = <1>;
1926                 };
1927         };
1928 
1929         cpus {
1930                 #address-cells = <1>;
1931                 #size-cells = <0>;
1932 
1933                 denver_0: cpu@0 {
1934                         compatible = "nvidia,tegra186-denver";
1935                         device_type = "cpu";
1936                         i-cache-size = <0x20000>;
1937                         i-cache-line-size = <64>;
1938                         i-cache-sets = <512>;
1939                         d-cache-size = <0x10000>;
1940                         d-cache-line-size = <64>;
1941                         d-cache-sets = <256>;
1942                         next-level-cache = <&L2_DENVER>;
1943                         reg = <0x000>;
1944                 };
1945 
1946                 denver_1: cpu@1 {
1947                         compatible = "nvidia,tegra186-denver";
1948                         device_type = "cpu";
1949                         i-cache-size = <0x20000>;
1950                         i-cache-line-size = <64>;
1951                         i-cache-sets = <512>;
1952                         d-cache-size = <0x10000>;
1953                         d-cache-line-size = <64>;
1954                         d-cache-sets = <256>;
1955                         next-level-cache = <&L2_DENVER>;
1956                         reg = <0x001>;
1957                 };
1958 
1959                 ca57_0: cpu@2 {
1960                         compatible = "arm,cortex-a57";
1961                         device_type = "cpu";
1962                         i-cache-size = <0xC000>;
1963                         i-cache-line-size = <64>;
1964                         i-cache-sets = <256>;
1965                         d-cache-size = <0x8000>;
1966                         d-cache-line-size = <64>;
1967                         d-cache-sets = <256>;
1968                         next-level-cache = <&L2_A57>;
1969                         reg = <0x100>;
1970                 };
1971 
1972                 ca57_1: cpu@3 {
1973                         compatible = "arm,cortex-a57";
1974                         device_type = "cpu";
1975                         i-cache-size = <0xC000>;
1976                         i-cache-line-size = <64>;
1977                         i-cache-sets = <256>;
1978                         d-cache-size = <0x8000>;
1979                         d-cache-line-size = <64>;
1980                         d-cache-sets = <256>;
1981                         next-level-cache = <&L2_A57>;
1982                         reg = <0x101>;
1983                 };
1984 
1985                 ca57_2: cpu@4 {
1986                         compatible = "arm,cortex-a57";
1987                         device_type = "cpu";
1988                         i-cache-size = <0xC000>;
1989                         i-cache-line-size = <64>;
1990                         i-cache-sets = <256>;
1991                         d-cache-size = <0x8000>;
1992                         d-cache-line-size = <64>;
1993                         d-cache-sets = <256>;
1994                         next-level-cache = <&L2_A57>;
1995                         reg = <0x102>;
1996                 };
1997 
1998                 ca57_3: cpu@5 {
1999                         compatible = "arm,cortex-a57";
2000                         device_type = "cpu";
2001                         i-cache-size = <0xC000>;
2002                         i-cache-line-size = <64>;
2003                         i-cache-sets = <256>;
2004                         d-cache-size = <0x8000>;
2005                         d-cache-line-size = <64>;
2006                         d-cache-sets = <256>;
2007                         next-level-cache = <&L2_A57>;
2008                         reg = <0x103>;
2009                 };
2010 
2011                 L2_DENVER: l2-cache0 {
2012                         compatible = "cache";
2013                         cache-unified;
2014                         cache-level = <2>;
2015                         cache-size = <0x200000>;
2016                         cache-line-size = <64>;
2017                         cache-sets = <2048>;
2018                 };
2019 
2020                 L2_A57: l2-cache1 {
2021                         compatible = "cache";
2022                         cache-unified;
2023                         cache-level = <2>;
2024                         cache-size = <0x200000>;
2025                         cache-line-size = <64>;
2026                         cache-sets = <2048>;
2027                 };
2028         };
2029 
2030         pmu_denver {
2031                 compatible = "nvidia,denver-pmu";
2032                 interrupts = <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH>,
2033                              <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>;
2034                 interrupt-affinity = <&denver_0 &denver_1>;
2035         };
2036 
2037         pmu_a57 {
2038                 compatible = "arm,cortex-a57-pmu";
2039                 interrupts = <GIC_SPI 296 IRQ_TYPE_LEVEL_HIGH>,
2040                              <GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>,
2041                              <GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH>,
2042                              <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>;
2043                 interrupt-affinity = <&ca57_0 &ca57_1 &ca57_2 &ca57_3>;
2044         };
2045 
2046         sound {
2047                 status = "disabled";
2048 
2049                 clocks = <&bpmp TEGRA186_CLK_PLLA>,
2050                          <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
2051                 clock-names = "pll_a", "plla_out0";
2052                 assigned-clocks = <&bpmp TEGRA186_CLK_PLLA>,
2053                                   <&bpmp TEGRA186_CLK_PLL_A_OUT0>,
2054                                   <&bpmp TEGRA186_CLK_AUD_MCLK>;
2055                 assigned-clock-parents = <0>,
2056                                          <&bpmp TEGRA186_CLK_PLLA>,
2057                                          <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
2058                 /*
2059                  * PLLA supports dynamic ramp. Below initial rate is chosen
2060                  * for this to work and oscillate between base rates required
2061                  * for 8x and 11.025x sample rate streams.
2062                  */
2063                 assigned-clock-rates = <258000000>;
2064 
2065                 iommus = <&smmu TEGRA186_SID_APE>;
2066         };
2067 
2068         thermal-zones {
2069                 /* Cortex-A57 cluster */
2070                 cpu-thermal {
2071                         polling-delay = <0>;
2072                         polling-delay-passive = <1000>;
2073 
2074                         thermal-sensors = <&bpmp_thermal TEGRA186_BPMP_THERMAL_ZONE_CPU>;
2075 
2076                         trips {
2077                                 critical {
2078                                         temperature = <101000>;
2079                                         hysteresis = <0>;
2080                                         type = "critical";
2081                                 };
2082                         };
2083 
2084                         cooling-maps {
2085                         };
2086                 };
2087 
2088                 /* Denver cluster */
2089                 aux-thermal {
2090                         polling-delay = <0>;
2091                         polling-delay-passive = <1000>;
2092 
2093                         thermal-sensors = <&bpmp_thermal TEGRA186_BPMP_THERMAL_ZONE_AUX>;
2094 
2095                         trips {
2096                                 critical {
2097                                         temperature = <101000>;
2098                                         hysteresis = <0>;
2099                                         type = "critical";
2100                                 };
2101                         };
2102 
2103                         cooling-maps {
2104                         };
2105                 };
2106 
2107                 gpu-thermal {
2108                         polling-delay = <0>;
2109                         polling-delay-passive = <1000>;
2110 
2111                         thermal-sensors = <&bpmp_thermal TEGRA186_BPMP_THERMAL_ZONE_GPU>;
2112 
2113                         trips {
2114                                 critical {
2115                                         temperature = <101000>;
2116                                         hysteresis = <0>;
2117                                         type = "critical";
2118                                 };
2119                         };
2120 
2121                         cooling-maps {
2122                         };
2123                 };
2124 
2125                 pll-thermal {
2126                         polling-delay = <0>;
2127                         polling-delay-passive = <1000>;
2128 
2129                         thermal-sensors = <&bpmp_thermal TEGRA186_BPMP_THERMAL_ZONE_PLLX>;
2130 
2131                         trips {
2132                                 critical {
2133                                         temperature = <101000>;
2134                                         hysteresis = <0>;
2135                                         type = "critical";
2136                                 };
2137                         };
2138 
2139                         cooling-maps {
2140                         };
2141                 };
2142 
2143                 ao-thermal {
2144                         polling-delay = <0>;
2145                         polling-delay-passive = <1000>;
2146 
2147                         thermal-sensors = <&bpmp_thermal TEGRA186_BPMP_THERMAL_ZONE_AO>;
2148 
2149                         trips {
2150                                 critical {
2151                                         temperature = <101000>;
2152                                         hysteresis = <0>;
2153                                         type = "critical";
2154                                 };
2155                         };
2156 
2157                         cooling-maps {
2158                         };
2159                 };
2160         };
2161 
2162         timer {
2163                 compatible = "arm,armv8-timer";
2164                 interrupts = <GIC_PPI 13
2165                                 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
2166                              <GIC_PPI 14
2167                                 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
2168                              <GIC_PPI 11
2169                                 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
2170                              <GIC_PPI 10
2171                                 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
2172                 interrupt-parent = <&gic>;
2173                 always-on;
2174         };
2175 };