Tom Rini | 53633a8 | 2024-02-29 12:33:36 -0500 | [diff] [blame] | 1 | // SPDX-License-Identifier: (GPL-2.0+ OR MIT) |
| 2 | /* |
| 3 | * Google Homestar board device tree source |
| 4 | * |
| 5 | * Copyright 2021 Google LLC. |
| 6 | */ |
| 7 | |
Tom Rini | 53633a8 | 2024-02-29 12:33:36 -0500 | [diff] [blame] | 8 | #include "sc7180-trogdor-rt5682i-sku.dtsi" |
Tom Rini | 6b642ac | 2024-10-01 12:20:28 -0600 | [diff] [blame] | 9 | #include "sc7180-trogdor-detachable.dtsi" |
Tom Rini | 53633a8 | 2024-02-29 12:33:36 -0500 | [diff] [blame] | 10 | |
| 11 | / { |
| 12 | /* BOARD-SPECIFIC TOP LEVEL NODES */ |
| 13 | |
| 14 | max98360a_1: amplifier-1 { |
| 15 | compatible = "maxim,max98360a"; |
| 16 | #sound-dai-cells = <0>; |
| 17 | }; |
| 18 | |
| 19 | max98360a_2: amplifier-2 { |
| 20 | compatible = "maxim,max98360a"; |
| 21 | #sound-dai-cells = <0>; |
| 22 | }; |
| 23 | |
| 24 | max98360a_3: amplifier-3 { |
| 25 | compatible = "maxim,max98360a"; |
| 26 | #sound-dai-cells = <0>; |
| 27 | }; |
| 28 | |
| 29 | pp3300_touch: pp3300-touch-regulator { |
| 30 | compatible = "regulator-fixed"; |
| 31 | regulator-name = "pp3300_touch"; |
| 32 | |
| 33 | regulator-min-microvolt = <3300000>; |
| 34 | regulator-max-microvolt = <3300000>; |
| 35 | |
| 36 | gpio = <&tlmm 87 GPIO_ACTIVE_HIGH>; |
| 37 | enable-active-high; |
| 38 | pinctrl-names = "default"; |
| 39 | pinctrl-0 = <&en_pp3300_touch>; |
| 40 | |
| 41 | vin-supply = <&pp3300_a>; |
| 42 | }; |
| 43 | |
| 44 | thermal-zones { |
| 45 | skin_temp_thermal: skin-temp-thermal { |
| 46 | polling-delay-passive = <250>; |
Tom Rini | 53633a8 | 2024-02-29 12:33:36 -0500 | [diff] [blame] | 47 | |
| 48 | thermal-sensors = <&pm6150_adc_tm 1>; |
| 49 | sustainable-power = <965>; |
| 50 | |
| 51 | trips { |
| 52 | skin_temp_alert0: trip-point0 { |
| 53 | temperature = <55000>; |
| 54 | hysteresis = <1000>; |
| 55 | type = "passive"; |
| 56 | }; |
| 57 | |
| 58 | skin_temp_alert1: trip-point1 { |
| 59 | temperature = <58000>; |
| 60 | hysteresis = <1000>; |
| 61 | type = "passive"; |
| 62 | }; |
| 63 | |
| 64 | skin-temp-crit { |
| 65 | temperature = <73000>; |
| 66 | hysteresis = <1000>; |
| 67 | type = "critical"; |
| 68 | }; |
| 69 | }; |
| 70 | |
| 71 | cooling-maps { |
| 72 | map0 { |
| 73 | trip = <&skin_temp_alert0>; |
| 74 | cooling-device = <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, |
| 75 | <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; |
| 76 | }; |
| 77 | |
| 78 | map1 { |
| 79 | trip = <&skin_temp_alert1>; |
| 80 | cooling-device = <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, |
| 81 | <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; |
| 82 | }; |
| 83 | }; |
| 84 | }; |
| 85 | }; |
| 86 | }; |
| 87 | |
| 88 | /* |
| 89 | * ADDITIONS TO FIXED REGULATORS DEFINED IN PARENT DEVICE TREE FILES |
| 90 | * |
| 91 | * Sort order matches the order in the parent files (parents before children). |
| 92 | */ |
| 93 | |
| 94 | &pp3300_dx_edp { |
| 95 | /* |
| 96 | * The atna33xc20 really likes to be power cycled to keep it from |
| 97 | * getting in a bad state. This is the reason that the touchscreen |
| 98 | * rail and eDP rails are separate from each other on homestar (but |
| 99 | * not other trogdor devices) Make sure it starts "off" at bootup. |
| 100 | */ |
| 101 | /delete-property/ regulator-boot-on; |
| 102 | }; |
| 103 | |
| 104 | /* ADDITIONS TO NODES DEFINED IN PARENT DEVICE TREE FILES */ |
| 105 | |
| 106 | ap_ts_pen_1v8: &i2c4 { |
| 107 | status = "okay"; |
| 108 | clock-frequency = <400000>; |
| 109 | |
| 110 | ap_ts: touchscreen@14 { |
| 111 | compatible = "goodix,gt7375p"; |
| 112 | reg = <0x14>; |
| 113 | pinctrl-names = "default"; |
| 114 | pinctrl-0 = <&ts_int_l>, <&ts_reset_l>; |
| 115 | |
| 116 | interrupt-parent = <&tlmm>; |
| 117 | interrupts = <9 IRQ_TYPE_LEVEL_LOW>; |
| 118 | |
| 119 | panel = <&panel>; |
| 120 | reset-gpios = <&tlmm 8 GPIO_ACTIVE_LOW>; |
| 121 | |
| 122 | vdd-supply = <&pp3300_touch>; |
| 123 | }; |
| 124 | }; |
| 125 | |
| 126 | /* Panel controls backlight over aux channel */ |
| 127 | |
| 128 | &backlight { |
| 129 | status = "disabled"; |
| 130 | }; |
| 131 | |
| 132 | &camcc { |
| 133 | status = "okay"; |
| 134 | }; |
| 135 | |
Tom Rini | 53633a8 | 2024-02-29 12:33:36 -0500 | [diff] [blame] | 136 | &panel { |
| 137 | compatible = "samsung,atna33xc20"; |
| 138 | enable-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>; |
| 139 | /delete-property/ backlight; |
| 140 | }; |
| 141 | |
| 142 | &pm6150_adc { |
| 143 | channel@4d { |
| 144 | reg = <ADC5_AMUX_THM1_100K_PU>; |
| 145 | qcom,ratiometric; |
| 146 | qcom,hw-settle-time = <200>; |
| 147 | label = "skin_therm"; |
| 148 | }; |
| 149 | }; |
| 150 | |
| 151 | &pm6150_adc_tm { |
| 152 | status = "okay"; |
| 153 | |
| 154 | skin-temp-thermistor@1 { |
| 155 | reg = <1>; |
| 156 | io-channels = <&pm6150_adc ADC5_AMUX_THM1_100K_PU>; |
| 157 | qcom,ratiometric; |
| 158 | qcom,hw-settle-time-us = <200>; |
| 159 | }; |
| 160 | }; |
| 161 | |
| 162 | &pp1800_uf_cam { |
| 163 | status = "okay"; |
| 164 | }; |
| 165 | |
| 166 | &pp1800_wf_cam { |
| 167 | status = "okay"; |
| 168 | }; |
| 169 | |
| 170 | &pp2800_uf_cam { |
| 171 | status = "okay"; |
| 172 | }; |
| 173 | |
| 174 | &pp2800_wf_cam { |
| 175 | status = "okay"; |
| 176 | }; |
| 177 | |
| 178 | &pp3300_dx_edp { |
| 179 | gpio = <&tlmm 67 GPIO_ACTIVE_HIGH>; |
| 180 | }; |
| 181 | |
| 182 | &secondary_mi2s { |
| 183 | qcom,playback-sd-lines = <0 1>; |
| 184 | }; |
| 185 | |
| 186 | &sound_multimedia1_codec { |
| 187 | sound-dai = <&max98360a>, <&max98360a_1>, <&max98360a_2>, <&max98360a_3> ; |
| 188 | }; |
| 189 | |
| 190 | &wifi { |
| 191 | qcom,ath10k-calibration-variant = "GO_HOMESTAR"; |
| 192 | }; |
| 193 | |
| 194 | /* PINCTRL - modifications to sc7180-trogdor.dtsi */ |
| 195 | |
| 196 | &en_pp3300_dx_edp { |
| 197 | pins = "gpio67"; |
| 198 | }; |
| 199 | |
| 200 | &sec_mi2s_active { |
| 201 | pins = "gpio49", "gpio50", "gpio51", "gpio52"; |
| 202 | }; |
| 203 | |
| 204 | &ts_reset_l { |
| 205 | /* |
| 206 | * We want reset state by default and it will be up to the |
| 207 | * driver to disable this when it's ready. |
| 208 | */ |
| 209 | output-low; |
| 210 | }; |
| 211 | |
| 212 | /* PINCTRL - board-specific pinctrl */ |
| 213 | |
| 214 | &tlmm { |
| 215 | gpio-line-names = "HUB_RST_L", |
| 216 | "AP_RAM_ID0", |
| 217 | "AP_SKU_ID2", |
| 218 | "AP_RAM_ID1", |
| 219 | "", |
| 220 | "AP_RAM_ID2", |
| 221 | "UF_CAM_EN", |
| 222 | "WF_CAM_EN", |
| 223 | "TS_RESET_L", |
| 224 | "TS_INT_L", |
| 225 | "", |
| 226 | "EDP_BRIJ_IRQ", |
| 227 | "AP_EDP_BKLTEN", |
| 228 | "UF_CAM_MCLK", |
| 229 | "WF_CAM_CLK", |
| 230 | "EDP_BRIJ_I2C_SDA", |
| 231 | "EDP_BRIJ_I2C_SCL", |
| 232 | "UF_CAM_SDA", |
| 233 | "UF_CAM_SCL", |
| 234 | "WF_CAM_SDA", |
| 235 | "WF_CAM_SCL", |
| 236 | "AVEE_LCD_EN", |
| 237 | "", |
| 238 | "AMP_EN", |
| 239 | "AMP_EN2", |
| 240 | "AP_SAR_SENSOR_SDA", |
| 241 | "AP_SAR_SENSOR_SCL", |
| 242 | "SEL_LCM", |
| 243 | "HP_IRQ", |
| 244 | "WF_CAM_RST_L", |
| 245 | "UF_CAM_RST_L", |
| 246 | "AP_BRD_ID2", |
| 247 | "BRIJ_SUSPEND", |
| 248 | "AP_BRD_ID0", |
| 249 | "AP_H1_SPI_MISO", |
| 250 | "AP_H1_SPI_MOSI", |
| 251 | "AP_H1_SPI_CLK", |
| 252 | "AP_H1_SPI_CS_L", |
| 253 | "BT_UART_CTS", |
| 254 | "BT_UART_RTS", |
| 255 | "BT_UART_TXD", |
| 256 | "BT_UART_RXD", |
| 257 | "H1_AP_INT_ODL", |
| 258 | "", |
| 259 | "UART_AP_TX_DBG_RX", |
| 260 | "UART_DBG_TX_AP_RX", |
| 261 | "HP_I2C_SDA", |
| 262 | "HP_I2C_SCL", |
| 263 | "FORCED_USB_BOOT", |
| 264 | "AMP_BCLK", |
| 265 | "AMP_LRCLK", |
| 266 | "AMP_DIN", |
| 267 | "AMP_DIN_2", |
| 268 | "HP_BCLK", |
| 269 | "HP_LRCLK", |
| 270 | "HP_DOUT", |
| 271 | "HP_DIN", |
| 272 | "HP_MCLK", |
| 273 | "AP_SKU_ID0", |
| 274 | "AP_EC_SPI_MISO", |
| 275 | "AP_EC_SPI_MOSI", |
| 276 | "AP_EC_SPI_CLK", |
| 277 | "AP_EC_SPI_CS_L", |
| 278 | "AP_SPI_CLK", |
| 279 | "AP_SPI_MOSI", |
| 280 | "AP_SPI_MISO", |
| 281 | /* |
| 282 | * AP_FLASH_WP_L is crossystem ABI. Schematics |
| 283 | * call it BIOS_FLASH_WP_L. |
| 284 | */ |
| 285 | "AP_FLASH_WP_L", |
| 286 | "EN_PP3300_DX_EDP", |
| 287 | "AP_SPI_CS0_L", |
| 288 | "SD_CD_ODL", |
| 289 | "", |
| 290 | "", |
| 291 | "", |
| 292 | "WLAN_SW_CTRL", |
| 293 | "", |
| 294 | "REPORT_E", |
| 295 | "VDD_RESET_1.8V", |
| 296 | "ID0", |
| 297 | "", |
| 298 | "ID1", |
| 299 | "AVDD_LCD_EN", |
| 300 | "MIPI_1.8V_EN", |
| 301 | "", |
| 302 | "CODEC_PWR_EN", |
| 303 | "HUB_EN", |
| 304 | "", |
| 305 | "PP1800_MIPI_SW_EN", |
| 306 | "EN_PP3300_TOUCH", |
| 307 | "", |
| 308 | "", |
| 309 | "AP_SKU_ID1", |
| 310 | "AP_RST_REQ", |
| 311 | "", |
| 312 | "AP_BRD_ID1", |
| 313 | "AP_EC_INT_L", |
| 314 | "SDM_GRFC_3", |
| 315 | "", |
| 316 | "", |
| 317 | "BOOT_CONFIG_4", |
| 318 | "BOOT_CONFIG_2", |
| 319 | "", |
| 320 | "", |
| 321 | "", |
| 322 | "", |
| 323 | "EDP_BRIJ_EN", |
| 324 | "", |
| 325 | "", |
| 326 | "BOOT_CONFIG_3", |
| 327 | "WCI2_LTE_COEX_TXD", |
| 328 | "WCI2_LTE_COEX_RXD", |
| 329 | "", |
| 330 | "", |
| 331 | "", |
| 332 | "", |
| 333 | "FORCED_USB_BOOT_POL", |
| 334 | "AP_TS_PEN_I2C_SDA", |
| 335 | "AP_TS_PEN_I2C_SCL", |
| 336 | "DP_HOT_PLUG_DET", |
| 337 | "EC_IN_RW_ODL"; |
| 338 | |
| 339 | en_pp3300_touch: en-pp3300-touch-state { |
| 340 | pins = "gpio87"; |
| 341 | function = "gpio"; |
| 342 | drive-strength = <2>; |
| 343 | bias-disable; |
| 344 | }; |
| 345 | }; |