/* * Google Veyron (and derivatives) board device tree source * * Copyright 2014 Google, Inc * * SPDX-License-Identifier: GPL-2.0 */ #include #include #include "rk3288-veyron.dtsi" / { aliases { i2c20 = &i2c_tunnel; }; gpio_keys: gpio-keys { pinctrl-0 = <&pwr_key_h &ap_lid_int_l>; lid { label = "Lid"; gpios = <&gpio0 6 GPIO_ACTIVE_LOW>; linux,code = <0>; /* SW_LID */ linux,input-type = <5>; /* EV_SW */ debounce-interval = <1>; gpio-key,wakeup; }; }; gpio-charger { compatible = "gpio-charger"; gpios = <&gpio0 8 GPIO_ACTIVE_HIGH>; pinctrl-names = "default"; pinctrl-0 = <&ac_present_ap>; charger-type = "mains"; }; /* A non-regulated voltage from power supply or battery */ vccsys: vccsys { compatible = "regulator-fixed"; regulator-name = "vccsys"; regulator-boot-on; regulator-always-on; }; vcc33_sys: vcc33-sys { vin-supply = <&vccsys>; }; vcc_5v: vcc-5v { vin-supply = <&vccsys>; }; /* This turns on vbus for host1 (dwc2) */ vcc5_host1: vcc5-host1-regulator { compatible = "regulator-fixed"; enable-active-high; gpio = <&gpio0 11 GPIO_ACTIVE_HIGH>; pinctrl-names = "default"; pinctrl-0 = <&host1_pwr_en>; regulator-name = "vcc5_host1"; regulator-always-on; regulator-boot-on; }; /* This turns on vbus for otg for host mode (dwc2) */ vcc5v_otg: vcc5v-otg-regulator { compatible = "regulator-fixed"; enable-active-high; gpio = <&gpio0 12 GPIO_ACTIVE_HIGH>; pinctrl-names = "default"; pinctrl-0 = <&usbotg_pwren_h>; regulator-name = "vcc5_host2"; regulator-always-on; regulator-boot-on; }; }; &rk808 { regulators { vcc33_ccd: LDO_REG8 { regulator-always-on; regulator-boot-on; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-name = "vcc33_ccd"; regulator-suspend-mem-disabled; }; }; }; &spi0 { status = "okay"; spi-activate-delay = <100>; spi-max-frequency = <3000000>; spi-deactivate-delay = <200>; cros_ec: ec@0 { compatible = "google,cros-ec-spi"; spi-max-frequency = <3000000>; interrupt-parent = <&gpio7>; interrupts = <7 IRQ_TYPE_LEVEL_LOW>; ec-interrupt = <&gpio7 7 GPIO_ACTIVE_LOW>; pinctrl-names = "default"; pinctrl-0 = <&ec_int>; reg = <0>; google,cros-ec-spi-pre-delay = <30>; i2c_tunnel: i2c-tunnel { compatible = "google,cros-ec-i2c-tunnel"; google,remote-bus = <0>; #address-cells = <1>; #size-cells = <0>; }; }; }; &i2c4 { trackpad@15 { compatible = "elan,i2c_touchpad"; interrupt-parent = <&gpio7>; interrupts = <3 IRQ_TYPE_EDGE_FALLING>; pinctrl-names = "default"; pinctrl-0 = <&trackpad_int>; reg = <0x15>; vcc-supply = <&vcc33_io>; wakeup-source; }; }; &pinctrl { pinctrl-0 = < /* Common for sleep and wake, but no owners */ &ddr0_retention &ddrio_pwroff &global_pwroff /* Wake only */ &suspend_l_wake &bt_dev_wake_awake >; pinctrl-1 = < /* Common for sleep and wake, but no owners */ &ddr0_retention &ddrio_pwroff &global_pwroff /* Sleep only */ &suspend_l_sleep &bt_dev_wake_sleep >; buttons { ap_lid_int_l: ap-lid-int-l { rockchip,pins = <0 6 RK_FUNC_GPIO &pcfg_pull_up>; }; }; charger { ac_present_ap: ac-present-ap { rockchip,pins = <0 8 RK_FUNC_GPIO &pcfg_pull_up>; }; }; cros-ec { ec_int: ec-int { rockchip,pins = <7 7 RK_FUNC_GPIO &pcfg_pull_none>; }; }; sdmmc { sdmmc_wp_gpio: sdmmc-wp-gpio { rockchip,pins = <7 10 RK_FUNC_GPIO &pcfg_pull_up>; }; }; suspend { suspend_l_wake: suspend-l-wake { rockchip,pins = <0 17 RK_FUNC_GPIO &pcfg_output_low>; }; suspend_l_sleep: suspend-l-sleep { rockchip,pins = <0 17 RK_FUNC_GPIO &pcfg_output_high>; }; }; trackpad { trackpad_int: trackpad-int { rockchip,pins = <7 3 RK_FUNC_GPIO &pcfg_pull_up>; }; }; usb-host { host1_pwr_en: host1-pwr-en { rockchip,pins = <0 11 RK_FUNC_GPIO &pcfg_pull_none>; }; usbotg_pwren_h: usbotg-pwren-h { rockchip,pins = <0 12 RK_FUNC_GPIO &pcfg_pull_none>; }; }; }; #include "cros-ec-keyboard.dtsi"