Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
0002 /*
0003  * Google Veyron Mickey Rev 0 board device tree source
0004  *
0005  * Copyright 2015 Google, Inc
0006  */
0007 
0008 /dts-v1/;
0009 #include "rk3288-veyron.dtsi"
0010 #include "rk3288-veyron-broadcom-bluetooth.dtsi"
0011 
0012 / {
0013         model = "Google Mickey";
0014         compatible = "google,veyron-mickey-rev8", "google,veyron-mickey-rev7",
0015                      "google,veyron-mickey-rev6", "google,veyron-mickey-rev5",
0016                      "google,veyron-mickey-rev4", "google,veyron-mickey-rev3",
0017                      "google,veyron-mickey-rev2", "google,veyron-mickey-rev1",
0018                      "google,veyron-mickey-rev0", "google,veyron-mickey",
0019                      "google,veyron", "rockchip,rk3288";
0020 
0021         vcc_5v: vcc-5v {
0022                 vin-supply = <&vcc33_sys>;
0023         };
0024 
0025         vcc33_io: vcc33_io {
0026                 compatible = "regulator-fixed";
0027                 regulator-name = "vcc33_io";
0028                 regulator-always-on;
0029                 regulator-boot-on;
0030                 vin-supply = <&vcc33_sys>;
0031         };
0032 
0033         sound {
0034                 compatible = "rockchip,rockchip-audio-max98090";
0035                 rockchip,model = "VEYRON-HDMI";
0036                 rockchip,hdmi-codec = <&hdmi>;
0037                 rockchip,i2s-controller = <&i2s>;
0038         };
0039 };
0040 
0041 &cpu_thermal {
0042         /delete-node/ trips;
0043         /delete-node/ cooling-maps;
0044 
0045         trips {
0046                 cpu_alert_almost_warm: cpu_alert_almost_warm {
0047                         temperature = <63000>; /* millicelsius */
0048                         hysteresis = <2000>; /* millicelsius */
0049                         type = "passive";
0050                 };
0051                 cpu_alert_warm: cpu_alert_warm {
0052                         temperature = <65000>; /* millicelsius */
0053                         hysteresis = <2000>; /* millicelsius */
0054                         type = "passive";
0055                 };
0056                 cpu_alert_almost_hot: cpu_alert_almost_hot {
0057                         temperature = <80000>; /* millicelsius */
0058                         hysteresis = <2000>; /* millicelsius */
0059                         type = "passive";
0060                 };
0061                 cpu_alert_hot: cpu_alert_hot {
0062                         temperature = <82000>; /* millicelsius */
0063                         hysteresis = <2000>; /* millicelsius */
0064                         type = "passive";
0065                 };
0066                 cpu_alert_hotter: cpu_alert_hotter {
0067                         temperature = <84000>; /* millicelsius */
0068                         hysteresis = <2000>; /* millicelsius */
0069                         type = "passive";
0070                 };
0071                 cpu_alert_very_hot: cpu_alert_very_hot {
0072                         temperature = <85000>; /* millicelsius */
0073                         hysteresis = <2000>; /* millicelsius */
0074                         type = "passive";
0075                 };
0076                 cpu_crit: cpu_crit {
0077                         temperature = <90000>; /* millicelsius */
0078                         hysteresis = <2000>; /* millicelsius */
0079                         type = "critical";
0080                 };
0081         };
0082 
0083         cooling-maps {
0084                 /*
0085                  * After 1st level, throttle the CPU down to as low as 1.4 GHz
0086                  * and don't let the GPU go faster than 400 MHz.
0087                  */
0088                 cpu_warm_limit_cpu {
0089                         trip = <&cpu_alert_warm>;
0090                         cooling-device = <&cpu0 THERMAL_NO_LIMIT 4>,
0091                                          <&cpu1 THERMAL_NO_LIMIT 4>,
0092                                          <&cpu2 THERMAL_NO_LIMIT 4>,
0093                                          <&cpu3 THERMAL_NO_LIMIT 4>;
0094                 };
0095                 cpu_warm_limit_gpu {
0096                         trip = <&cpu_alert_warm>;
0097                         cooling-device = <&gpu 1 1>;
0098                 };
0099 
0100                 /*
0101                  * Add some discrete steps to help throttling system deal
0102                  * with the fact that there are two passive cooling devices:
0103                  * the CPU and the GPU.
0104                  *
0105                  * - 1.2 GHz - 1.0 GHz (almost hot)
0106                  * - 800 MHz           (hot)
0107                  * - 800 MHz - 696 MHz (hotter)
0108                  * - 696 MHz - min     (very hot)
0109                  *
0110                  * Note:
0111                  * - 800 MHz appears to be a "sweet spot" for me.  I can run
0112                  *   some pretty serious workload here and be happy.
0113                  * - After 696 MHz we stop lowering voltage, so throttling
0114                  *   past there is less effective.
0115                  */
0116                 cpu_almost_hot_limit_cpu {
0117                         trip = <&cpu_alert_almost_hot>;
0118                         cooling-device = <&cpu0 5 6>, <&cpu1 5 6>, <&cpu2 5 6>,
0119                                          <&cpu3 5 6>;
0120                 };
0121                 cpu_hot_limit_cpu {
0122                         trip = <&cpu_alert_hot>;
0123                         cooling-device = <&cpu0 7 7>, <&cpu1 7 7>, <&cpu2 7 7>,
0124                                          <&cpu3 7 7>;
0125                 };
0126                 cpu_hotter_limit_cpu {
0127                         trip = <&cpu_alert_hotter>;
0128                         cooling-device = <&cpu0 7 8>, <&cpu1 7 8>, <&cpu2 7 8>,
0129                                          <&cpu3 7 8>;
0130                 };
0131                 cpu_very_hot_limit_cpu {
0132                         trip = <&cpu_alert_very_hot>;
0133                         cooling-device = <&cpu0 8 THERMAL_NO_LIMIT>,
0134                                          <&cpu1 8 THERMAL_NO_LIMIT>,
0135                                          <&cpu2 8 THERMAL_NO_LIMIT>,
0136                                          <&cpu3 8 THERMAL_NO_LIMIT>;
0137                 };
0138 
0139                 /* At very hot, don't let GPU go over 300 MHz */
0140                 cpu_very_hot_limit_gpu {
0141                         trip = <&cpu_alert_very_hot>;
0142                         cooling-device = <&gpu 2 2>;
0143                 };
0144         };
0145 };
0146 
0147 &gpu_thermal {
0148         /delete-node/ trips;
0149         /delete-node/ cooling-maps;
0150 
0151         trips {
0152                 gpu_alert_warmish: gpu_alert_warmish {
0153                         temperature = <60000>; /* millicelsius */
0154                         hysteresis = <2000>; /* millicelsius */
0155                         type = "passive";
0156                 };
0157                 gpu_alert_warm: gpu_alert_warm {
0158                         temperature = <65000>; /* millicelsius */
0159                         hysteresis = <2000>; /* millicelsius */
0160                         type = "passive";
0161                 };
0162                 gpu_alert_hotter: gpu_alert_hotter {
0163                         temperature = <84000>; /* millicelsius */
0164                         hysteresis = <2000>; /* millicelsius */
0165                         type = "passive";
0166                 };
0167                 gpu_alert_very_very_hot: gpu_alert_very_very_hot {
0168                         temperature = <86000>; /* millicelsius */
0169                         hysteresis = <2000>; /* millicelsius */
0170                         type = "passive";
0171                 };
0172                 gpu_crit: gpu_crit {
0173                         temperature = <90000>; /* millicelsius */
0174                         hysteresis = <2000>; /* millicelsius */
0175                         type = "critical";
0176                 };
0177         };
0178 
0179         cooling-maps {
0180                 /* After 1st level throttle the GPU down to as low as 400 MHz */
0181                 gpu_warmish_limit_gpu {
0182                         trip = <&gpu_alert_warmish>;
0183                         cooling-device = <&gpu THERMAL_NO_LIMIT 1>;
0184                 };
0185 
0186                 /*
0187                  * Slightly after we throttle the GPU, we'll also make sure that
0188                  * the CPU can't go faster than 1.4 GHz.  Note that we won't
0189                  * throttle the CPU lower than 1.4 GHz due to GPU heat--we'll
0190                  * let the CPU do the rest itself.
0191                  */
0192                 gpu_warm_limit_cpu {
0193                         trip = <&gpu_alert_warm>;
0194                         cooling-device = <&cpu0 4 4>,
0195                                          <&cpu1 4 4>,
0196                                          <&cpu2 4 4>,
0197                                          <&cpu3 4 4>;
0198                 };
0199 
0200                 /* When hot, GPU goes down to 300 MHz */
0201                 gpu_hotter_limit_gpu {
0202                         trip = <&gpu_alert_hotter>;
0203                         cooling-device = <&gpu 2 2>;
0204                 };
0205 
0206                 /* When really hot, don't let GPU go _above_ 300 MHz */
0207                 gpu_very_very_hot_limit_gpu {
0208                         trip = <&gpu_alert_very_very_hot>;
0209                         cooling-device = <&gpu 2 THERMAL_NO_LIMIT>;
0210                 };
0211         };
0212 };
0213 
0214 &i2c2 {
0215         status = "disabled";
0216 };
0217 
0218 &i2c4 {
0219         status = "disabled";
0220 };
0221 
0222 &i2s {
0223         status = "okay";
0224 };
0225 
0226 &rk808 {
0227         pinctrl-names = "default";
0228         pinctrl-0 = <&pmic_int_l &dvs_1 &dvs_2>;
0229         dvs-gpios = <&gpio7 RK_PB4 GPIO_ACTIVE_HIGH>,
0230                     <&gpio7 RK_PB7 GPIO_ACTIVE_HIGH>;
0231 
0232         /delete-property/ vcc6-supply;
0233         /delete-property/ vcc12-supply;
0234 
0235         vcc11-supply = <&vcc33_sys>;
0236 
0237         regulators {
0238                 /* vcc33_io is sourced directly from vcc33_sys */
0239                 /delete-node/ LDO_REG1;
0240                 /delete-node/ LDO_REG7;
0241 
0242                 /* This is not a pwren anymore, but the real power supply */
0243                 vdd10_lcd: LDO_REG7 {
0244                         regulator-always-on;
0245                         regulator-boot-on;
0246                         regulator-min-microvolt = <1000000>;
0247                         regulator-max-microvolt = <1000000>;
0248                         regulator-name = "vdd10_lcd";
0249                         regulator-suspend-mem-disabled;
0250                 };
0251 
0252                 vcc18_lcd: LDO_REG8 {
0253                         regulator-always-on;
0254                         regulator-boot-on;
0255                         regulator-min-microvolt = <1800000>;
0256                         regulator-max-microvolt = <1800000>;
0257                         regulator-name = "vcc18_lcd";
0258                         regulator-suspend-mem-disabled;
0259                 };
0260         };
0261 };
0262 
0263 &gpio0 {
0264         gpio-line-names = "PMIC_SLEEP_AP",
0265                           "",
0266                           "",
0267                           "",
0268                           "PMIC_INT_L",
0269                           "POWER_BUTTON_L",
0270                           "",
0271                           "",
0272 
0273                           "",
0274                           /*
0275                            * RECOVERY_SW_L is Chrome OS ABI.  Schematics call
0276                            * it REC_MODE_L.
0277                            */
0278                           "RECOVERY_SW_L",
0279                           "OT_RESET",
0280                           "",
0281                           "",
0282                           "AP_WARM_RESET_H",
0283                           "",
0284                           "I2C0_SDA_PMIC",
0285 
0286                           "I2C0_SCL_PMIC",
0287                           "",
0288                           "nFALUT";
0289 };
0290 
0291 &gpio2 {
0292         gpio-line-names = "CONFIG0",
0293                           "CONFIG1",
0294                           "CONFIG2",
0295                           "",
0296                           "",
0297                           "",
0298                           "",
0299                           "CONFIG3",
0300 
0301                           "",
0302                           "EMMC_RST_L";
0303 };
0304 
0305 &gpio3 {
0306         gpio-line-names = "FLASH0_D0",
0307                           "FLASH0_D1",
0308                           "FLASH0_D2",
0309                           "FLASH0_D3",
0310                           "FLASH0_D4",
0311                           "FLASH0_D5",
0312                           "FLASH0_D6",
0313                           "FLASH0_D7",
0314 
0315                           "",
0316                           "",
0317                           "",
0318                           "",
0319                           "",
0320                           "",
0321                           "",
0322                           "",
0323 
0324                           "FLASH0_CS2/EMMC_CMD",
0325                           "",
0326                           "FLASH0_DQS/EMMC_CLKO";
0327 };
0328 
0329 &gpio4 {
0330         gpio-line-names = "",
0331                           "",
0332                           "",
0333                           "",
0334                           "",
0335                           "",
0336                           "",
0337                           "",
0338 
0339                           "",
0340                           "",
0341                           "",
0342                           "",
0343                           "",
0344                           "",
0345                           "",
0346                           "",
0347 
0348                           "UART0_RXD",
0349                           "UART0_TXD",
0350                           "UART0_CTS_L",
0351                           "UART0_RTS_L",
0352                           "SDIO0_D0",
0353                           "SDIO0_D1",
0354                           "SDIO0_D2",
0355                           "SDIO0_D3",
0356 
0357                           "SDIO0_CMD",
0358                           "SDIO0_CLK",
0359                           "BT_DEV_WAKE",
0360                           "",
0361                           "WIFI_ENABLE_H",
0362                           "BT_ENABLE_L",
0363                           "WIFI_HOST_WAKE",
0364                           "BT_HOST_WAKE";
0365 };
0366 
0367 &gpio7 {
0368         gpio-line-names = "",
0369                           "PWM_LOG",
0370                           "",
0371                           "",
0372                           "TPM_INT_H",
0373                           "SDMMC_DET_L",
0374                           /*
0375                            * AP_FLASH_WP_L is Chrome OS ABI.  Schematics call
0376                            * it FW_WP_AP.
0377                            */
0378                           "AP_FLASH_WP_L",
0379                           "",
0380 
0381                           "CPU_NMI",
0382                           "DVSOK",
0383                           "HDMI_WAKE",
0384                           "POWER_HDMI_ON",
0385                           "DVS1",
0386                           "",
0387                           "",
0388                           "DVS2",
0389 
0390                           "HDMI_CEC",
0391                           "",
0392                           "",
0393                           "I2C5_SDA_HDMI",
0394                           "I2C5_SCL_HDMI",
0395                           "",
0396                           "UART2_RXD",
0397                           "UART2_TXD";
0398 };
0399 
0400 &gpio8 {
0401         gpio-line-names = "RAM_ID0",
0402                           "RAM_ID1",
0403                           "RAM_ID2",
0404                           "RAM_ID3",
0405                           "I2C1_SDA_TPM",
0406                           "I2C1_SCL_TPM",
0407                           "SPI2_CLK",
0408                           "SPI2_CS0",
0409 
0410                           "SPI2_RXD",
0411                           "SPI2_TXD";
0412 };
0413 
0414 &pinctrl {
0415         pinctrl-names = "default";
0416         pinctrl-0 = <
0417                 /* Common for sleep and wake, but no owners */
0418                 &ddr0_retention
0419                 &ddrio_pwroff
0420                 &global_pwroff
0421         >;
0422 
0423         hdmi {
0424                 power_hdmi_on: power-hdmi-on {
0425                         rockchip,pins = <7 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
0426                 };
0427         };
0428 
0429         pmic {
0430                 dvs_1: dvs-1 {
0431                         rockchip,pins = <7 RK_PB4 RK_FUNC_GPIO &pcfg_pull_down>;
0432                 };
0433 
0434                 dvs_2: dvs-2 {
0435                         rockchip,pins = <7 RK_PB7 RK_FUNC_GPIO &pcfg_pull_down>;
0436                 };
0437         };
0438 };
0439 
0440 &usb_host0_ehci {
0441         status = "disabled";
0442 };
0443 
0444 &usb_host1 {
0445         status = "disabled";
0446 };
0447 
0448 &vcc50_hdmi {
0449         enable-active-high;
0450         gpio = <&gpio7 RK_PB3 GPIO_ACTIVE_HIGH>;
0451         pinctrl-names = "default";
0452         pinctrl-0 = <&power_hdmi_on>;
0453 };