Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
0002 /*
0003  * Google Gru-Kevin Rev 6+ board device tree source
0004  *
0005  * Copyright 2016-2017 Google, Inc
0006  */
0007 
0008 /dts-v1/;
0009 #include "rk3399-gru-chromebook.dtsi"
0010 #include <dt-bindings/input/linux-event-codes.h>
0011 
0012 /*
0013  * Kevin-specific things
0014  *
0015  * Things in this section should use names from Kevin schematic since no
0016  * equivalent exists in Gru schematic.  If referring to signals that exist
0017  * in Gru we use the Gru names, though.  Confusing enough for you?
0018  */
0019 / {
0020         model = "Google Kevin";
0021         compatible = "google,kevin-rev15", "google,kevin-rev14",
0022                      "google,kevin-rev13", "google,kevin-rev12",
0023                      "google,kevin-rev11", "google,kevin-rev10",
0024                      "google,kevin-rev9", "google,kevin-rev8",
0025                      "google,kevin-rev7", "google,kevin-rev6",
0026                      "google,kevin", "google,gru", "rockchip,rk3399";
0027         chassis-type = "convertible";
0028 
0029         /* Power tree */
0030 
0031         p3_3v_dig: p3-3v-dig {
0032                 compatible = "regulator-fixed";
0033                 regulator-name = "p3.3v_dig";
0034                 pinctrl-names = "default";
0035                 pinctrl-0 = <&cpu3_pen_pwr_en>;
0036 
0037                 enable-active-high;
0038                 gpio = <&gpio4 30 GPIO_ACTIVE_HIGH>;
0039                 vin-supply = <&pp3300>;
0040         };
0041 
0042         edp_panel: edp-panel {
0043                 compatible = "sharp,lq123p1jx31";
0044                 backlight = <&backlight>;
0045                 power-supply = <&pp3300_disp>;
0046 
0047                 panel-timing {
0048                         clock-frequency = <266666667>;
0049                         hactive = <2400>;
0050                         hfront-porch = <48>;
0051                         hback-porch = <84>;
0052                         hsync-len = <32>;
0053                         hsync-active = <0>;
0054                         vactive = <1600>;
0055                         vfront-porch = <3>;
0056                         vback-porch = <120>;
0057                         vsync-len = <10>;
0058                         vsync-active = <0>;
0059                 };
0060 
0061                 port {
0062                         panel_in_edp: endpoint {
0063                                 remote-endpoint = <&edp_out_panel>;
0064                         };
0065                 };
0066         };
0067 
0068         thermistor_ppvar_bigcpu: thermistor-ppvar-bigcpu {
0069                 compatible = "murata,ncp15wb473";
0070                 pullup-uv = <1800000>;
0071                 pullup-ohm = <25500>;
0072                 pulldown-ohm = <0>;
0073                 io-channels = <&saradc 2>;
0074                 #thermal-sensor-cells = <0>;
0075         };
0076 
0077         thermistor_ppvar_litcpu: thermistor-ppvar-litcpu {
0078                 compatible = "murata,ncp15wb473";
0079                 pullup-uv = <1800000>;
0080                 pullup-ohm = <25500>;
0081                 pulldown-ohm = <0>;
0082                 io-channels = <&saradc 3>;
0083                 #thermal-sensor-cells = <0>;
0084         };
0085 };
0086 
0087 &backlight {
0088         pwms = <&cros_ec_pwm 1>;
0089 };
0090 
0091 &gpio_keys {
0092         pinctrl-names = "default";
0093         pinctrl-0 = <&bt_host_wake_l>, <&cpu1_pen_eject>;
0094 
0095         switch-pen-insert {
0096                 label = "Pen Insert";
0097                 /* Insert = low, eject = high */
0098                 gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
0099                 linux,code = <SW_PEN_INSERTED>;
0100                 linux,input-type = <EV_SW>;
0101                 wakeup-source;
0102         };
0103 };
0104 
0105 &thermal_zones {
0106         bigcpu_reg_thermal: bigcpu-reg-thermal {
0107                 polling-delay-passive = <100>; /* milliseconds */
0108                 polling-delay = <1000>; /* milliseconds */
0109                 thermal-sensors = <&thermistor_ppvar_bigcpu 0>;
0110                 sustainable-power = <4000>;
0111 
0112                 ppvar_bigcpu_trips: trips {
0113                         ppvar_bigcpu_on: ppvar-bigcpu-on {
0114                                 temperature = <40000>;  /* millicelsius */
0115                                 hysteresis = <2000>;    /* millicelsius */
0116                                 type = "passive";
0117                         };
0118 
0119                         ppvar_bigcpu_alert: ppvar-bigcpu-alert {
0120                                 temperature = <50000>;  /* millicelsius */
0121                                 hysteresis = <2000>;    /* millicelsius */
0122                                 type = "passive";
0123                         };
0124 
0125                         ppvar_bigcpu_crit: ppvar-bigcpu-crit {
0126                                 temperature = <90000>;  /* millicelsius */
0127                                 hysteresis = <0>;       /* millicelsius */
0128                                 type = "critical";
0129                         };
0130                 };
0131 
0132                 cooling-maps {
0133                         map0 {
0134                                 trip = <&ppvar_bigcpu_alert>;
0135                                 cooling-device =
0136                                         <&cpu_l0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
0137                                         <&cpu_l1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
0138                                         <&cpu_l2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
0139                                         <&cpu_l3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
0140                                 contribution = <4096>;
0141                         };
0142                         map1 {
0143                                 trip = <&ppvar_bigcpu_alert>;
0144                                 cooling-device =
0145                                         <&cpu_b0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
0146                                         <&cpu_b1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
0147                                 contribution = <1024>;
0148                         };
0149                 };
0150         };
0151 
0152         litcpu_reg_thermal: litcpu-reg-thermal {
0153                 polling-delay-passive = <100>; /* milliseconds */
0154                 polling-delay = <1000>; /* milliseconds */
0155                 thermal-sensors = <&thermistor_ppvar_litcpu 0>;
0156                 sustainable-power = <4000>;
0157 
0158                 ppvar_litcpu_trips: trips {
0159                         ppvar_litcpu_on: ppvar-litcpu-on {
0160                                 temperature = <40000>;  /* millicelsius */
0161                                 hysteresis = <2000>;    /* millicelsius */
0162                                 type = "passive";
0163                         };
0164 
0165                         ppvar_litcpu_alert: ppvar-litcpu-alert {
0166                                 temperature = <50000>;  /* millicelsius */
0167                                 hysteresis = <2000>;    /* millicelsius */
0168                                 type = "passive";
0169                         };
0170 
0171                         ppvar_litcpu_crit: ppvar-litcpu-crit {
0172                                 temperature = <90000>;  /* millicelsius */
0173                                 hysteresis = <0>;       /* millicelsius */
0174                                 type = "critical";
0175                         };
0176                 };
0177         };
0178 };
0179 
0180 ap_i2c_tpm: &i2c0 {
0181         status = "okay";
0182 
0183         clock-frequency = <400000>;
0184 
0185         /* These are relatively safe rise/fall times. */
0186         i2c-scl-falling-time-ns = <50>;
0187         i2c-scl-rising-time-ns = <300>;
0188 
0189         tpm: tpm@20 {
0190                 compatible = "infineon,slb9645tt";
0191                 reg = <0x20>;
0192                 powered-while-suspended;
0193         };
0194 };
0195 
0196 ap_i2c_dig: &i2c2 {
0197         status = "okay";
0198 
0199         clock-frequency = <400000>;
0200 
0201         /* These are relatively safe rise/fall times. */
0202         i2c-scl-falling-time-ns = <50>;
0203         i2c-scl-rising-time-ns = <300>;
0204 
0205         digitizer: digitizer@9 {
0206                 /* wacom,w9013 */
0207                 compatible = "hid-over-i2c";
0208                 reg = <0x9>;
0209                 pinctrl-names = "default";
0210                 pinctrl-0 = <&cpu1_dig_irq_l &cpu1_dig_pdct_l>;
0211 
0212                 vdd-supply = <&p3_3v_dig>;
0213                 post-power-on-delay-ms = <100>;
0214 
0215                 interrupt-parent = <&gpio2>;
0216                 interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
0217 
0218                 hid-descr-addr = <0x1>;
0219         };
0220 };
0221 
0222 /* Adjustments to things in the gru baseboard */
0223 
0224 &ap_i2c_tp {
0225         trackpad@4a {
0226                 compatible = "atmel,maxtouch";
0227                 reg = <0x4a>;
0228                 pinctrl-names = "default";
0229                 pinctrl-0 = <&trackpad_int_l>;
0230                 interrupt-parent = <&gpio1>;
0231                 interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
0232                 linux,gpio-keymap = <KEY_RESERVED
0233                                      KEY_RESERVED
0234                                      KEY_RESERVED
0235                                      BTN_LEFT>;
0236                 wakeup-source;
0237         };
0238 };
0239 
0240 &ap_i2c_ts {
0241         touchscreen@4b {
0242                 compatible = "atmel,maxtouch";
0243                 reg = <0x4b>;
0244                 pinctrl-names = "default";
0245                 pinctrl-0 = <&touch_int_l>;
0246                 interrupt-parent = <&gpio3>;
0247                 interrupts = <13 IRQ_TYPE_LEVEL_LOW>;
0248         };
0249 };
0250 
0251 &ppvar_bigcpu_pwm {
0252         regulator-min-microvolt = <798674>;
0253         regulator-max-microvolt = <1302172>;
0254 };
0255 
0256 &ppvar_bigcpu {
0257         regulator-min-microvolt = <798674>;
0258         regulator-max-microvolt = <1302172>;
0259         ctrl-voltage-range = <798674 1302172>;
0260 };
0261 
0262 &ppvar_litcpu_pwm {
0263         regulator-min-microvolt = <799065>;
0264         regulator-max-microvolt = <1303738>;
0265 };
0266 
0267 &ppvar_litcpu {
0268         regulator-min-microvolt = <799065>;
0269         regulator-max-microvolt = <1303738>;
0270         ctrl-voltage-range = <799065 1303738>;
0271 };
0272 
0273 &ppvar_gpu_pwm {
0274         regulator-min-microvolt = <785782>;
0275         regulator-max-microvolt = <1217729>;
0276 };
0277 
0278 &ppvar_gpu {
0279         regulator-min-microvolt = <785782>;
0280         regulator-max-microvolt = <1217729>;
0281         ctrl-voltage-range = <785782 1217729>;
0282 };
0283 
0284 &ppvar_centerlogic_pwm {
0285         regulator-min-microvolt = <800069>;
0286         regulator-max-microvolt = <1049692>;
0287 };
0288 
0289 &ppvar_centerlogic {
0290         regulator-min-microvolt = <800069>;
0291         regulator-max-microvolt = <1049692>;
0292         ctrl-voltage-range = <800069 1049692>;
0293 };
0294 
0295 &saradc {
0296         status = "okay";
0297         vref-supply = <&pp1800_ap_io>;
0298 };
0299 
0300 &mvl_wifi {
0301         marvell,wakeup-pin = <14>; /* GPIO_14 on Marvell */
0302 };
0303 
0304 &pinctrl {
0305         digitizer {
0306                 /* Has external pullup */
0307                 cpu1_dig_irq_l: cpu1-dig-irq-l {
0308                         rockchip,pins = <2 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
0309                 };
0310 
0311                 /* Has external pullup */
0312                 cpu1_dig_pdct_l: cpu1-dig-pdct-l {
0313                         rockchip,pins = <2 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
0314                 };
0315         };
0316 
0317         discrete-regulators {
0318                 cpu3_pen_pwr_en: cpu3-pen-pwr-en {
0319                         rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>;
0320                 };
0321         };
0322 
0323         pen {
0324                 cpu1_pen_eject: cpu1-pen-eject {
0325                         rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>;
0326                 };
0327         };
0328 };