From eb8a871c2c1d38e92426c3f2fb37da83af0d321b Mon Sep 17 00:00:00 2001 From: Stephen Barber Date: Wed, 20 Apr 2016 20:18:07 -0700 Subject: [PATCH] arm64: dts: add kevin r1 and r2 Some pinctrl stuff has moved around and will be identical between gru and kevin going forward, so kevin r1-specific things will be stored in the kevin-r1 dts file. BUG=none TEST=kernel still boots on kevin-r1 Change-Id: If3e88a57acc40367afca34b5310a59efd70287f6 Signed-off-by: Stephen Barber Reviewed-on: https://chrome-internal-review.googlesource.com/256345 Commit-Ready: Stephen Barber Tested-by: Stephen Barber Reviewed-by: Doug Anderson Signed-off-by: Caesar Wang --- arch/arm64/boot/dts/rockchip/Makefile | 3 +- .../boot/dts/rockchip/rk3399-gru-kevin-r1.dts | 100 ++++++++++++++++++ ...-gru-kevin.dts => rk3399-gru-kevin-r2.dts} | 13 ++- arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi | 26 ++--- 4 files changed, 126 insertions(+), 16 deletions(-) create mode 100644 arch/arm64/boot/dts/rockchip/rk3399-gru-kevin-r1.dts rename arch/arm64/boot/dts/rockchip/{rk3399-gru-kevin.dts => rk3399-gru-kevin-r2.dts} (91%) diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile index 715c3c8bed85..70a32af2b25c 100644 --- a/arch/arm64/boot/dts/rockchip/Makefile +++ b/arch/arm64/boot/dts/rockchip/Makefile @@ -6,7 +6,8 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-evb1-android.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-evb1-cros.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-fpga.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-gru-gru.dtb -dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-gru-kevin.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-gru-kevin-r1.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-gru-kevin-r2.dtb always := $(dtb-y) subdir-y := $(dts-dirs) diff --git a/arch/arm64/boot/dts/rockchip/rk3399-gru-kevin-r1.dts b/arch/arm64/boot/dts/rockchip/rk3399-gru-kevin-r1.dts new file mode 100644 index 000000000000..8e2f59d4cedb --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/rk3399-gru-kevin-r1.dts @@ -0,0 +1,100 @@ +/* + * Google Gru-Kevin Rev 1+ board device tree source + * + * Copyright 2016 Google, Inc + * + * This file is dual-licensed: you can use it either under the terms + * of the GPL or the X11 license, at your option. Note that this dual + * licensing only applies to this file, and not this project as a + * whole. + * + * a) This file is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This file is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * Or, alternatively, + * + * b) Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +/dts-v1/; +#include "rk3399-gru.dtsi" + +/ { + model = "Google Kevin Rev 1"; + compatible = "google,kevin-rev1", "google,kevin-rev0", + "google,kevin", "google,veyron", "rockchip,rk3399"; +}; + +&pp3000 { + gpio = <&gpio1 12 GPIO_ACTIVE_HIGH>; +}; + +&pp1800_audio { + gpio = <&gpio0 1 GPIO_ACTIVE_HIGH>; +}; + +&pp1800_pcie { + gpio = <&gpio0 8 GPIO_ACTIVE_HIGH>; +}; + +&sdmmc { + cd-gpios = <&gpio4 26 GPIO_ACTIVE_LOW>; +}; + +&cros_ec { + interrupts = <2 IRQ_TYPE_LEVEL_LOW>; +}; + +&ec_ap_int_l { + rockchip,pins = <0 2 RK_FUNC_GPIO &pcfg_pull_up>; +}; + +&pp1500_en { + rockchip,pins = ; +}; + +&pp1800_audio_en { + rockchip,pins = ; +}; + +&pp3000_en { + rockchip,pins = ; +}; + +&wlan_module_pd_l { + rockchip,pins = ; +}; + +/* This is where we actually hook up CD; has external pull */ +&sdmmc_cd_gpio { + rockchip,pins = <4 26 RK_FUNC_GPIO &pcfg_pull_none>; +}; diff --git a/arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dts b/arch/arm64/boot/dts/rockchip/rk3399-gru-kevin-r2.dts similarity index 91% rename from arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dts rename to arch/arm64/boot/dts/rockchip/rk3399-gru-kevin-r2.dts index ba46cb039d3d..1aff9c79a60f 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dts +++ b/arch/arm64/boot/dts/rockchip/rk3399-gru-kevin-r2.dts @@ -1,5 +1,5 @@ /* - * Google Gru-Kevin Rev 0+ board device tree source + * Google Gru-Kevin Rev 2+ board device tree source * * Copyright 2016 Google, Inc * @@ -54,7 +54,16 @@ "google,kevin-rev7", "google,kevin-rev6", "google,kevin-rev5", "google,kevin-rev4", "google,kevin-rev3", "google,kevin-rev2", - "google,kevin-rev1", "google,kevin-rev0", "google,kevin", "google,veyron", "rockchip,rk3399"; }; +/* PINCTRL: always below everything else */ + +&pinctrl { + pen-eject { + pen_eject_l: pen-eject-l { + rockchip,pins = ; + }; + }; +}; diff --git a/arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi index 3fb0c1e97ce0..ca10e259b4e4 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi @@ -129,7 +129,7 @@ pinctrl-0 = <&pp3000_en>; enable-active-high; - gpio = <&gpio1 12 GPIO_ACTIVE_HIGH>; + gpio = <&gpio0 12 GPIO_ACTIVE_HIGH>; regulator-always-on; regulator-boot-on; @@ -350,7 +350,7 @@ regulator-boot-on; enable-active-high; - gpio = <&gpio0 1 GPIO_ACTIVE_HIGH>; + gpio = <&gpio0 2 GPIO_ACTIVE_HIGH>; vin-supply = <&pp1800>; }; @@ -364,7 +364,7 @@ regulator-always-on; // TODO: for bringup??? regulator-boot-on; // TODO: for bringup??? enable-active-high; - gpio = <&gpio0 8 GPIO_ACTIVE_HIGH>; + gpio = <&gpio0 4 GPIO_ACTIVE_HIGH>; vin-supply = <&pp1800>; }; @@ -707,7 +707,7 @@ ap_i2c_audio: &i2c8 { clock-freq-min-max = <400000 37500000>; bus-width = <4>; - cd-gpios = <&gpio4 26 GPIO_ACTIVE_LOW>; + cd-gpios = <&gpio4 24 GPIO_ACTIVE_LOW>; disable-wp; cap-mmc-highspeed; @@ -789,7 +789,7 @@ ap_i2c_audio: &i2c8 { google,cros-ec-spi-pre-delay = <30>; // TODO: check interrupt-parent = <&gpio0>; - interrupts = <2 IRQ_TYPE_LEVEL_LOW>; + interrupts = <1 IRQ_TYPE_LEVEL_LOW>; spi-max-frequency = <3000000>; // TODO: check; TODO: rx-sample-delay-ns? i2c_tunnel: i2c-tunnel { @@ -953,19 +953,19 @@ ap_i2c_audio: &i2c8 { cros-ec { ec_ap_int_l: ec-ap-int-l { - rockchip,pins = <0 2 RK_FUNC_GPIO &pcfg_pull_up>; + rockchip,pins = ; }; }; discrete-regulators { pp1500_en: pp1500-en { - rockchip,pins = ; }; pp1800_audio_en: pp1800-audio-en { - rockchip,pins = ; + rockchip,pins = ; }; pp3300_disp_en: pp3300-disp-en { @@ -974,7 +974,7 @@ ap_i2c_audio: &i2c8 { }; pp3000_en: pp3000-en { - rockchip,pins = ; }; @@ -994,8 +994,8 @@ ap_i2c_audio: &i2c8 { }; wlan_module_pd_l: wlan-module-pd-l { - rockchip,pins = ; + rockchip,pins = ; }; }; @@ -1053,7 +1053,7 @@ ap_i2c_audio: &i2c8 { /* This is where we actually hook up CD; has external pull */ sdmmc_cd_gpio: sdmmc-cd-gpio { - rockchip,pins = <4 26 RK_FUNC_GPIO &pcfg_pull_none>; + rockchip,pins = <4 24 RK_FUNC_GPIO &pcfg_pull_none>; }; }; -- 2.34.1