Home | History | Annotate | Line # | Download | only in dts
      1  1.1.1.5     skrll // SPDX-License-Identifier: GPL-2.0
      2      1.1  jmcneill /*
      3      1.1  jmcneill  * ARM Ltd. Versatile Express
      4      1.1  jmcneill  *
      5      1.1  jmcneill  * Motherboard Express uATX
      6      1.1  jmcneill  * V2M-P1
      7      1.1  jmcneill  *
      8      1.1  jmcneill  * HBI-0190D
      9      1.1  jmcneill  *
     10      1.1  jmcneill  * RS1 memory map ("ARM Cortex-A Series memory map" in the board's
     11      1.1  jmcneill  * Technical Reference Manual)
     12      1.1  jmcneill  *
     13      1.1  jmcneill  * WARNING! The hardware described in this file is independent from the
     14      1.1  jmcneill  * original variant (vexpress-v2m.dtsi), but there is a strong
     15      1.1  jmcneill  * correspondence between the two configurations.
     16      1.1  jmcneill  *
     17      1.1  jmcneill  * TAKE CARE WHEN MAINTAINING THIS FILE TO PROPAGATE ANY RELEVANT
     18      1.1  jmcneill  * CHANGES TO vexpress-v2m.dtsi!
     19      1.1  jmcneill  */
     20  1.1.1.6  jmcneill #include <dt-bindings/interrupt-controller/arm-gic.h>
     21      1.1  jmcneill 
     22  1.1.1.3  jmcneill / {
     23  1.1.1.6  jmcneill 	v2m_fixed_3v3: fixed-regulator-0 {
     24  1.1.1.6  jmcneill 		compatible = "regulator-fixed";
     25  1.1.1.6  jmcneill 		regulator-name = "3V3";
     26  1.1.1.6  jmcneill 		regulator-min-microvolt = <3300000>;
     27  1.1.1.6  jmcneill 		regulator-max-microvolt = <3300000>;
     28  1.1.1.6  jmcneill 		regulator-always-on;
     29  1.1.1.6  jmcneill 	};
     30  1.1.1.6  jmcneill 
     31  1.1.1.6  jmcneill 	v2m_clk24mhz: clk24mhz {
     32  1.1.1.6  jmcneill 		compatible = "fixed-clock";
     33  1.1.1.6  jmcneill 		#clock-cells = <0>;
     34  1.1.1.6  jmcneill 		clock-frequency = <24000000>;
     35  1.1.1.6  jmcneill 		clock-output-names = "v2m:clk24mhz";
     36  1.1.1.6  jmcneill 	};
     37  1.1.1.6  jmcneill 
     38  1.1.1.6  jmcneill 	v2m_refclk1mhz: refclk1mhz {
     39  1.1.1.6  jmcneill 		compatible = "fixed-clock";
     40  1.1.1.6  jmcneill 		#clock-cells = <0>;
     41  1.1.1.6  jmcneill 		clock-frequency = <1000000>;
     42  1.1.1.6  jmcneill 		clock-output-names = "v2m:refclk1mhz";
     43  1.1.1.6  jmcneill 	};
     44  1.1.1.6  jmcneill 
     45  1.1.1.6  jmcneill 	v2m_refclk32khz: refclk32khz {
     46  1.1.1.6  jmcneill 		compatible = "fixed-clock";
     47  1.1.1.6  jmcneill 		#clock-cells = <0>;
     48  1.1.1.6  jmcneill 		clock-frequency = <32768>;
     49  1.1.1.6  jmcneill 		clock-output-names = "v2m:refclk32khz";
     50  1.1.1.6  jmcneill 	};
     51  1.1.1.6  jmcneill 
     52  1.1.1.6  jmcneill 	leds {
     53  1.1.1.6  jmcneill 		compatible = "gpio-leds";
     54  1.1.1.6  jmcneill 
     55  1.1.1.6  jmcneill 		led-1 {
     56  1.1.1.6  jmcneill 			label = "v2m:green:user1";
     57  1.1.1.6  jmcneill 			gpios = <&v2m_led_gpios 0 0>;
     58  1.1.1.6  jmcneill 			linux,default-trigger = "heartbeat";
     59  1.1.1.6  jmcneill 		};
     60  1.1.1.6  jmcneill 
     61  1.1.1.6  jmcneill 		led-2 {
     62  1.1.1.6  jmcneill 			label = "v2m:green:user2";
     63  1.1.1.6  jmcneill 			gpios = <&v2m_led_gpios 1 0>;
     64  1.1.1.6  jmcneill 			linux,default-trigger = "disk-activity";
     65  1.1.1.6  jmcneill 		};
     66  1.1.1.6  jmcneill 
     67  1.1.1.6  jmcneill 		led-3 {
     68  1.1.1.6  jmcneill 			label = "v2m:green:user3";
     69  1.1.1.6  jmcneill 			gpios = <&v2m_led_gpios 2 0>;
     70  1.1.1.6  jmcneill 			linux,default-trigger = "cpu0";
     71  1.1.1.6  jmcneill 		};
     72  1.1.1.6  jmcneill 
     73  1.1.1.6  jmcneill 		led-4 {
     74  1.1.1.6  jmcneill 			label = "v2m:green:user4";
     75  1.1.1.6  jmcneill 			gpios = <&v2m_led_gpios 3 0>;
     76  1.1.1.6  jmcneill 			linux,default-trigger = "cpu1";
     77  1.1.1.6  jmcneill 		};
     78  1.1.1.6  jmcneill 
     79  1.1.1.6  jmcneill 		led-5 {
     80  1.1.1.6  jmcneill 			label = "v2m:green:user5";
     81  1.1.1.6  jmcneill 			gpios = <&v2m_led_gpios 4 0>;
     82  1.1.1.6  jmcneill 			linux,default-trigger = "cpu2";
     83  1.1.1.6  jmcneill 		};
     84  1.1.1.6  jmcneill 
     85  1.1.1.6  jmcneill 		led-6 {
     86  1.1.1.6  jmcneill 			label = "v2m:green:user6";
     87  1.1.1.6  jmcneill 			gpios = <&v2m_led_gpios 5 0>;
     88  1.1.1.6  jmcneill 			linux,default-trigger = "cpu3";
     89  1.1.1.6  jmcneill 		};
     90  1.1.1.6  jmcneill 
     91  1.1.1.6  jmcneill 		led-7 {
     92  1.1.1.6  jmcneill 			label = "v2m:green:user7";
     93  1.1.1.6  jmcneill 			gpios = <&v2m_led_gpios 6 0>;
     94  1.1.1.6  jmcneill 			linux,default-trigger = "cpu4";
     95  1.1.1.6  jmcneill 		};
     96  1.1.1.6  jmcneill 
     97  1.1.1.6  jmcneill 		led-8 {
     98  1.1.1.6  jmcneill 			label = "v2m:green:user8";
     99  1.1.1.6  jmcneill 			gpios = <&v2m_led_gpios 7 0>;
    100  1.1.1.6  jmcneill 			linux,default-trigger = "cpu5";
    101  1.1.1.6  jmcneill 		};
    102  1.1.1.6  jmcneill 	};
    103  1.1.1.6  jmcneill 
    104  1.1.1.6  jmcneill 	bus@8000000 {
    105  1.1.1.6  jmcneill 		compatible = "simple-bus";
    106  1.1.1.6  jmcneill 		#address-cells = <1>;
    107  1.1.1.6  jmcneill 		#size-cells = <1>;
    108  1.1.1.6  jmcneill 
    109  1.1.1.6  jmcneill 		#interrupt-cells = <1>;
    110  1.1.1.6  jmcneill 		interrupt-map-mask = <0 63>;
    111  1.1.1.6  jmcneill 		interrupt-map = <0  0 &gic GIC_SPI  0 IRQ_TYPE_LEVEL_HIGH>,
    112  1.1.1.6  jmcneill 				<0  1 &gic GIC_SPI  1 IRQ_TYPE_LEVEL_HIGH>,
    113  1.1.1.6  jmcneill 				<0  2 &gic GIC_SPI  2 IRQ_TYPE_LEVEL_HIGH>,
    114  1.1.1.6  jmcneill 				<0  3 &gic GIC_SPI  3 IRQ_TYPE_LEVEL_HIGH>,
    115  1.1.1.6  jmcneill 				<0  4 &gic GIC_SPI  4 IRQ_TYPE_LEVEL_HIGH>,
    116  1.1.1.6  jmcneill 				<0  5 &gic GIC_SPI  5 IRQ_TYPE_LEVEL_HIGH>,
    117  1.1.1.6  jmcneill 				<0  6 &gic GIC_SPI  6 IRQ_TYPE_LEVEL_HIGH>,
    118  1.1.1.6  jmcneill 				<0  7 &gic GIC_SPI  7 IRQ_TYPE_LEVEL_HIGH>,
    119  1.1.1.6  jmcneill 				<0  8 &gic GIC_SPI  8 IRQ_TYPE_LEVEL_HIGH>,
    120  1.1.1.6  jmcneill 				<0  9 &gic GIC_SPI  9 IRQ_TYPE_LEVEL_HIGH>,
    121  1.1.1.6  jmcneill 				<0 10 &gic GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
    122  1.1.1.6  jmcneill 				<0 11 &gic GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
    123  1.1.1.6  jmcneill 				<0 12 &gic GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
    124  1.1.1.6  jmcneill 				<0 13 &gic GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
    125  1.1.1.6  jmcneill 				<0 14 &gic GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
    126  1.1.1.6  jmcneill 				<0 15 &gic GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
    127  1.1.1.6  jmcneill 				<0 16 &gic GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
    128  1.1.1.6  jmcneill 				<0 17 &gic GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
    129  1.1.1.6  jmcneill 				<0 18 &gic GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
    130  1.1.1.6  jmcneill 				<0 19 &gic GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
    131  1.1.1.6  jmcneill 				<0 20 &gic GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>,
    132  1.1.1.6  jmcneill 				<0 21 &gic GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,
    133  1.1.1.6  jmcneill 				<0 22 &gic GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
    134  1.1.1.6  jmcneill 				<0 23 &gic GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>,
    135  1.1.1.6  jmcneill 				<0 24 &gic GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
    136  1.1.1.6  jmcneill 				<0 25 &gic GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>,
    137  1.1.1.6  jmcneill 				<0 26 &gic GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>,
    138  1.1.1.6  jmcneill 				<0 27 &gic GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>,
    139  1.1.1.6  jmcneill 				<0 28 &gic GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>,
    140  1.1.1.6  jmcneill 				<0 29 &gic GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>,
    141  1.1.1.6  jmcneill 				<0 30 &gic GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>,
    142  1.1.1.6  jmcneill 				<0 31 &gic GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>,
    143  1.1.1.6  jmcneill 				<0 32 &gic GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
    144  1.1.1.6  jmcneill 				<0 33 &gic GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
    145  1.1.1.6  jmcneill 				<0 34 &gic GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
    146  1.1.1.6  jmcneill 				<0 35 &gic GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
    147  1.1.1.6  jmcneill 				<0 36 &gic GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>,
    148  1.1.1.6  jmcneill 				<0 37 &gic GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>,
    149  1.1.1.6  jmcneill 				<0 38 &gic GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>,
    150  1.1.1.6  jmcneill 				<0 39 &gic GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
    151  1.1.1.6  jmcneill 				<0 40 &gic GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
    152  1.1.1.6  jmcneill 				<0 41 &gic GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
    153  1.1.1.6  jmcneill 				<0 42 &gic GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
    154  1.1.1.6  jmcneill 
    155  1.1.1.6  jmcneill 		motherboard-bus@8000000 {
    156  1.1.1.3  jmcneill 			arm,hbi = <0x190>;
    157  1.1.1.3  jmcneill 			arm,vexpress,site = <0>;
    158  1.1.1.3  jmcneill 			compatible = "arm,vexpress,v2m-p1", "simple-bus";
    159  1.1.1.3  jmcneill 			#address-cells = <2>; /* SMB chipselect number and offset */
    160  1.1.1.3  jmcneill 			#size-cells = <1>;
    161  1.1.1.6  jmcneill 			ranges = <0 0 0x08000000 0x04000000>,
    162  1.1.1.6  jmcneill 				 <1 0 0x14000000 0x04000000>,
    163  1.1.1.6  jmcneill 				 <2 0 0x18000000 0x04000000>,
    164  1.1.1.6  jmcneill 				 <3 0 0x1c000000 0x04000000>,
    165  1.1.1.6  jmcneill 				 <4 0 0x0c000000 0x04000000>,
    166  1.1.1.6  jmcneill 				 <5 0 0x10000000 0x04000000>;
    167      1.1  jmcneill 
    168  1.1.1.6  jmcneill 			nor_flash: flash@0 {
    169  1.1.1.3  jmcneill 				compatible = "arm,vexpress-flash", "cfi-flash";
    170  1.1.1.3  jmcneill 				reg = <0 0x00000000 0x04000000>,
    171  1.1.1.3  jmcneill 				      <4 0x00000000 0x04000000>;
    172  1.1.1.3  jmcneill 				bank-width = <4>;
    173  1.1.1.5     skrll 				partitions {
    174  1.1.1.5     skrll 					compatible = "arm,arm-firmware-suite";
    175  1.1.1.5     skrll 				};
    176  1.1.1.3  jmcneill 			};
    177      1.1  jmcneill 
    178  1.1.1.6  jmcneill 			psram@100000000 {
    179  1.1.1.3  jmcneill 				compatible = "arm,vexpress-psram", "mtd-ram";
    180  1.1.1.3  jmcneill 				reg = <1 0x00000000 0x02000000>;
    181  1.1.1.3  jmcneill 				bank-width = <4>;
    182  1.1.1.3  jmcneill 			};
    183      1.1  jmcneill 
    184  1.1.1.6  jmcneill 			ethernet@202000000 {
    185  1.1.1.3  jmcneill 				compatible = "smsc,lan9118", "smsc,lan9115";
    186  1.1.1.3  jmcneill 				reg = <2 0x02000000 0x10000>;
    187  1.1.1.3  jmcneill 				interrupts = <15>;
    188  1.1.1.3  jmcneill 				phy-mode = "mii";
    189  1.1.1.3  jmcneill 				reg-io-width = <4>;
    190  1.1.1.3  jmcneill 				smsc,irq-active-high;
    191  1.1.1.3  jmcneill 				smsc,irq-push-pull;
    192  1.1.1.3  jmcneill 				vdd33a-supply = <&v2m_fixed_3v3>;
    193  1.1.1.3  jmcneill 				vddvario-supply = <&v2m_fixed_3v3>;
    194  1.1.1.3  jmcneill 			};
    195      1.1  jmcneill 
    196  1.1.1.6  jmcneill 			usb@203000000 {
    197  1.1.1.3  jmcneill 				compatible = "nxp,usb-isp1761";
    198  1.1.1.3  jmcneill 				reg = <2 0x03000000 0x20000>;
    199  1.1.1.3  jmcneill 				interrupts = <16>;
    200  1.1.1.6  jmcneill 				dr_mode = "peripheral";
    201  1.1.1.3  jmcneill 			};
    202      1.1  jmcneill 
    203  1.1.1.6  jmcneill 			iofpga-bus@300000000 {
    204  1.1.1.3  jmcneill 				compatible = "simple-bus";
    205  1.1.1.3  jmcneill 				#address-cells = <1>;
    206  1.1.1.3  jmcneill 				#size-cells = <1>;
    207  1.1.1.3  jmcneill 				ranges = <0 3 0 0x200000>;
    208      1.1  jmcneill 
    209  1.1.1.3  jmcneill 				v2m_sysreg: sysreg@10000 {
    210  1.1.1.3  jmcneill 					compatible = "arm,vexpress-sysreg";
    211  1.1.1.3  jmcneill 					reg = <0x010000 0x1000>;
    212  1.1.1.3  jmcneill 					#address-cells = <1>;
    213  1.1.1.3  jmcneill 					#size-cells = <1>;
    214  1.1.1.3  jmcneill 					ranges = <0 0x10000 0x1000>;
    215  1.1.1.3  jmcneill 
    216  1.1.1.3  jmcneill 					v2m_led_gpios: gpio@8 {
    217  1.1.1.3  jmcneill 						compatible = "arm,vexpress-sysreg,sys_led";
    218  1.1.1.3  jmcneill 						reg = <0x008 4>;
    219  1.1.1.3  jmcneill 						gpio-controller;
    220  1.1.1.3  jmcneill 						#gpio-cells = <2>;
    221  1.1.1.3  jmcneill 					};
    222  1.1.1.3  jmcneill 
    223  1.1.1.3  jmcneill 					v2m_mmc_gpios: gpio@48 {
    224  1.1.1.3  jmcneill 						compatible = "arm,vexpress-sysreg,sys_mci";
    225  1.1.1.3  jmcneill 						reg = <0x048 4>;
    226  1.1.1.3  jmcneill 						gpio-controller;
    227  1.1.1.3  jmcneill 						#gpio-cells = <2>;
    228  1.1.1.3  jmcneill 					};
    229      1.1  jmcneill 
    230  1.1.1.3  jmcneill 					v2m_flash_gpios: gpio@4c {
    231  1.1.1.3  jmcneill 						compatible = "arm,vexpress-sysreg,sys_flash";
    232  1.1.1.3  jmcneill 						reg = <0x04c 4>;
    233  1.1.1.3  jmcneill 						gpio-controller;
    234  1.1.1.3  jmcneill 						#gpio-cells = <2>;
    235  1.1.1.3  jmcneill 					};
    236      1.1  jmcneill 				};
    237      1.1  jmcneill 
    238  1.1.1.3  jmcneill 				v2m_sysctl: sysctl@20000 {
    239  1.1.1.3  jmcneill 					compatible = "arm,sp810", "arm,primecell";
    240  1.1.1.3  jmcneill 					reg = <0x020000 0x1000>;
    241  1.1.1.3  jmcneill 					clocks = <&v2m_refclk32khz>, <&v2m_refclk1mhz>, <&smbclk>;
    242  1.1.1.3  jmcneill 					clock-names = "refclk", "timclk", "apb_pclk";
    243  1.1.1.3  jmcneill 					#clock-cells = <1>;
    244  1.1.1.3  jmcneill 					clock-output-names = "timerclken0", "timerclken1", "timerclken2", "timerclken3";
    245  1.1.1.3  jmcneill 					assigned-clocks = <&v2m_sysctl 0>, <&v2m_sysctl 1>, <&v2m_sysctl 3>, <&v2m_sysctl 3>;
    246  1.1.1.3  jmcneill 					assigned-clock-parents = <&v2m_refclk1mhz>, <&v2m_refclk1mhz>, <&v2m_refclk1mhz>, <&v2m_refclk1mhz>;
    247      1.1  jmcneill 				};
    248      1.1  jmcneill 
    249  1.1.1.3  jmcneill 				/* PCI-E I2C bus */
    250  1.1.1.3  jmcneill 				v2m_i2c_pcie: i2c@30000 {
    251  1.1.1.3  jmcneill 					compatible = "arm,versatile-i2c";
    252  1.1.1.3  jmcneill 					reg = <0x030000 0x1000>;
    253  1.1.1.3  jmcneill 
    254  1.1.1.3  jmcneill 					#address-cells = <1>;
    255  1.1.1.3  jmcneill 					#size-cells = <0>;
    256  1.1.1.3  jmcneill 
    257  1.1.1.3  jmcneill 					pcie-switch@60 {
    258  1.1.1.3  jmcneill 						compatible = "idt,89hpes32h8";
    259  1.1.1.3  jmcneill 						reg = <0x60>;
    260  1.1.1.3  jmcneill 					};
    261  1.1.1.3  jmcneill 				};
    262      1.1  jmcneill 
    263  1.1.1.3  jmcneill 				aaci@40000 {
    264  1.1.1.3  jmcneill 					compatible = "arm,pl041", "arm,primecell";
    265  1.1.1.3  jmcneill 					reg = <0x040000 0x1000>;
    266  1.1.1.3  jmcneill 					interrupts = <11>;
    267  1.1.1.3  jmcneill 					clocks = <&smbclk>;
    268  1.1.1.3  jmcneill 					clock-names = "apb_pclk";
    269  1.1.1.3  jmcneill 				};
    270      1.1  jmcneill 
    271  1.1.1.6  jmcneill 				mmc@50000 {
    272  1.1.1.3  jmcneill 					compatible = "arm,pl180", "arm,primecell";
    273  1.1.1.3  jmcneill 					reg = <0x050000 0x1000>;
    274  1.1.1.4  jmcneill 					interrupts = <9>, <10>;
    275  1.1.1.3  jmcneill 					cd-gpios = <&v2m_mmc_gpios 0 0>;
    276  1.1.1.3  jmcneill 					wp-gpios = <&v2m_mmc_gpios 1 0>;
    277  1.1.1.3  jmcneill 					max-frequency = <12000000>;
    278  1.1.1.3  jmcneill 					vmmc-supply = <&v2m_fixed_3v3>;
    279  1.1.1.3  jmcneill 					clocks = <&v2m_clk24mhz>, <&smbclk>;
    280  1.1.1.3  jmcneill 					clock-names = "mclk", "apb_pclk";
    281  1.1.1.3  jmcneill 				};
    282      1.1  jmcneill 
    283  1.1.1.3  jmcneill 				kmi@60000 {
    284  1.1.1.3  jmcneill 					compatible = "arm,pl050", "arm,primecell";
    285  1.1.1.3  jmcneill 					reg = <0x060000 0x1000>;
    286  1.1.1.3  jmcneill 					interrupts = <12>;
    287  1.1.1.3  jmcneill 					clocks = <&v2m_clk24mhz>, <&smbclk>;
    288  1.1.1.3  jmcneill 					clock-names = "KMIREFCLK", "apb_pclk";
    289  1.1.1.3  jmcneill 				};
    290      1.1  jmcneill 
    291  1.1.1.3  jmcneill 				kmi@70000 {
    292  1.1.1.3  jmcneill 					compatible = "arm,pl050", "arm,primecell";
    293  1.1.1.3  jmcneill 					reg = <0x070000 0x1000>;
    294  1.1.1.3  jmcneill 					interrupts = <13>;
    295  1.1.1.3  jmcneill 					clocks = <&v2m_clk24mhz>, <&smbclk>;
    296  1.1.1.3  jmcneill 					clock-names = "KMIREFCLK", "apb_pclk";
    297  1.1.1.3  jmcneill 				};
    298      1.1  jmcneill 
    299  1.1.1.6  jmcneill 				v2m_serial0: serial@90000 {
    300  1.1.1.3  jmcneill 					compatible = "arm,pl011", "arm,primecell";
    301  1.1.1.3  jmcneill 					reg = <0x090000 0x1000>;
    302  1.1.1.3  jmcneill 					interrupts = <5>;
    303  1.1.1.3  jmcneill 					clocks = <&v2m_oscclk2>, <&smbclk>;
    304  1.1.1.3  jmcneill 					clock-names = "uartclk", "apb_pclk";
    305      1.1  jmcneill 				};
    306      1.1  jmcneill 
    307  1.1.1.6  jmcneill 				v2m_serial1: serial@a0000 {
    308  1.1.1.3  jmcneill 					compatible = "arm,pl011", "arm,primecell";
    309  1.1.1.3  jmcneill 					reg = <0x0a0000 0x1000>;
    310  1.1.1.3  jmcneill 					interrupts = <6>;
    311  1.1.1.3  jmcneill 					clocks = <&v2m_oscclk2>, <&smbclk>;
    312  1.1.1.3  jmcneill 					clock-names = "uartclk", "apb_pclk";
    313      1.1  jmcneill 				};
    314      1.1  jmcneill 
    315  1.1.1.6  jmcneill 				v2m_serial2: serial@b0000 {
    316  1.1.1.3  jmcneill 					compatible = "arm,pl011", "arm,primecell";
    317  1.1.1.3  jmcneill 					reg = <0x0b0000 0x1000>;
    318  1.1.1.3  jmcneill 					interrupts = <7>;
    319  1.1.1.3  jmcneill 					clocks = <&v2m_oscclk2>, <&smbclk>;
    320  1.1.1.3  jmcneill 					clock-names = "uartclk", "apb_pclk";
    321  1.1.1.3  jmcneill 				};
    322      1.1  jmcneill 
    323  1.1.1.6  jmcneill 				v2m_serial3: serial@c0000 {
    324  1.1.1.3  jmcneill 					compatible = "arm,pl011", "arm,primecell";
    325  1.1.1.3  jmcneill 					reg = <0x0c0000 0x1000>;
    326  1.1.1.3  jmcneill 					interrupts = <8>;
    327  1.1.1.3  jmcneill 					clocks = <&v2m_oscclk2>, <&smbclk>;
    328  1.1.1.3  jmcneill 					clock-names = "uartclk", "apb_pclk";
    329  1.1.1.3  jmcneill 				};
    330      1.1  jmcneill 
    331  1.1.1.6  jmcneill 				watchdog@f0000 {
    332  1.1.1.3  jmcneill 					compatible = "arm,sp805", "arm,primecell";
    333  1.1.1.3  jmcneill 					reg = <0x0f0000 0x1000>;
    334  1.1.1.3  jmcneill 					interrupts = <0>;
    335  1.1.1.3  jmcneill 					clocks = <&v2m_refclk32khz>, <&smbclk>;
    336  1.1.1.6  jmcneill 					clock-names = "wdog_clk", "apb_pclk";
    337  1.1.1.3  jmcneill 				};
    338      1.1  jmcneill 
    339  1.1.1.3  jmcneill 				v2m_timer01: timer@110000 {
    340  1.1.1.3  jmcneill 					compatible = "arm,sp804", "arm,primecell";
    341  1.1.1.3  jmcneill 					reg = <0x110000 0x1000>;
    342  1.1.1.3  jmcneill 					interrupts = <2>;
    343  1.1.1.3  jmcneill 					clocks = <&v2m_sysctl 0>, <&v2m_sysctl 1>, <&smbclk>;
    344  1.1.1.3  jmcneill 					clock-names = "timclken1", "timclken2", "apb_pclk";
    345      1.1  jmcneill 				};
    346      1.1  jmcneill 
    347  1.1.1.3  jmcneill 				v2m_timer23: timer@120000 {
    348  1.1.1.3  jmcneill 					compatible = "arm,sp804", "arm,primecell";
    349  1.1.1.3  jmcneill 					reg = <0x120000 0x1000>;
    350  1.1.1.3  jmcneill 					interrupts = <3>;
    351  1.1.1.3  jmcneill 					clocks = <&v2m_sysctl 2>, <&v2m_sysctl 3>, <&smbclk>;
    352  1.1.1.3  jmcneill 					clock-names = "timclken1", "timclken2", "apb_pclk";
    353  1.1.1.3  jmcneill 				};
    354      1.1  jmcneill 
    355  1.1.1.3  jmcneill 				/* DVI I2C bus */
    356  1.1.1.3  jmcneill 				v2m_i2c_dvi: i2c@160000 {
    357  1.1.1.3  jmcneill 					compatible = "arm,versatile-i2c";
    358  1.1.1.3  jmcneill 					reg = <0x160000 0x1000>;
    359  1.1.1.3  jmcneill 					#address-cells = <1>;
    360  1.1.1.3  jmcneill 					#size-cells = <0>;
    361  1.1.1.3  jmcneill 
    362  1.1.1.3  jmcneill 					dvi-transmitter@39 {
    363  1.1.1.3  jmcneill 						compatible = "sil,sii9022-tpi", "sil,sii9022";
    364  1.1.1.3  jmcneill 						reg = <0x39>;
    365  1.1.1.4  jmcneill 
    366  1.1.1.4  jmcneill 						ports {
    367  1.1.1.4  jmcneill 							#address-cells = <1>;
    368  1.1.1.4  jmcneill 							#size-cells = <0>;
    369  1.1.1.4  jmcneill 
    370  1.1.1.4  jmcneill 							port@0 {
    371  1.1.1.4  jmcneill 								reg = <0>;
    372  1.1.1.4  jmcneill 								dvi_bridge_in: endpoint {
    373  1.1.1.4  jmcneill 									remote-endpoint = <&clcd_pads>;
    374  1.1.1.4  jmcneill 								};
    375  1.1.1.4  jmcneill 							};
    376  1.1.1.4  jmcneill 						};
    377      1.1  jmcneill 					};
    378      1.1  jmcneill 
    379  1.1.1.3  jmcneill 					dvi-transmitter@60 {
    380  1.1.1.3  jmcneill 						compatible = "sil,sii9022-cpi", "sil,sii9022";
    381  1.1.1.3  jmcneill 						reg = <0x60>;
    382      1.1  jmcneill 					};
    383      1.1  jmcneill 				};
    384      1.1  jmcneill 
    385  1.1.1.3  jmcneill 				rtc@170000 {
    386  1.1.1.3  jmcneill 					compatible = "arm,pl031", "arm,primecell";
    387  1.1.1.3  jmcneill 					reg = <0x170000 0x1000>;
    388  1.1.1.3  jmcneill 					interrupts = <4>;
    389  1.1.1.3  jmcneill 					clocks = <&smbclk>;
    390  1.1.1.3  jmcneill 					clock-names = "apb_pclk";
    391  1.1.1.3  jmcneill 				};
    392      1.1  jmcneill 
    393  1.1.1.3  jmcneill 				compact-flash@1a0000 {
    394  1.1.1.3  jmcneill 					compatible = "arm,vexpress-cf", "ata-generic";
    395  1.1.1.3  jmcneill 					reg = <0x1a0000 0x100
    396  1.1.1.3  jmcneill 					       0x1a0100 0xf00>;
    397  1.1.1.3  jmcneill 					reg-shift = <2>;
    398  1.1.1.3  jmcneill 				};
    399      1.1  jmcneill 
    400  1.1.1.3  jmcneill 				clcd@1f0000 {
    401  1.1.1.3  jmcneill 					compatible = "arm,pl111", "arm,primecell";
    402  1.1.1.3  jmcneill 					reg = <0x1f0000 0x1000>;
    403  1.1.1.3  jmcneill 					interrupt-names = "combined";
    404  1.1.1.3  jmcneill 					interrupts = <14>;
    405  1.1.1.3  jmcneill 					clocks = <&v2m_oscclk1>, <&smbclk>;
    406  1.1.1.3  jmcneill 					clock-names = "clcdclk", "apb_pclk";
    407  1.1.1.4  jmcneill 					/* 800x600 16bpp @36MHz works fine */
    408  1.1.1.4  jmcneill 					max-memory-bandwidth = <54000000>;
    409  1.1.1.4  jmcneill 					memory-region = <&vram>;
    410      1.1  jmcneill 
    411  1.1.1.3  jmcneill 					port {
    412  1.1.1.4  jmcneill 						clcd_pads: endpoint {
    413  1.1.1.4  jmcneill 							remote-endpoint = <&dvi_bridge_in>;
    414  1.1.1.3  jmcneill 							arm,pl11x,tft-r0g0b0-pads = <0 8 16>;
    415  1.1.1.3  jmcneill 						};
    416  1.1.1.3  jmcneill 					};
    417  1.1.1.3  jmcneill 				};
    418      1.1  jmcneill 
    419  1.1.1.6  jmcneill 				mcc {
    420  1.1.1.6  jmcneill 					compatible = "arm,vexpress,config-bus";
    421  1.1.1.6  jmcneill 					arm,vexpress,config-bridge = <&v2m_sysreg>;
    422  1.1.1.6  jmcneill 
    423  1.1.1.6  jmcneill 					oscclk0 {
    424  1.1.1.6  jmcneill 						/* MCC static memory clock */
    425  1.1.1.6  jmcneill 						compatible = "arm,vexpress-osc";
    426  1.1.1.6  jmcneill 						arm,vexpress-sysreg,func = <1 0>;
    427  1.1.1.6  jmcneill 						freq-range = <25000000 60000000>;
    428  1.1.1.6  jmcneill 						#clock-cells = <0>;
    429  1.1.1.6  jmcneill 						clock-output-names = "v2m:oscclk0";
    430  1.1.1.6  jmcneill 					};
    431      1.1  jmcneill 
    432  1.1.1.6  jmcneill 					v2m_oscclk1: oscclk1 {
    433  1.1.1.6  jmcneill 						/* CLCD clock */
    434  1.1.1.6  jmcneill 						compatible = "arm,vexpress-osc";
    435  1.1.1.6  jmcneill 						arm,vexpress-sysreg,func = <1 1>;
    436  1.1.1.6  jmcneill 						freq-range = <23750000 65000000>;
    437  1.1.1.6  jmcneill 						#clock-cells = <0>;
    438  1.1.1.6  jmcneill 						clock-output-names = "v2m:oscclk1";
    439  1.1.1.6  jmcneill 					};
    440  1.1.1.3  jmcneill 
    441  1.1.1.6  jmcneill 					v2m_oscclk2: oscclk2 {
    442  1.1.1.6  jmcneill 						/* IO FPGA peripheral clock */
    443  1.1.1.6  jmcneill 						compatible = "arm,vexpress-osc";
    444  1.1.1.6  jmcneill 						arm,vexpress-sysreg,func = <1 2>;
    445  1.1.1.6  jmcneill 						freq-range = <24000000 24000000>;
    446  1.1.1.6  jmcneill 						#clock-cells = <0>;
    447  1.1.1.6  jmcneill 						clock-output-names = "v2m:oscclk2";
    448  1.1.1.6  jmcneill 					};
    449  1.1.1.3  jmcneill 
    450  1.1.1.6  jmcneill 					volt-vio {
    451  1.1.1.6  jmcneill 						/* Logic level voltage */
    452  1.1.1.6  jmcneill 						compatible = "arm,vexpress-volt";
    453  1.1.1.6  jmcneill 						arm,vexpress-sysreg,func = <2 0>;
    454  1.1.1.6  jmcneill 						regulator-name = "VIO";
    455  1.1.1.6  jmcneill 						regulator-always-on;
    456  1.1.1.6  jmcneill 						label = "VIO";
    457  1.1.1.6  jmcneill 					};
    458  1.1.1.3  jmcneill 
    459  1.1.1.6  jmcneill 					temp-mcc {
    460  1.1.1.6  jmcneill 						/* MCC internal operating temperature */
    461  1.1.1.6  jmcneill 						compatible = "arm,vexpress-temp";
    462  1.1.1.6  jmcneill 						arm,vexpress-sysreg,func = <4 0>;
    463  1.1.1.6  jmcneill 						label = "MCC";
    464  1.1.1.6  jmcneill 					};
    465  1.1.1.3  jmcneill 
    466  1.1.1.6  jmcneill 					reset {
    467  1.1.1.6  jmcneill 						compatible = "arm,vexpress-reset";
    468  1.1.1.6  jmcneill 						arm,vexpress-sysreg,func = <5 0>;
    469  1.1.1.6  jmcneill 					};
    470  1.1.1.3  jmcneill 
    471  1.1.1.6  jmcneill 					muxfpga {
    472  1.1.1.6  jmcneill 						compatible = "arm,vexpress-muxfpga";
    473  1.1.1.6  jmcneill 						arm,vexpress-sysreg,func = <7 0>;
    474  1.1.1.6  jmcneill 					};
    475  1.1.1.3  jmcneill 
    476  1.1.1.6  jmcneill 					shutdown {
    477  1.1.1.6  jmcneill 						compatible = "arm,vexpress-shutdown";
    478  1.1.1.6  jmcneill 						arm,vexpress-sysreg,func = <8 0>;
    479  1.1.1.6  jmcneill 					};
    480      1.1  jmcneill 
    481  1.1.1.6  jmcneill 					reboot {
    482  1.1.1.6  jmcneill 						compatible = "arm,vexpress-reboot";
    483  1.1.1.6  jmcneill 						arm,vexpress-sysreg,func = <9 0>;
    484  1.1.1.6  jmcneill 					};
    485  1.1.1.3  jmcneill 
    486  1.1.1.6  jmcneill 					dvimode {
    487  1.1.1.6  jmcneill 						compatible = "arm,vexpress-dvimode";
    488  1.1.1.6  jmcneill 						arm,vexpress-sysreg,func = <11 0>;
    489  1.1.1.6  jmcneill 					};
    490  1.1.1.3  jmcneill 				};
    491      1.1  jmcneill 			};
    492      1.1  jmcneill 		};
    493      1.1  jmcneill 	};
    494  1.1.1.3  jmcneill };
    495