1// SPDX-License-Identifier: GPL-2.0-only 2#include "pxa1908.dtsi" 3#include <dt-bindings/gpio/gpio.h> 4#include <dt-bindings/input/linux-event-codes.h> 5 6/ { 7 model = "Samsung Galaxy Core Prime VE LTE"; 8 compatible = "samsung,coreprimevelte", "marvell,pxa1908"; 9 10 aliases { 11 mmc0 = &sdh2; /* eMMC */ 12 mmc1 = &sdh0; /* SD card */ 13 serial0 = &uart0; 14 }; 15 16 chosen { 17 #address-cells = <2>; 18 #size-cells = <2>; 19 ranges; 20 21 stdout-path = "serial0:115200n8"; 22 23 fb0: framebuffer@17177000 { 24 compatible = "simple-framebuffer"; 25 reg = <0 0x17177000 0 (480 * 800 * 4)>; 26 width = <480>; 27 height = <800>; 28 stride = <(480 * 4)>; 29 format = "a8r8g8b8"; 30 }; 31 }; 32 33 /* Bootloader fills this in */ 34 memory@0 { 35 device_type = "memory"; 36 reg = <0 0 0 0>; 37 }; 38 39 reserved-memory { 40 #address-cells = <2>; 41 #size-cells = <2>; 42 ranges; 43 44 framebuffer@17000000 { 45 reg = <0 0x17000000 0 0x1800000>; 46 no-map; 47 }; 48 49 gpu@9000000 { 50 reg = <0 0x9000000 0 0x1000000>; 51 }; 52 53 /* Communications processor, aka modem */ 54 cp@5000000 { 55 reg = <0 0x5000000 0 0x3000000>; 56 }; 57 58 cm3@a000000 { 59 reg = <0 0xa000000 0 0x80000>; 60 }; 61 62 seclog@8000000 { 63 reg = <0 0x8000000 0 0x100000>; 64 }; 65 66 ramoops@8100000 { 67 compatible = "ramoops"; 68 reg = <0 0x8100000 0 0x40000>; 69 record-size = <0x8000>; 70 console-size = <0x20000>; 71 max-reason = <5>; 72 }; 73 }; 74 75 i2c-muic { 76 compatible = "i2c-gpio"; 77 sda-gpios = <&gpio 30 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; 78 scl-gpios = <&gpio 29 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; 79 i2c-gpio,delay-us = <3>; 80 i2c-gpio,timeout-ms = <100>; 81 #address-cells = <1>; 82 #size-cells = <0>; 83 pinctrl-names = "default"; 84 pinctrl-0 = <&i2c_muic_pins>; 85 86 muic: extcon@14 { 87 compatible = "siliconmitus,sm5504-muic"; 88 reg = <0x14>; 89 interrupt-parent = <&gpio>; 90 interrupts = <0 IRQ_TYPE_EDGE_FALLING>; 91 }; 92 }; 93 94 gpio-keys { 95 compatible = "gpio-keys"; 96 pinctrl-names = "default"; 97 pinctrl-0 = <&gpio_keys_pins>; 98 autorepeat; 99 100 key-home { 101 label = "Home"; 102 linux,code = <KEY_HOME>; 103 gpios = <&gpio 50 GPIO_ACTIVE_LOW>; 104 }; 105 106 key-volup { 107 label = "Volume Up"; 108 linux,code = <KEY_VOLUMEUP>; 109 gpios = <&gpio 16 GPIO_ACTIVE_LOW>; 110 }; 111 112 key-voldown { 113 label = "Volume Down"; 114 linux,code = <KEY_VOLUMEDOWN>; 115 gpios = <&gpio 17 GPIO_ACTIVE_LOW>; 116 }; 117 }; 118}; 119 120&smmu { 121 status = "okay"; 122}; 123 124&pmx { 125 pinctrl-single,gpio-range = <&range 55 55 0>, 126 <&range 110 32 0>, 127 <&range 52 1 0>; 128 129 pinctrl-names = "default"; 130 pinctrl-0 = <&board_pins_0 &board_pins_1 &board_pins_2>; 131 132 board_pins_0: board-pins-0 { 133 pinctrl-single,pins = < 134 0x160 0 135 0x164 0 136 0x168 0 137 0x16c 0 138 >; 139 pinctrl-single,drive-strength = <0x1000 0x1800>; 140 pinctrl-single,bias-pullup = <0x8000 0x8000 0 0xc000>; 141 pinctrl-single,bias-pulldown = <0x8000 0x8000 0 0xa000>; 142 pinctrl-single,input-schmitt = <0 0x30>; 143 pinctrl-single,input-schmitt-enable = <0x40 0 0x40 0x40>; 144 pinctrl-single,low-power-mode = <0x288 0x388>; 145 }; 146 147 board_pins_1: board-pins-1 { 148 pinctrl-single,pins = < 149 0x44 1 150 0x48 1 151 0x20 1 152 0x18 1 153 0x14 1 154 0x10 1 155 0xc 1 156 0x8 1 157 0x68 1 158 0x58 0 159 0x54 0 160 0x7c 0 161 0x6c 0 162 0x70 0 163 0x4c 1 164 0x50 1 165 0xac 0 166 0x90 0 167 0x8c 0 168 0x88 0 169 0x84 0 170 0xc8 0 171 0x128 0 172 0x190 0 173 0x194 0 174 0x1a0 0 175 0x114 0 176 0x118 0 177 0x1d8 0 178 0x1e4 0 179 0xe8 0 180 0x100 0 181 0x204 0 182 0x210 0 183 0x218 0 184 >; 185 pinctrl-single,bias-pullup = <0xc000 0xc000 0 0xc000>; 186 pinctrl-single,bias-pulldown = <0x8000 0xa000 0x8000 0xc000>; 187 pinctrl-single,low-power-mode = <0x288 0x388>; 188 }; 189 190 board_pins_2: board-pins-2 { 191 pinctrl-single,pins = < 192 0x260 0 193 0x264 0 194 0x268 0 195 0x26c 0 196 0x270 0 197 0x274 0 198 0x78 0 199 0x74 0 200 0xb0 1 201 >; 202 pinctrl-single,drive-strength = <0x1000 0x1800>; 203 pinctrl-single,bias-pullup = <0 0xc000 0 0xc000>; 204 pinctrl-single,bias-pulldown = <0 0xa000 0 0xa000>; 205 pinctrl-single,input-schmitt = <0 0x30>; 206 pinctrl-single,input-schmitt-enable = <0x40 0 0x40 0x40>; 207 pinctrl-single,low-power-mode = <0 0x388>; 208 }; 209 210 uart0_pins: uart0-pins { 211 pinctrl-single,pins = < 212 0x198 6 213 0x19c 6 214 >; 215 pinctrl-single,drive-strength = <0x1000 0x1800>; 216 pinctrl-single,bias-pullup = <0 0xc000 0 0xc000>; 217 pinctrl-single,bias-pulldown = <0 0xa000 0 0xa000>; 218 pinctrl-single,input-schmitt = <0 0x30>; 219 pinctrl-single,input-schmitt-enable = <0x40 0 0x40 0x40>; 220 pinctrl-single,low-power-mode = <0 0x388>; 221 }; 222 223 gpio_keys_pins: gpio-keys-pins { 224 pinctrl-single,pins = < 225 0x11c 0 226 0x120 0 227 0x1a4 0 228 >; 229 pinctrl-single,drive-strength = <0x1000 0x1800>; 230 pinctrl-single,bias-pullup = <0xc000 0xc000 0 0xc000>; 231 pinctrl-single,bias-pulldown = <0x8000 0xa0000 0x8000 0xa000>; 232 pinctrl-single,input-schmitt = <0 0x30>; 233 pinctrl-single,input-schmitt-enable = <0x40 0 0x40 0x40>; 234 pinctrl-single,low-power-mode = <0 0x388>; 235 }; 236 237 i2c_muic_pins: i2c-muic-pins { 238 pinctrl-single,pins = < 239 0x154 0 240 0x150 0 241 >; 242 pinctrl-single,drive-strength = <0x1000 0x1800>; 243 pinctrl-single,bias-pullup = <0 0xc000 0 0xc000>; 244 pinctrl-single,bias-pulldown = <0 0xa000 0 0xa000>; 245 pinctrl-single,input-schmitt = <0 0x30>; 246 pinctrl-single,input-schmitt-enable = <0x40 0 0x40 0x40>; 247 pinctrl-single,low-power-mode = <0x288 0x388>; 248 }; 249 250 sdh0_pins_0: sdh0-pins-0 { 251 pinctrl-single,pins = < 252 0x108 0 253 >; 254 pinctrl-single,drive-strength = <0x1000 0x1800>; 255 pinctrl-single,bias-pullup = <0xc000 0xc000 0 0xc000>; 256 pinctrl-single,bias-pulldown = <0x8000 0xa000 0x8000 0xa000>; 257 pinctrl-single,input-schmitt = <0 0x30>; 258 pinctrl-single,input-schmitt-enable = <0x40 0 0x40 0x40>; 259 pinctrl-single,low-power-mode = <0 0x388>; 260 }; 261 262 sdh0_pins_1: sdh0-pins-1 { 263 pinctrl-single,pins = < 264 0x94 0 265 0x98 0 266 0x9c 0 267 0xa0 0 268 0xa4 0 269 >; 270 pinctrl-single,drive-strength = <0x800 0x1800>; 271 pinctrl-single,bias-pullup = <0xc000 0xc000 0 0xc000>; 272 pinctrl-single,bias-pulldown = <0x8000 0xa000 0x8000 0xa000>; 273 pinctrl-single,input-schmitt = <0 0x30>; 274 pinctrl-single,input-schmitt-enable = <0x40 0 0x40 0x40>; 275 pinctrl-single,low-power-mode = <0 0x388>; 276 }; 277 278 sdh0_pins_2: sdh0-pins-2 { 279 pinctrl-single,pins = < 280 0xa8 0 281 >; 282 pinctrl-single,drive-strength = <0x1000 0x1800>; 283 pinctrl-single,bias-pullup = <0 0xc000 0 0xc000>; 284 pinctrl-single,bias-pulldown = <0 0xa000 0 0xa000>; 285 pinctrl-single,input-schmitt = <0 0x30>; 286 pinctrl-single,input-schmitt-enable = <0x40 0 0x40 0x40>; 287 pinctrl-single,low-power-mode = <0x208 0x388>; 288 }; 289}; 290 291&uart0 { 292 pinctrl-names = "default"; 293 pinctrl-0 = <&uart0_pins>; 294}; 295 296&twsi0 { 297 status = "okay"; 298}; 299 300&twsi1 { 301 status = "okay"; 302}; 303 304&twsi2 { 305 status = "okay"; 306}; 307 308&twsi3 { 309 status = "okay"; 310}; 311 312&usb { 313 extcon = <&muic>, <&muic>; 314}; 315 316&sdh2 { 317 /* Disabled for now because initialization fails with -ETIMEDOUT. */ 318 status = "disabled"; 319 bus-width = <8>; 320 non-removable; 321 mmc-ddr-1_8v; 322}; 323 324&sdh0 { 325 pinctrl-names = "default"; 326 pinctrl-0 = <&sdh0_pins_0 &sdh0_pins_1 &sdh0_pins_2>; 327 cd-gpios = <&gpio 11 0>; 328 cd-inverted; 329 bus-width = <4>; 330 wp-inverted; 331}; 332