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 console=ttySAC2,115200 init=/linuxrc"; 34 stdout-path = &serial_2; 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&hsotg { 136 vusb_d-supply = <&ldo3_reg>; 137 vusb_a-supply = <&ldo8_reg>; 138 dr_mode = "peripheral"; 139 status = "okay"; 140}; 141 142&i2c_0 { 143 status = "okay"; 144 samsung,i2c-sda-delay = <100>; 145 samsung,i2c-max-bus-freq = <20000>; 146 pinctrl-0 = <&i2c0_bus>; 147 pinctrl-names = "default"; 148 149 max8997_pmic@66 { 150 compatible = "maxim,max8997-pmic"; 151 reg = <0x66>; 152 interrupt-parent = <&gpx0>; 153 interrupts = <4 IRQ_TYPE_NONE>, <3 IRQ_TYPE_NONE>; 154 pinctrl-names = "default"; 155 pinctrl-0 = <&max8997_irq>; 156 157 max8997,pmic-buck1-dvs-voltage = <1350000>; 158 max8997,pmic-buck2-dvs-voltage = <1100000>; 159 max8997,pmic-buck5-dvs-voltage = <1200000>; 160 161 regulators { 162 ldo1_reg: LDO1 { 163 regulator-name = "VDD_ABB_3.3V"; 164 regulator-min-microvolt = <3300000>; 165 regulator-max-microvolt = <3300000>; 166 }; 167 168 ldo2_reg: LDO2 { 169 regulator-name = "VDD_ALIVE_1.1V"; 170 regulator-min-microvolt = <1100000>; 171 regulator-max-microvolt = <1100000>; 172 regulator-always-on; 173 }; 174 175 ldo3_reg: LDO3 { 176 regulator-name = "VMIPI_1.1V"; 177 regulator-min-microvolt = <1100000>; 178 regulator-max-microvolt = <1100000>; 179 }; 180 181 ldo4_reg: LDO4 { 182 regulator-name = "VDD_RTC_1.8V"; 183 regulator-min-microvolt = <1800000>; 184 regulator-max-microvolt = <1800000>; 185 regulator-always-on; 186 }; 187 188 ldo6_reg: LDO6 { 189 regulator-name = "VMIPI_1.8V"; 190 regulator-min-microvolt = <1800000>; 191 regulator-max-microvolt = <1800000>; 192 regulator-always-on; 193 }; 194 195 ldo7_reg: LDO7 { 196 regulator-name = "VDD_AUD_1.8V"; 197 regulator-min-microvolt = <1800000>; 198 regulator-max-microvolt = <1800000>; 199 }; 200 201 ldo8_reg: LDO8 { 202 regulator-name = "VADC_3.3V"; 203 regulator-min-microvolt = <3300000>; 204 regulator-max-microvolt = <3300000>; 205 }; 206 207 ldo9_reg: LDO9 { 208 regulator-name = "DVDD_SWB_2.8V"; 209 regulator-min-microvolt = <2800000>; 210 regulator-max-microvolt = <2800000>; 211 regulator-always-on; 212 }; 213 214 ldo10_reg: LDO10 { 215 regulator-name = "VDD_PLL_1.1V"; 216 regulator-min-microvolt = <1100000>; 217 regulator-max-microvolt = <1100000>; 218 regulator-always-on; 219 }; 220 221 ldo11_reg: LDO11 { 222 regulator-name = "VDD_AUD_3V"; 223 regulator-min-microvolt = <3000000>; 224 regulator-max-microvolt = <3000000>; 225 }; 226 227 ldo14_reg: LDO14 { 228 regulator-name = "AVDD18_SWB_1.8V"; 229 regulator-min-microvolt = <1800000>; 230 regulator-max-microvolt = <1800000>; 231 regulator-always-on; 232 }; 233 234 ldo17_reg: LDO17 { 235 regulator-name = "VDD_SWB_3.3V"; 236 regulator-min-microvolt = <3300000>; 237 regulator-max-microvolt = <3300000>; 238 regulator-always-on; 239 }; 240 241 ldo21_reg: LDO21 { 242 regulator-name = "VDD_MIF_1.2V"; 243 regulator-min-microvolt = <1200000>; 244 regulator-max-microvolt = <1200000>; 245 regulator-always-on; 246 }; 247 248 buck1_reg: BUCK1 { 249 /* 250 * HACK: The real name is VDD_ARM_1.2V, 251 * but exynos-cpufreq does not support 252 * DT-based regulator lookup yet. 253 */ 254 regulator-name = "vdd_arm"; 255 regulator-min-microvolt = <950000>; 256 regulator-max-microvolt = <1350000>; 257 regulator-always-on; 258 regulator-boot-on; 259 }; 260 261 buck2_reg: BUCK2 { 262 regulator-name = "VDD_INT_1.1V"; 263 regulator-min-microvolt = <900000>; 264 regulator-max-microvolt = <1100000>; 265 regulator-always-on; 266 regulator-boot-on; 267 }; 268 269 buck3_reg: BUCK3 { 270 regulator-name = "VDD_G3D_1.1V"; 271 regulator-min-microvolt = <900000>; 272 regulator-max-microvolt = <1100000>; 273 }; 274 275 buck5_reg: BUCK5 { 276 regulator-name = "VDDQ_M1M2_1.2V"; 277 regulator-min-microvolt = <1200000>; 278 regulator-max-microvolt = <1200000>; 279 regulator-always-on; 280 }; 281 282 buck7_reg: BUCK7 { 283 regulator-name = "VDD_LCD_3.3V"; 284 regulator-min-microvolt = <3300000>; 285 regulator-max-microvolt = <3300000>; 286 regulator-boot-on; 287 regulator-always-on; 288 }; 289 }; 290 }; 291}; 292 293&pinctrl_1 { 294 max8997_irq: max8997-irq { 295 samsung,pins = "gpx0-3", "gpx0-4"; 296 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 297 }; 298}; 299 300&sdhci_0 { 301 bus-width = <4>; 302 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_cd>; 303 pinctrl-names = "default"; 304 vmmc-supply = <&mmc_reg>; 305 status = "okay"; 306}; 307 308&sdhci_2 { 309 bus-width = <4>; 310 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sd2_cd>; 311 pinctrl-names = "default"; 312 vmmc-supply = <&mmc_reg>; 313 status = "okay"; 314}; 315 316&serial_0 { 317 status = "okay"; 318}; 319 320&serial_1 { 321 status = "okay"; 322}; 323 324&serial_2 { 325 status = "okay"; 326}; 327 328&serial_3 { 329 status = "okay"; 330}; 331 332&rtc { 333 status = "okay"; 334}; 335 336&tmu { 337 status = "okay"; 338}; 339