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 <dt-bindings/input/input.h> 46#include "rk3066a.dtsi" 47 48/ { 49 model = "bq Curie 2"; 50 compatible = "mundoreader,bq-curie2", "rockchip,rk3066a"; 51 52 memory@60000000 { 53 device_type = "memory"; 54 reg = <0x60000000 0x40000000>; 55 }; 56 57 vdd_log: vdd-log { 58 compatible = "pwm-regulator"; 59 pwms = <&pwm3 0 1000>; 60 regulator-name = "vdd_log"; 61 regulator-min-microvolt = <1200000>; 62 regulator-max-microvolt = <1200000>; 63 regulator-always-on; 64 voltage-table = <1000000 100>, 65 <1200000 42>; 66 status = "okay"; 67 }; 68 69 vcc_sd0: fixed-regulator { 70 compatible = "regulator-fixed"; 71 regulator-name = "sdmmc-supply"; 72 regulator-min-microvolt = <3000000>; 73 regulator-max-microvolt = <3000000>; 74 gpio = <&gpio3 RK_PA7 GPIO_ACTIVE_LOW>; 75 startup-delay-us = <100000>; 76 vin-supply = <&vcc_io>; 77 }; 78 79 gpio-keys { 80 compatible = "gpio-keys"; 81 autorepeat; 82 83 power { 84 gpios = <&gpio6 RK_PA2 GPIO_ACTIVE_LOW>; /* GPIO6_A2 */ 85 linux,code = <KEY_POWER>; 86 label = "GPIO Key Power"; 87 linux,input-type = <1>; 88 wakeup-source; 89 debounce-interval = <100>; 90 }; 91 volume-down { 92 gpios = <&gpio4 RK_PC5 GPIO_ACTIVE_LOW>; /* GPIO4_C5 */ 93 linux,code = <KEY_VOLUMEDOWN>; 94 label = "GPIO Key Vol-"; 95 linux,input-type = <1>; 96 debounce-interval = <100>; 97 }; 98 /* VOL+ comes somehow thru the ADC */ 99 }; 100}; 101 102&cpu0 { 103 cpu0-supply = <&vdd_arm>; 104}; 105 106&i2c1 { 107 status = "okay"; 108 clock-frequency = <400000>; 109 110 tps: tps@2d { 111 reg = <0x2d>; 112 113 interrupt-parent = <&gpio6>; 114 interrupts = <RK_PA6 IRQ_TYPE_LEVEL_LOW>; 115 116 vcc5-supply = <&vcc_io>; 117 vcc6-supply = <&vcc_io>; 118 119 regulators { 120 vcc_rtc: regulator@0 { 121 regulator-name = "vcc_rtc"; 122 regulator-always-on; 123 }; 124 125 vcc_io: regulator@1 { 126 regulator-name = "vcc_io"; 127 regulator-always-on; 128 }; 129 130 vdd_arm: regulator@2 { 131 regulator-name = "vdd_arm"; 132 regulator-min-microvolt = <600000>; 133 regulator-max-microvolt = <1500000>; 134 regulator-boot-on; 135 regulator-always-on; 136 }; 137 138 vcc_ddr: regulator@3 { 139 regulator-name = "vcc_ddr"; 140 regulator-min-microvolt = <600000>; 141 regulator-max-microvolt = <1500000>; 142 regulator-boot-on; 143 regulator-always-on; 144 }; 145 146 vcc18_cif: regulator@5 { 147 regulator-name = "vcc18_cif"; 148 regulator-always-on; 149 }; 150 151 vdd_11: regulator@6 { 152 regulator-name = "vdd_11"; 153 regulator-always-on; 154 }; 155 156 vcc_25: regulator@7 { 157 regulator-name = "vcc_25"; 158 regulator-always-on; 159 }; 160 161 vcc_18: regulator@8 { 162 regulator-name = "vcc_18"; 163 regulator-always-on; 164 }; 165 166 vcc25_hdmi: regulator@9 { 167 regulator-name = "vcc25_hdmi"; 168 regulator-always-on; 169 }; 170 171 vcca_33: regulator@10 { 172 regulator-name = "vcca_33"; 173 regulator-always-on; 174 }; 175 176 vcc_tp: regulator@11 { 177 regulator-name = "vcc_tp"; 178 regulator-always-on; 179 }; 180 181 vcc28_cif: regulator@12 { 182 regulator-name = "vcc28_cif"; 183 regulator-always-on; 184 }; 185 }; 186 }; 187}; 188 189/* must be included after &tps gets defined */ 190#include "tps65910.dtsi" 191 192&mmc0 { /* sdmmc */ 193 status = "okay"; 194 pinctrl-names = "default"; 195 pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>; 196 vmmc-supply = <&vcc_sd0>; 197 bus-width = <4>; 198 cap-mmc-highspeed; 199 cap-sd-highspeed; 200 disable-wp; 201}; 202 203&mmc1 { /* wifi */ 204 status = "okay"; 205 non-removable; 206 207 pinctrl-names = "default"; 208 pinctrl-0 = <&sd1_clk &sd1_cmd &sd1_bus4>; 209 210 bus-width = <4>; 211 disable-wp; 212}; 213 214&pwm3 { 215 status = "okay"; 216}; 217 218&uart0 { 219 status = "okay"; 220}; 221 222&uart1 { 223 status = "okay"; 224}; 225 226&uart2 { 227 status = "okay"; 228}; 229 230&uart3 { 231 status = "okay"; 232}; 233 234&wdt { 235 status = "okay"; 236}; 237