1/* 2 * Samsung's Exynos4210 based Origen board device tree source 3 * 4 * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. 5 * http://www.samsung.com 6 * Copyright (c) 2010-2011 Linaro Ltd. 7 * www.linaro.org 8 * 9 * Device tree source file for Insignal's Origen board which is based on 10 * Samsung's Exynos4210 SoC. 11 * 12 * This program is free software; you can redistribute it and/or modify 13 * it under the terms of the GNU General Public License version 2 as 14 * published by the Free Software Foundation. 15*/ 16 17/dts-v1/; 18#include "exynos4210.dtsi" 19#include <dt-bindings/gpio/gpio.h> 20#include <dt-bindings/input/input.h> 21 22/ { 23 model = "Insignal Origen evaluation board based on Exynos4210"; 24 compatible = "insignal,origen", "samsung,exynos4210", "samsung,exynos4"; 25 26 memory { 27 reg = <0x40000000 0x10000000 28 0x50000000 0x10000000 29 0x60000000 0x10000000 30 0x70000000 0x10000000>; 31 }; 32 33 chosen { 34 bootargs ="root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M console=ttySAC2,115200 init=/linuxrc"; 35 stdout-path = &serial_2; 36 }; 37 38 regulators { 39 compatible = "simple-bus"; 40 #address-cells = <1>; 41 #size-cells = <0>; 42 43 mmc_reg: regulator@0 { 44 compatible = "regulator-fixed"; 45 reg = <0>; 46 regulator-name = "VMEM_VDD_2.8V"; 47 regulator-min-microvolt = <2800000>; 48 regulator-max-microvolt = <2800000>; 49 gpio = <&gpx1 1 GPIO_ACTIVE_HIGH>; 50 enable-active-high; 51 }; 52 }; 53 54 gpio_keys { 55 compatible = "gpio-keys"; 56 #address-cells = <1>; 57 #size-cells = <0>; 58 59 up { 60 label = "Up"; 61 gpios = <&gpx2 0 GPIO_ACTIVE_LOW>; 62 linux,code = <KEY_UP>; 63 gpio-key,wakeup; 64 }; 65 66 down { 67 label = "Down"; 68 gpios = <&gpx2 1 GPIO_ACTIVE_LOW>; 69 linux,code = <KEY_DOWN>; 70 gpio-key,wakeup; 71 }; 72 73 back { 74 label = "Back"; 75 gpios = <&gpx1 7 GPIO_ACTIVE_LOW>; 76 linux,code = <KEY_BACK>; 77 gpio-key,wakeup; 78 }; 79 80 home { 81 label = "Home"; 82 gpios = <&gpx1 6 GPIO_ACTIVE_LOW>; 83 linux,code = <KEY_HOME>; 84 gpio-key,wakeup; 85 }; 86 87 menu { 88 label = "Menu"; 89 gpios = <&gpx1 5 GPIO_ACTIVE_LOW>; 90 linux,code = <KEY_MENU>; 91 gpio-key,wakeup; 92 }; 93 }; 94 95 leds { 96 compatible = "gpio-leds"; 97 status { 98 gpios = <&gpx1 3 GPIO_ACTIVE_LOW>; 99 linux,default-trigger = "heartbeat"; 100 }; 101 }; 102 103 fixed-rate-clocks { 104 xxti { 105 compatible = "samsung,clock-xxti"; 106 clock-frequency = <0>; 107 }; 108 109 xusbxti { 110 compatible = "samsung,clock-xusbxti"; 111 clock-frequency = <24000000>; 112 }; 113 }; 114 115 display-timings { 116 native-mode = <&timing0>; 117 timing0: timing { 118 clock-frequency = <47500000>; 119 hactive = <1024>; 120 vactive = <600>; 121 hfront-porch = <64>; 122 hback-porch = <16>; 123 hsync-len = <48>; 124 vback-porch = <64>; 125 vfront-porch = <16>; 126 vsync-len = <3>; 127 }; 128 }; 129}; 130 131&cpu0 { 132 cpu0-supply = <&buck1_reg>; 133}; 134 135&fimd { 136 pinctrl-0 = <&lcd_en &lcd_clk &lcd_data24 &pwm0_out>; 137 pinctrl-names = "default"; 138 status = "okay"; 139}; 140 141&i2c_0 { 142 status = "okay"; 143 samsung,i2c-sda-delay = <100>; 144 samsung,i2c-max-bus-freq = <20000>; 145 pinctrl-0 = <&i2c0_bus>; 146 pinctrl-names = "default"; 147 148 max8997_pmic@66 { 149 compatible = "maxim,max8997-pmic"; 150 reg = <0x66>; 151 interrupt-parent = <&gpx0>; 152 interrupts = <4 0>, <3 0>; 153 154 max8997,pmic-buck1-dvs-voltage = <1350000>; 155 max8997,pmic-buck2-dvs-voltage = <1100000>; 156 max8997,pmic-buck5-dvs-voltage = <1200000>; 157 158 regulators { 159 ldo1_reg: LDO1 { 160 regulator-name = "VDD_ABB_3.3V"; 161 regulator-min-microvolt = <3300000>; 162 regulator-max-microvolt = <3300000>; 163 }; 164 165 ldo2_reg: LDO2 { 166 regulator-name = "VDD_ALIVE_1.1V"; 167 regulator-min-microvolt = <1100000>; 168 regulator-max-microvolt = <1100000>; 169 regulator-always-on; 170 }; 171 172 ldo3_reg: LDO3 { 173 regulator-name = "VMIPI_1.1V"; 174 regulator-min-microvolt = <1100000>; 175 regulator-max-microvolt = <1100000>; 176 }; 177 178 ldo4_reg: LDO4 { 179 regulator-name = "VDD_RTC_1.8V"; 180 regulator-min-microvolt = <1800000>; 181 regulator-max-microvolt = <1800000>; 182 regulator-always-on; 183 }; 184 185 ldo6_reg: LDO6 { 186 regulator-name = "VMIPI_1.8V"; 187 regulator-min-microvolt = <1800000>; 188 regulator-max-microvolt = <1800000>; 189 regulator-always-on; 190 }; 191 192 ldo7_reg: LDO7 { 193 regulator-name = "VDD_AUD_1.8V"; 194 regulator-min-microvolt = <1800000>; 195 regulator-max-microvolt = <1800000>; 196 }; 197 198 ldo8_reg: LDO8 { 199 regulator-name = "VADC_3.3V"; 200 regulator-min-microvolt = <3300000>; 201 regulator-max-microvolt = <3300000>; 202 }; 203 204 ldo9_reg: LDO9 { 205 regulator-name = "DVDD_SWB_2.8V"; 206 regulator-min-microvolt = <2800000>; 207 regulator-max-microvolt = <2800000>; 208 regulator-always-on; 209 }; 210 211 ldo10_reg: LDO10 { 212 regulator-name = "VDD_PLL_1.1V"; 213 regulator-min-microvolt = <1100000>; 214 regulator-max-microvolt = <1100000>; 215 regulator-always-on; 216 }; 217 218 ldo11_reg: LDO11 { 219 regulator-name = "VDD_AUD_3V"; 220 regulator-min-microvolt = <3000000>; 221 regulator-max-microvolt = <3000000>; 222 }; 223 224 ldo14_reg: LDO14 { 225 regulator-name = "AVDD18_SWB_1.8V"; 226 regulator-min-microvolt = <1800000>; 227 regulator-max-microvolt = <1800000>; 228 regulator-always-on; 229 }; 230 231 ldo17_reg: LDO17 { 232 regulator-name = "VDD_SWB_3.3V"; 233 regulator-min-microvolt = <3300000>; 234 regulator-max-microvolt = <3300000>; 235 regulator-always-on; 236 }; 237 238 ldo21_reg: LDO21 { 239 regulator-name = "VDD_MIF_1.2V"; 240 regulator-min-microvolt = <1200000>; 241 regulator-max-microvolt = <1200000>; 242 regulator-always-on; 243 }; 244 245 buck1_reg: BUCK1 { 246 /* 247 * HACK: The real name is VDD_ARM_1.2V, 248 * but exynos-cpufreq does not support 249 * DT-based regulator lookup yet. 250 */ 251 regulator-name = "vdd_arm"; 252 regulator-min-microvolt = <950000>; 253 regulator-max-microvolt = <1350000>; 254 regulator-always-on; 255 regulator-boot-on; 256 }; 257 258 buck2_reg: BUCK2 { 259 regulator-name = "VDD_INT_1.1V"; 260 regulator-min-microvolt = <900000>; 261 regulator-max-microvolt = <1100000>; 262 regulator-always-on; 263 regulator-boot-on; 264 }; 265 266 buck3_reg: BUCK3 { 267 regulator-name = "VDD_G3D_1.1V"; 268 regulator-min-microvolt = <900000>; 269 regulator-max-microvolt = <1100000>; 270 }; 271 272 buck5_reg: BUCK5 { 273 regulator-name = "VDDQ_M1M2_1.2V"; 274 regulator-min-microvolt = <1200000>; 275 regulator-max-microvolt = <1200000>; 276 regulator-always-on; 277 }; 278 279 buck7_reg: BUCK7 { 280 regulator-name = "VDD_LCD_3.3V"; 281 regulator-min-microvolt = <3300000>; 282 regulator-max-microvolt = <3300000>; 283 regulator-boot-on; 284 regulator-always-on; 285 }; 286 }; 287 }; 288}; 289 290&mfc { 291 samsung,mfc-r = <0x43000000 0x800000>; 292 samsung,mfc-l = <0x51000000 0x800000>; 293 status = "okay"; 294}; 295 296&sdhci_0 { 297 bus-width = <4>; 298 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_cd>; 299 pinctrl-names = "default"; 300 vmmc-supply = <&mmc_reg>; 301 status = "okay"; 302}; 303 304&sdhci_2 { 305 bus-width = <4>; 306 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sd2_cd>; 307 pinctrl-names = "default"; 308 vmmc-supply = <&mmc_reg>; 309 status = "okay"; 310}; 311 312&serial_0 { 313 status = "okay"; 314}; 315 316&serial_1 { 317 status = "okay"; 318}; 319 320&serial_2 { 321 status = "okay"; 322}; 323 324&serial_3 { 325 status = "okay"; 326}; 327 328&rtc { 329 status = "okay"; 330}; 331 332&tmu { 333 status = "okay"; 334}; 335 336&watchdog { 337 status = "okay"; 338}; 339