| .. | .. |
|---|
| 19 | 19 | */ |
|---|
| 20 | 20 | |
|---|
| 21 | 21 | / { |
|---|
| 22 | | - smb@4000000 { |
|---|
| 22 | + bus@40000000 { |
|---|
| 23 | 23 | motherboard { |
|---|
| 24 | 24 | model = "V2M-P1"; |
|---|
| 25 | 25 | arm,hbi = <0x190>; |
|---|
| .. | .. |
|---|
| 35 | 35 | reg = <0 0x00000000 0x04000000>, |
|---|
| 36 | 36 | <1 0x00000000 0x04000000>; |
|---|
| 37 | 37 | bank-width = <4>; |
|---|
| 38 | + partitions { |
|---|
| 39 | + compatible = "arm,arm-firmware-suite"; |
|---|
| 40 | + }; |
|---|
| 38 | 41 | }; |
|---|
| 39 | 42 | |
|---|
| 40 | 43 | psram@2,00000000 { |
|---|
| 41 | 44 | compatible = "arm,vexpress-psram", "mtd-ram"; |
|---|
| 42 | 45 | reg = <2 0x00000000 0x02000000>; |
|---|
| 43 | 46 | bank-width = <4>; |
|---|
| 44 | | - }; |
|---|
| 45 | | - |
|---|
| 46 | | - v2m_video_ram: vram@3,00000000 { |
|---|
| 47 | | - compatible = "arm,vexpress-vram"; |
|---|
| 48 | | - reg = <3 0x00000000 0x00800000>; |
|---|
| 49 | 47 | }; |
|---|
| 50 | 48 | |
|---|
| 51 | 49 | ethernet@3,02000000 { |
|---|
| .. | .. |
|---|
| 138 | 136 | mmci@5000 { |
|---|
| 139 | 137 | compatible = "arm,pl180", "arm,primecell"; |
|---|
| 140 | 138 | reg = <0x05000 0x1000>; |
|---|
| 141 | | - interrupts = <9 10>; |
|---|
| 139 | + interrupts = <9>, <10>; |
|---|
| 142 | 140 | cd-gpios = <&v2m_mmc_gpios 0 0>; |
|---|
| 143 | 141 | wp-gpios = <&v2m_mmc_gpios 1 0>; |
|---|
| 144 | 142 | max-frequency = <12000000>; |
|---|
| .. | .. |
|---|
| 200 | 198 | reg = <0x0f000 0x1000>; |
|---|
| 201 | 199 | interrupts = <0>; |
|---|
| 202 | 200 | clocks = <&v2m_refclk32khz>, <&smbclk>; |
|---|
| 203 | | - clock-names = "wdogclk", "apb_pclk"; |
|---|
| 201 | + clock-names = "wdog_clk", "apb_pclk"; |
|---|
| 204 | 202 | }; |
|---|
| 205 | 203 | |
|---|
| 206 | 204 | v2m_timer01: timer@11000 { |
|---|
| .. | .. |
|---|
| 223 | 221 | v2m_i2c_dvi: i2c@16000 { |
|---|
| 224 | 222 | compatible = "arm,versatile-i2c"; |
|---|
| 225 | 223 | reg = <0x16000 0x1000>; |
|---|
| 226 | | - |
|---|
| 227 | 224 | #address-cells = <1>; |
|---|
| 228 | 225 | #size-cells = <0>; |
|---|
| 229 | 226 | |
|---|
| 230 | 227 | dvi-transmitter@39 { |
|---|
| 231 | 228 | compatible = "sil,sii9022-tpi", "sil,sii9022"; |
|---|
| 232 | 229 | reg = <0x39>; |
|---|
| 230 | + |
|---|
| 231 | + ports { |
|---|
| 232 | + #address-cells = <1>; |
|---|
| 233 | + #size-cells = <0>; |
|---|
| 234 | + |
|---|
| 235 | + /* |
|---|
| 236 | + * Both the core tile and the motherboard routes their output |
|---|
| 237 | + * pads to this transmitter. The motherboard system controller |
|---|
| 238 | + * can select one of them as input using a mux register in |
|---|
| 239 | + * "arm,vexpress-muxfpga". The Vexpress with the CA9 core tile is |
|---|
| 240 | + * the only platform with this specific set-up. |
|---|
| 241 | + */ |
|---|
| 242 | + port@0 { |
|---|
| 243 | + reg = <0>; |
|---|
| 244 | + dvi_bridge_in_ct: endpoint { |
|---|
| 245 | + remote-endpoint = <&clcd_pads_ct>; |
|---|
| 246 | + }; |
|---|
| 247 | + }; |
|---|
| 248 | + port@1 { |
|---|
| 249 | + reg = <1>; |
|---|
| 250 | + dvi_bridge_in_mb: endpoint { |
|---|
| 251 | + remote-endpoint = <&clcd_pads_mb>; |
|---|
| 252 | + }; |
|---|
| 253 | + }; |
|---|
| 254 | + }; |
|---|
| 233 | 255 | }; |
|---|
| 234 | 256 | |
|---|
| 235 | 257 | dvi-transmitter@60 { |
|---|
| .. | .. |
|---|
| 253 | 275 | reg-shift = <2>; |
|---|
| 254 | 276 | }; |
|---|
| 255 | 277 | |
|---|
| 278 | + |
|---|
| 256 | 279 | clcd@1f000 { |
|---|
| 257 | 280 | compatible = "arm,pl111", "arm,primecell"; |
|---|
| 258 | 281 | reg = <0x1f000 0x1000>; |
|---|
| .. | .. |
|---|
| 260 | 283 | interrupts = <14>; |
|---|
| 261 | 284 | clocks = <&v2m_oscclk1>, <&smbclk>; |
|---|
| 262 | 285 | clock-names = "clcdclk", "apb_pclk"; |
|---|
| 263 | | - memory-region = <&v2m_video_ram>; |
|---|
| 264 | | - max-memory-bandwidth = <50350000>; /* 16bpp @ 25.175MHz */ |
|---|
| 286 | + /* 800x600 16bpp @36MHz works fine */ |
|---|
| 287 | + max-memory-bandwidth = <54000000>; |
|---|
| 288 | + memory-region = <&vram>; |
|---|
| 265 | 289 | |
|---|
| 266 | 290 | port { |
|---|
| 267 | | - v2m_clcd_pads: endpoint { |
|---|
| 268 | | - remote-endpoint = <&v2m_clcd_panel>; |
|---|
| 291 | + clcd_pads_mb: endpoint { |
|---|
| 292 | + remote-endpoint = <&dvi_bridge_in_mb>; |
|---|
| 269 | 293 | arm,pl11x,tft-r0g0b0-pads = <0 8 16>; |
|---|
| 270 | | - }; |
|---|
| 271 | | - }; |
|---|
| 272 | | - |
|---|
| 273 | | - panel { |
|---|
| 274 | | - compatible = "panel-dpi"; |
|---|
| 275 | | - |
|---|
| 276 | | - port { |
|---|
| 277 | | - v2m_clcd_panel: endpoint { |
|---|
| 278 | | - remote-endpoint = <&v2m_clcd_pads>; |
|---|
| 279 | | - }; |
|---|
| 280 | | - }; |
|---|
| 281 | | - |
|---|
| 282 | | - panel-timing { |
|---|
| 283 | | - clock-frequency = <25175000>; |
|---|
| 284 | | - hactive = <640>; |
|---|
| 285 | | - hback-porch = <40>; |
|---|
| 286 | | - hfront-porch = <24>; |
|---|
| 287 | | - hsync-len = <96>; |
|---|
| 288 | | - vactive = <480>; |
|---|
| 289 | | - vback-porch = <32>; |
|---|
| 290 | | - vfront-porch = <11>; |
|---|
| 291 | | - vsync-len = <2>; |
|---|
| 292 | 294 | }; |
|---|
| 293 | 295 | }; |
|---|
| 294 | 296 | }; |
|---|
| .. | .. |
|---|
| 449 | 451 | }; |
|---|
| 450 | 452 | }; |
|---|
| 451 | 453 | }; |
|---|
| 452 | | -}; |
|---|
| 454 | +}; |
|---|