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