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

ARM: dts: rockchip: add the kylin board for rk3036

This patchset is the initiation version to try work
for kylin board.

Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>

authored by

Caesar Wang and committed by
Heiko Stuebner
94cf32b9 187d7967

+305
+4
Documentation/devicetree/bindings/arm/rockchip.txt
··· 1 1 Rockchip platforms device tree bindings 2 2 --------------------------------------- 3 3 4 + - Kylin RK3036 board: 5 + Required root node properties: 6 + - compatible = "rockchip,kylin-rk3036", "rockchip,rk3036"; 7 + 4 8 - MarsBoard RK3066 board: 5 9 Required root node properties: 6 10 - compatible = "haoyu,marsboard-rk3066", "rockchip,rk3066a";
+1
arch/arm/boot/dts/Makefile
··· 513 513 arm-realview-pb1176.dtb 514 514 dtb-$(CONFIG_ARCH_ROCKCHIP) += \ 515 515 rk3036-evb.dtb \ 516 + rk3036-kylin.dtb \ 516 517 rk3066a-bqcurie2.dtb \ 517 518 rk3066a-marsboard.dtb \ 518 519 rk3066a-rayeager.dtb \
+300
arch/arm/boot/dts/rk3036-kylin.dts
··· 1 + /* 2 + * This file is dual-licensed: you can use it either under the terms 3 + * of the GPL or the X11 license, at your option. Note that this dual 4 + * licensing only applies to this file, and not this project as a 5 + * whole. 6 + * 7 + * a) This file is free software; you can redistribute it and/or 8 + * modify it under the terms of the GNU General Public License as 9 + * published by the Free Software Foundation; either version 2 of the 10 + * License, or (at your option) any later version. 11 + * 12 + * This file is distributed in the hope that it will be useful, 13 + * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 + * GNU General Public License for more details. 16 + * 17 + * Or, alternatively, 18 + * 19 + * b) Permission is hereby granted, free of charge, to any person 20 + * obtaining a copy of this software and associated documentation 21 + * files (the "Software"), to deal in the Software without 22 + * restriction, including without limitation the rights to use, 23 + * copy, modify, merge, publish, distribute, sublicense, and/or 24 + * sell copies of the Software, and to permit persons to whom the 25 + * Software is furnished to do so, subject to the following 26 + * conditions: 27 + * 28 + * The above copyright notice and this permission notice shall be 29 + * included in all copies or substantial portions of the Software. 30 + * 31 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 32 + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 33 + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 34 + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 35 + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 36 + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 37 + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 38 + * OTHER DEALINGS IN THE SOFTWARE. 39 + */ 40 + 41 + /dts-v1/; 42 + 43 + #include "rk3036.dtsi" 44 + 45 + / { 46 + model = "Rockchip RK3036 KylinBoard"; 47 + compatible = "rockchip,rk3036-kylin", "rockchip,rk3036"; 48 + 49 + vcc_sys: vsys-regulator { 50 + compatible = "regulator-fixed"; 51 + regulator-name = "vcc_sys"; 52 + regulator-min-microvolt = <5000000>; 53 + regulator-max-microvolt = <5000000>; 54 + regulator-always-on; 55 + regulator-boot-on; 56 + }; 57 + }; 58 + 59 + &acodec { 60 + status = "okay"; 61 + }; 62 + 63 + &emmc { 64 + status = "okay"; 65 + }; 66 + 67 + &i2c1 { 68 + clock-frequency = <400000>; 69 + 70 + status = "okay"; 71 + 72 + rk808: pmic@1b { 73 + compatible = "rockchip,rk808"; 74 + reg = <0x1b>; 75 + interrupt-parent = <&gpio2>; 76 + interrupts = <2 IRQ_TYPE_LEVEL_LOW>; 77 + pinctrl-names = "default"; 78 + pinctrl-0 = <&pmic_int &global_pwroff>; 79 + rockchip,system-power-controller; 80 + wakeup-source; 81 + #clock-cells = <1>; 82 + clock-output-names = "xin32k", "rk808-clkout2"; 83 + 84 + vcc1-supply = <&vcc_sys>; 85 + vcc2-supply = <&vcc_sys>; 86 + vcc3-supply = <&vcc_sys>; 87 + vcc4-supply = <&vcc_sys>; 88 + vcc6-supply = <&vcc_sys>; 89 + vcc7-supply = <&vcc_sys>; 90 + vcc8-supply = <&vcc_18>; 91 + vcc9-supply = <&vcc_io>; 92 + vcc10-supply = <&vcc_io>; 93 + vcc11-supply = <&vcc_sys>; 94 + vcc12-supply = <&vcc_io>; 95 + vddio-supply = <&vccio_pmu>; 96 + 97 + regulators { 98 + vdd_cpu: DCDC_REG1 { 99 + regulator-always-on; 100 + regulator-boot-on; 101 + regulator-min-microvolt = <750000>; 102 + regulator-max-microvolt = <1350000>; 103 + regulator-name = "vdd_arm"; 104 + regulator-state-mem { 105 + regulator-off-in-suspend; 106 + }; 107 + }; 108 + 109 + vdd_gpu: DCDC_REG2 { 110 + regulator-always-on; 111 + regulator-boot-on; 112 + regulator-min-microvolt = <850000>; 113 + regulator-max-microvolt = <1250000>; 114 + regulator-name = "vdd_gpu"; 115 + regulator-state-mem { 116 + regulator-on-in-suspend; 117 + regulator-suspend-microvolt = <1000000>; 118 + }; 119 + }; 120 + 121 + vcc_ddr: DCDC_REG3 { 122 + regulator-always-on; 123 + regulator-boot-on; 124 + regulator-name = "vcc_ddr"; 125 + regulator-state-mem { 126 + regulator-on-in-suspend; 127 + }; 128 + }; 129 + 130 + vcc_io: DCDC_REG4 { 131 + regulator-always-on; 132 + regulator-boot-on; 133 + regulator-min-microvolt = <3300000>; 134 + regulator-max-microvolt = <3300000>; 135 + regulator-name = "vcc_io"; 136 + regulator-state-mem { 137 + regulator-on-in-suspend; 138 + regulator-suspend-microvolt = <3300000>; 139 + }; 140 + }; 141 + 142 + vccio_pmu: LDO_REG1 { 143 + regulator-always-on; 144 + regulator-boot-on; 145 + regulator-min-microvolt = <3300000>; 146 + regulator-max-microvolt = <3300000>; 147 + regulator-name = "vccio_pmu"; 148 + regulator-state-mem { 149 + regulator-on-in-suspend; 150 + regulator-suspend-microvolt = <3300000>; 151 + }; 152 + }; 153 + 154 + vcc_tp: LDO_REG2 { 155 + regulator-always-on; 156 + regulator-boot-on; 157 + regulator-min-microvolt = <3300000>; 158 + regulator-max-microvolt = <3300000>; 159 + regulator-name = "vcc_tp"; 160 + regulator-state-mem { 161 + regulator-off-in-suspend; 162 + }; 163 + }; 164 + 165 + vdd_10: LDO_REG3 { 166 + regulator-always-on; 167 + regulator-boot-on; 168 + regulator-min-microvolt = <1000000>; 169 + regulator-max-microvolt = <1000000>; 170 + regulator-name = "vdd_10"; 171 + regulator-state-mem { 172 + regulator-on-in-suspend; 173 + regulator-suspend-microvolt = <1000000>; 174 + }; 175 + }; 176 + 177 + vcc18_lcd: LDO_REG4 { 178 + regulator-always-on; 179 + regulator-boot-on; 180 + regulator-min-microvolt = <1800000>; 181 + regulator-max-microvolt = <1800000>; 182 + regulator-name = "vcc18_lcd"; 183 + regulator-state-mem { 184 + regulator-on-in-suspend; 185 + regulator-suspend-microvolt = <1800000>; 186 + }; 187 + }; 188 + 189 + vccio_sd: LDO_REG5 { 190 + regulator-always-on; 191 + regulator-boot-on; 192 + regulator-min-microvolt = <1800000>; 193 + regulator-max-microvolt = <3300000>; 194 + regulator-name = "vccio_sd"; 195 + regulator-state-mem { 196 + regulator-on-in-suspend; 197 + regulator-suspend-microvolt = <3300000>; 198 + }; 199 + }; 200 + 201 + vout5: LDO_REG6 { 202 + regulator-always-on; 203 + regulator-boot-on; 204 + regulator-min-microvolt = <1800000>; 205 + regulator-max-microvolt = <2500000>; 206 + regulator-name = "vout5"; 207 + regulator-state-mem { 208 + regulator-on-in-suspend; 209 + regulator-suspend-microvolt = <1800000>; 210 + }; 211 + }; 212 + 213 + vcc_18: LDO_REG7 { 214 + regulator-always-on; 215 + regulator-boot-on; 216 + regulator-min-microvolt = <1800000>; 217 + regulator-max-microvolt = <1800000>; 218 + regulator-name = "vcc_18"; 219 + regulator-state-mem { 220 + regulator-on-in-suspend; 221 + regulator-suspend-microvolt = <1800000>; 222 + }; 223 + }; 224 + 225 + vcca_codec: LDO_REG8 { 226 + regulator-always-on; 227 + regulator-boot-on; 228 + regulator-min-microvolt = <1800000>; 229 + regulator-max-microvolt = <1800000>; 230 + regulator-name = "vcca_codec"; 231 + regulator-state-mem { 232 + regulator-on-in-suspend; 233 + regulator-suspend-microvolt = <1800000>; 234 + }; 235 + }; 236 + 237 + vcc_wl: SWITCH_REG1 { 238 + regulator-always-on; 239 + regulator-boot-on; 240 + regulator-name = "vcc_wl"; 241 + regulator-state-mem { 242 + regulator-on-in-suspend; 243 + }; 244 + }; 245 + 246 + vcc_lcd: SWITCH_REG2 { 247 + regulator-always-on; 248 + regulator-boot-on; 249 + regulator-name = "vcc_lcd"; 250 + regulator-state-mem { 251 + regulator-on-in-suspend; 252 + }; 253 + }; 254 + }; 255 + }; 256 + }; 257 + 258 + &i2c2 { 259 + status = "okay"; 260 + }; 261 + 262 + &sdio { 263 + status = "okay"; 264 + 265 + broken-cd; 266 + bus-width = <4>; 267 + cap-sdio-irq; 268 + default-sample-phase = <90>; 269 + keep-power-in-suspend; 270 + non-removable; 271 + num-slots = <1>; 272 + pinctrl-names = "default"; 273 + pinctrl-0 = <&sdio_clk &sdio_cmd &sdio_bus4>; 274 + }; 275 + 276 + &uart2 { 277 + status = "okay"; 278 + }; 279 + 280 + &usb_host { 281 + status = "okay"; 282 + }; 283 + 284 + &usb_otg { 285 + status = "okay"; 286 + }; 287 + 288 + &pinctrl { 289 + pmic { 290 + pmic_int: pmic-int { 291 + rockchip,pins = <2 2 RK_FUNC_GPIO &pcfg_pull_default>; 292 + }; 293 + }; 294 + 295 + sleep { 296 + global_pwroff: global-pwroff { 297 + rockchip,pins = <2 7 RK_FUNC_1 &pcfg_pull_none>; 298 + }; 299 + }; 300 + };