Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

devicetree: Add DTS file to support the Nexus7 2013 (flo) device.

This patch adds a dts file to support the Nexus7 2013
device. Its based off of the qcom-apq8064-ifc6410.dts
which is similar hardware.

Also includes some comments and context folded in
from Vinay Simha BN <simhavcs@gmail.com>

Cc: Rob Herring <robh+dt@kernel.org>
Cc: Arnd Bergmann <arnd.bergmann@linaro.org>
Cc: Pawel Moll <pawel.moll@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Ian Campbell <ijc+devicetree@hellion.org.uk>
Cc: Kumar Gala <galak@codeaurora.org>
Cc: Andy Gross <agross@codeaurora.org>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Vinay Simha BN <simhavcs@gmail.com>
Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
Cc: Stephen Boyd <stephen.boyd@linaro.org>
Cc: linux-arm-msm@vger.kernel.org
Cc: devicetree@vger.kernel.org
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Acked-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>

authored by

John Stultz and committed by
Andy Gross
46fb5280 5d31f606

+277
+1
arch/arm/boot/dts/Makefile
··· 524 524 qcom-apq8064-cm-qs600.dtb \ 525 525 qcom-apq8064-ifc6410.dtb \ 526 526 qcom-apq8064-sony-xperia-yuga.dtb \ 527 + qcom-apq8064-asus-nexus7-flo.dtb \ 527 528 qcom-apq8074-dragonboard.dtb \ 528 529 qcom-apq8084-ifc6540.dtb \ 529 530 qcom-apq8084-mtp.dtb \
+276
arch/arm/boot/dts/qcom-apq8064-asus-nexus7-flo.dts
··· 1 + #include "qcom-apq8064-v2.0.dtsi" 2 + #include <dt-bindings/gpio/gpio.h> 3 + #include <dt-bindings/input/input.h> 4 + #include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 5 + / { 6 + model = "Asus Nexus7(flo)"; 7 + compatible = "asus,nexus7-flo", "qcom,apq8064"; 8 + 9 + aliases { 10 + serial0 = &gsbi7_serial; 11 + serial1 = &gsbi6_serial; 12 + }; 13 + 14 + chosen { 15 + stdout-path = "serial0:115200n8"; 16 + }; 17 + 18 + ext_3p3v: regulator-fixed@1 { 19 + compatible = "regulator-fixed"; 20 + regulator-min-microvolt = <3300000>; 21 + regulator-max-microvolt = <3300000>; 22 + regulator-name = "ext_3p3v"; 23 + regulator-type = "voltage"; 24 + startup-delay-us = <0>; 25 + gpio = <&tlmm_pinmux 77 GPIO_ACTIVE_HIGH>; 26 + enable-active-high; 27 + regulator-boot-on; 28 + }; 29 + 30 + gpio-keys { 31 + compatible = "gpio-keys"; 32 + power { 33 + label = "Power"; 34 + gpios = <&tlmm_pinmux 26 GPIO_ACTIVE_LOW>; 35 + linux,code = <KEY_POWER>; 36 + gpio-key,wakeup; 37 + }; 38 + volume_up { 39 + label = "Volume Up"; 40 + gpios = <&pm8921_gpio 4 GPIO_ACTIVE_HIGH>; 41 + linux,code = <KEY_VOLUMEUP>; 42 + }; 43 + volume_down { 44 + label = "Volume Down"; 45 + gpios = <&pm8921_gpio 38 GPIO_ACTIVE_HIGH>; 46 + linux,code = <KEY_VOLUMEDOWN>; 47 + }; 48 + }; 49 + 50 + soc { 51 + rpm@108000 { 52 + regulators { 53 + vdd_l1_l2_l12_l18-supply = <&pm8921_s4>; 54 + vin_lvs1_3_6-supply = <&pm8921_s4>; 55 + vin_lvs4_5_7-supply = <&pm8921_s4>; 56 + 57 + 58 + vdd_l24-supply = <&pm8921_s1>; 59 + vdd_l25-supply = <&pm8921_s1>; 60 + vin_lvs2-supply = <&pm8921_s1>; 61 + 62 + vdd_l26-supply = <&pm8921_s7>; 63 + vdd_l27-supply = <&pm8921_s7>; 64 + vdd_l28-supply = <&pm8921_s7>; 65 + 66 + vdd_ncp-supply = <&pm8921_l6>; 67 + 68 + /* Buck SMPS */ 69 + s1 { 70 + regulator-always-on; 71 + regulator-min-microvolt = <1225000>; 72 + regulator-max-microvolt = <1225000>; 73 + qcom,switch-mode-frequency = <3200000>; 74 + bias-pull-down; 75 + }; 76 + 77 + /* msm otg HSUSB_VDDCX */ 78 + s3 { 79 + regulator-min-microvolt = <500000>; 80 + regulator-max-microvolt = <1150000>; 81 + qcom,switch-mode-frequency = <4800000>; 82 + }; 83 + 84 + /* 85 + * msm_sdcc.1-sdc-vdd_io 86 + * tabla2x-slim-CDC_VDDA_RX 87 + * tabla2x-slim-CDC_VDDA_TX 88 + * tabla2x-slim-CDC_VDD_CP 89 + * tabla2x-slim-VDDIO_CDC 90 + */ 91 + s4 { 92 + regulator-min-microvolt = <1800000>; 93 + regulator-max-microvolt = <1800000>; 94 + qcom,switch-mode-frequency = <3200000>; 95 + regulator-always-on; 96 + }; 97 + 98 + s7 { 99 + regulator-min-microvolt = <1300000>; 100 + regulator-max-microvolt = <1300000>; 101 + qcom,switch-mode-frequency = <3200000>; 102 + }; 103 + 104 + /* mipi_dsi.1-dsi1_pll_vdda */ 105 + l2 { 106 + regulator-min-microvolt = <1200000>; 107 + regulator-max-microvolt = <1200000>; 108 + }; 109 + 110 + /* msm_otg-HSUSB_3p3 */ 111 + l3 { 112 + regulator-min-microvolt = <3075000>; 113 + regulator-max-microvolt = <3075000>; 114 + bias-pull-down; 115 + }; 116 + 117 + /* msm_otg-HSUSB_1p8 */ 118 + l4 { 119 + regulator-min-microvolt = <1800000>; 120 + regulator-max-microvolt = <1800000>; 121 + bias-pull-down; 122 + }; 123 + 124 + /* msm_sdcc.1-sdc_vdd */ 125 + l5 { 126 + regulator-min-microvolt = <2950000>; 127 + regulator-max-microvolt = <2950000>; 128 + regulator-always-on; 129 + bias-pull-down; 130 + }; 131 + 132 + l6 { 133 + regulator-min-microvolt = <2950000>; 134 + regulator-max-microvolt = <2950000>; 135 + }; 136 + 137 + /* mipi_dsi.1-dsi1_avdd */ 138 + l11 { 139 + regulator-min-microvolt = <3000000>; 140 + regulator-max-microvolt = <3000000>; 141 + bias-pull-down; 142 + }; 143 + 144 + /* pwm_power for backlight */ 145 + l17 { 146 + regulator-min-microvolt = <3000000>; 147 + regulator-max-microvolt = <3600000>; 148 + bias-pull-down; 149 + }; 150 + 151 + /* camera, qdsp6 */ 152 + l23 { 153 + regulator-min-microvolt = <1800000>; 154 + regulator-max-microvolt = <1800000>; 155 + bias-pull-down; 156 + }; 157 + 158 + /* 159 + * tabla2x-slim-CDC_VDDA_A_1P2V 160 + * tabla2x-slim-VDDD_CDC_D 161 + */ 162 + l25 { 163 + regulator-min-microvolt = <1250000>; 164 + regulator-max-microvolt = <1250000>; 165 + bias-pull-down; 166 + }; 167 + 168 + lvs1 { 169 + bias-pull-down; 170 + }; 171 + 172 + lvs4 { 173 + bias-pull-down; 174 + }; 175 + 176 + lvs5 { 177 + bias-pull-down; 178 + }; 179 + 180 + lvs6 { 181 + bias-pull-down; 182 + }; 183 + /* 184 + * mipi_dsi.1-dsi1_vddio 185 + * pil_riva-pll_vdd 186 + */ 187 + lvs7 { 188 + bias-pull-down; 189 + }; 190 + }; 191 + }; 192 + 193 + gsbi@16200000 { 194 + status = "okay"; 195 + qcom,mode = <GSBI_PROT_I2C>; 196 + i2c@16280000 { 197 + status = "okay"; 198 + clock-frequency = <200000>; 199 + pinctrl-0 = <&i2c3_pins>; 200 + pinctrl-names = "default"; 201 + 202 + trackpad@10 { 203 + compatible = "elan,ekth3500"; 204 + reg = <0x10>; 205 + interrupt-parent = <&tlmm_pinmux>; 206 + interrupts = <6 IRQ_TYPE_EDGE_FALLING>; 207 + }; 208 + }; 209 + }; 210 + 211 + 212 + gsbi@12440000 { 213 + status = "okay"; 214 + qcom,mode = <GSBI_PROT_I2C>; 215 + 216 + i2c@12460000 { 217 + status = "okay"; 218 + clock-frequency = <200000>; 219 + pinctrl-0 = <&i2c1_pins>; 220 + pinctrl-names = "default"; 221 + 222 + eeprom@52 { 223 + compatible = "atmel,24c128"; 224 + reg = <0x52>; 225 + pagesize = <32>; 226 + }; 227 + }; 228 + }; 229 + 230 + gsbi@16500000 { 231 + status = "ok"; 232 + qcom,mode = <GSBI_PROT_I2C_UART>; 233 + 234 + serial@16540000 { 235 + status = "ok"; 236 + 237 + pinctrl-names = "default"; 238 + pinctrl-0 = <&gsbi6_uart_4pins>; 239 + }; 240 + }; 241 + 242 + gsbi@16600000 { 243 + status = "ok"; 244 + qcom,mode = <GSBI_PROT_I2C_UART>; 245 + serial@16640000 { 246 + status = "ok"; 247 + }; 248 + }; 249 + 250 + /* OTG */ 251 + phy@12500000 { 252 + status = "okay"; 253 + vddcx-supply = <&pm8921_s3>; 254 + v3p3-supply = <&pm8921_l3>; 255 + v1p8-supply = <&pm8921_l4>; 256 + }; 257 + 258 + gadget@12500000 { 259 + status = "okay"; 260 + }; 261 + 262 + /* OTG */ 263 + usb@12500000 { 264 + status = "okay"; 265 + }; 266 + 267 + amba { 268 + /* eMMC */ 269 + sdcc@12400000 { 270 + status = "okay"; 271 + vmmc-supply = <&pm8921_l5>; 272 + vqmmc-supply = <&pm8921_s4>; 273 + }; 274 + }; 275 + }; 276 + };