1/* 2 * Copyright (c) 2013 MundoReader S.L. 3 * Author: Heiko Stuebner <heiko@sntech.de> 4 * 5 * This file is dual-licensed: you can use it either under the terms 6 * of the GPL or the X11 license, at your option. Note that this dual 7 * licensing only applies to this file, and not this project as a 8 * whole. 9 * 10 * a) This file is free software; you can redistribute it and/or 11 * modify it under the terms of the GNU General Public License as 12 * published by the Free Software Foundation; either version 2 of the 13 * License, or (at your option) any later version. 14 * 15 * This file is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU General Public License for more details. 19 * 20 * Or, alternatively, 21 * 22 * b) Permission is hereby granted, free of charge, to any person 23 * obtaining a copy of this software and associated documentation 24 * files (the "Software"), to deal in the Software without 25 * restriction, including without limitation the rights to use, 26 * copy, modify, merge, publish, distribute, sublicense, and/or 27 * sell copies of the Software, and to permit persons to whom the 28 * Software is furnished to do so, subject to the following 29 * conditions: 30 * 31 * The above copyright notice and this permission notice shall be 32 * included in all copies or substantial portions of the Software. 33 * 34 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 35 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 36 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 37 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 38 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 39 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 40 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 41 * OTHER DEALINGS IN THE SOFTWARE. 42 */ 43 44/dts-v1/; 45#include "rk3066a.dtsi" 46 47/ { 48 model = "bq Curie 2"; 49 compatible = "mundoreader,bq-curie2", "rockchip,rk3066a"; 50 51 memory { 52 device_type = "memory"; 53 reg = <0x60000000 0x40000000>; 54 }; 55 56 vcc_sd0: fixed-regulator { 57 compatible = "regulator-fixed"; 58 regulator-name = "sdmmc-supply"; 59 regulator-min-microvolt = <3000000>; 60 regulator-max-microvolt = <3000000>; 61 gpio = <&gpio3 7 GPIO_ACTIVE_LOW>; 62 startup-delay-us = <100000>; 63 vin-supply = <&vcc_io>; 64 }; 65 66 gpio-keys { 67 compatible = "gpio-keys"; 68 #address-cells = <1>; 69 #size-cells = <0>; 70 autorepeat; 71 72 button@0 { 73 gpios = <&gpio6 2 GPIO_ACTIVE_LOW>; /* GPIO6_A2 */ 74 linux,code = <116>; 75 label = "GPIO Key Power"; 76 linux,input-type = <1>; 77 gpio-key,wakeup = <1>; 78 debounce-interval = <100>; 79 }; 80 button@1 { 81 gpios = <&gpio4 21 GPIO_ACTIVE_LOW>; /* GPIO4_C5 */ 82 linux,code = <104>; 83 label = "GPIO Key Vol-"; 84 linux,input-type = <1>; 85 gpio-key,wakeup = <0>; 86 debounce-interval = <100>; 87 }; 88 /* VOL+ comes somehow thru the ADC */ 89 }; 90}; 91 92&cpu0 { 93 cpu0-supply = <&vdd_arm>; 94}; 95 96&i2c1 { 97 status = "okay"; 98 clock-frequency = <400000>; 99 100 tps: tps@2d { 101 reg = <0x2d>; 102 103 interrupt-parent = <&gpio6>; 104 interrupts = <6 IRQ_TYPE_LEVEL_LOW>; 105 106 vcc5-supply = <&vcc_io>; 107 vcc6-supply = <&vcc_io>; 108 109 regulators { 110 vcc_rtc: regulator@0 { 111 regulator-name = "vcc_rtc"; 112 regulator-always-on; 113 }; 114 115 vcc_io: regulator@1 { 116 regulator-name = "vcc_io"; 117 regulator-always-on; 118 }; 119 120 vdd_arm: regulator@2 { 121 regulator-name = "vdd_arm"; 122 regulator-min-microvolt = <600000>; 123 regulator-max-microvolt = <1500000>; 124 regulator-boot-on; 125 regulator-always-on; 126 }; 127 128 vcc_ddr: regulator@3 { 129 regulator-name = "vcc_ddr"; 130 regulator-min-microvolt = <600000>; 131 regulator-max-microvolt = <1500000>; 132 regulator-boot-on; 133 regulator-always-on; 134 }; 135 136 vcc18_cif: regulator@5 { 137 regulator-name = "vcc18_cif"; 138 regulator-always-on; 139 }; 140 141 vdd_11: regulator@6 { 142 regulator-name = "vdd_11"; 143 regulator-always-on; 144 }; 145 146 vcc_25: regulator@7 { 147 regulator-name = "vcc_25"; 148 regulator-always-on; 149 }; 150 151 vcc_18: regulator@8 { 152 regulator-name = "vcc_18"; 153 regulator-always-on; 154 }; 155 156 vcc25_hdmi: regulator@9 { 157 regulator-name = "vcc25_hdmi"; 158 regulator-always-on; 159 }; 160 161 vcca_33: regulator@10 { 162 regulator-name = "vcca_33"; 163 regulator-always-on; 164 }; 165 166 vcc_tp: regulator@11 { 167 regulator-name = "vcc_tp"; 168 regulator-always-on; 169 }; 170 171 vcc28_cif: regulator@12 { 172 regulator-name = "vcc28_cif"; 173 regulator-always-on; 174 }; 175 }; 176 }; 177}; 178 179/* must be included after &tps gets defined */ 180#include "tps65910.dtsi" 181 182&mmc0 { /* sdmmc */ 183 num-slots = <1>; 184 status = "okay"; 185 pinctrl-names = "default"; 186 pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>; 187 vmmc-supply = <&vcc_sd0>; 188 bus-width = <4>; 189 cap-mmc-highspeed; 190 cap-sd-highspeed; 191 disable-wp; 192}; 193 194&mmc1 { /* wifi */ 195 num-slots = <1>; 196 status = "okay"; 197 non-removable; 198 199 pinctrl-names = "default"; 200 pinctrl-0 = <&sd1_clk &sd1_cmd &sd1_bus4>; 201 202 bus-width = <4>; 203 disable-wp; 204}; 205 206&uart0 { 207 status = "okay"; 208}; 209 210&uart1 { 211 status = "okay"; 212}; 213 214&uart2 { 215 status = "okay"; 216}; 217 218&uart3 { 219 status = "okay"; 220}; 221 222&wdt { 223 status = "okay"; 224}; 225