cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

ste-nomadik-stn8815.dtsi (20569B)


      1// SPDX-License-Identifier: GPL-2.0
      2/*
      3 * Device Tree for the ST-Ericsson Nomadik 8815 STn8815 SoC
      4 */
      5
      6#include <dt-bindings/gpio/gpio.h>
      7
      8/ {
      9	#address-cells = <1>;
     10	#size-cells = <1>;
     11
     12	memory {
     13		device_type = "memory";
     14		reg = <0x00000000 0x04000000>,
     15		    <0x08000000 0x04000000>;
     16	};
     17
     18	L2: cache-controller {
     19		compatible = "arm,l210-cache";
     20		reg = <0x10210000 0x1000>;
     21		interrupt-parent = <&vica>;
     22		interrupts = <30>;
     23		cache-unified;
     24		cache-level = <2>;
     25		cache-size = <131072>;
     26		cache-sets = <512>;
     27		cache-line-size = <32>;
     28		/* At full speed latency must be >=2 */
     29		arm,tag-latency = <8>;
     30		arm,data-latency = <8 8>;
     31		arm,dirty-latency = <8>;
     32	};
     33
     34	mtu0: mtu@101e2000 {
     35		/* Nomadik system timer */
     36		compatible = "st,nomadik-mtu";
     37		reg = <0x101e2000 0x1000>;
     38		interrupt-parent = <&vica>;
     39		interrupts = <4>;
     40		clocks = <&timclk>, <&pclk>;
     41		clock-names = "timclk", "apb_pclk";
     42	};
     43
     44	mtu1: mtu@101e3000 {
     45		/* Secondary timer */
     46		reg = <0x101e3000 0x1000>;
     47		interrupt-parent = <&vica>;
     48		interrupts = <5>;
     49		clocks = <&timclk>, <&pclk>;
     50		clock-names = "timclk", "apb_pclk";
     51	};
     52
     53	gpio0: gpio@101e4000 {
     54		compatible = "st,nomadik-gpio";
     55		reg =  <0x101e4000 0x80>;
     56		interrupt-parent = <&vica>;
     57		interrupts = <6>;
     58		interrupt-controller;
     59		#interrupt-cells = <2>;
     60		gpio-controller;
     61		#gpio-cells = <2>;
     62		gpio-bank = <0>;
     63		gpio-ranges = <&pinctrl 0 0 32>;
     64		clocks = <&pclk>;
     65	};
     66
     67	gpio1: gpio@101e5000 {
     68		compatible = "st,nomadik-gpio";
     69		reg =  <0x101e5000 0x80>;
     70		interrupt-parent = <&vica>;
     71		interrupts = <7>;
     72		interrupt-controller;
     73		#interrupt-cells = <2>;
     74		gpio-controller;
     75		#gpio-cells = <2>;
     76		gpio-bank = <1>;
     77		gpio-ranges = <&pinctrl 0 32 32>;
     78		clocks = <&pclk>;
     79	};
     80
     81	gpio2: gpio@101e6000 {
     82		compatible = "st,nomadik-gpio";
     83		reg =  <0x101e6000 0x80>;
     84		interrupt-parent = <&vica>;
     85		interrupts = <8>;
     86		interrupt-controller;
     87		#interrupt-cells = <2>;
     88		gpio-controller;
     89		#gpio-cells = <2>;
     90		gpio-bank = <2>;
     91		gpio-ranges = <&pinctrl 0 64 32>;
     92		clocks = <&pclk>;
     93	};
     94
     95	gpio3: gpio@101e7000 {
     96		compatible = "st,nomadik-gpio";
     97		reg =  <0x101e7000 0x80>;
     98		ngpio = <28>;
     99		interrupt-parent = <&vica>;
    100		interrupts = <9>;
    101		interrupt-controller;
    102		#interrupt-cells = <2>;
    103		gpio-controller;
    104		#gpio-cells = <2>;
    105		gpio-bank = <3>;
    106		gpio-ranges = <&pinctrl 0 96 28>;
    107		clocks = <&pclk>;
    108	};
    109
    110	pinctrl: pinctrl {
    111		compatible = "stericsson,stn8815-pinctrl";
    112		nomadik-gpio-chips = <&gpio0>, <&gpio1>, <&gpio2>, <&gpio3>;
    113		/* Pin configurations */
    114		uart1 {
    115			uart1_default_mux: uart1_mux {
    116				u1_default_mux {
    117					function = "u1";
    118					groups = "u1_a_1";
    119				};
    120			};
    121		};
    122		mmcsd {
    123			mmcsd_default_mux: mmcsd_mux {
    124				mmcsd_default_mux {
    125					function = "mmcsd";
    126					groups = "mmcsd_a_1", "mmcsd_b_1";
    127				};
    128			};
    129			mmcsd_default_mode: mmcsd_default {
    130				mmcsd_default_cfg1 {
    131					/*
    132					 * MCCLK, MCCMDDIR, MCDAT0DIR, MCDAT31DIR, MCDATDIR2
    133					 * MCCMD, MCDAT3-0, MCMSFBCLK
    134					 */
    135					pins = "GPIO8_B10", "GPIO9_A10", "GPIO10_C11", "GPIO11_B11",
    136					       "GPIO12_A11", "GPIO13_C12", "GPIO14_B12", "GPIO15_A12",
    137					       "GPIO16_C13", "GPIO23_D15", "GPIO24_C15";
    138					ste,output = <2>;
    139				};
    140			};
    141		};
    142		i2c0 {
    143			i2c0_default_mux: i2c0_mux {
    144				i2c0_default_mux {
    145					function = "i2c0";
    146					groups = "i2c0_a_1";
    147				};
    148			};
    149			i2c0_default_mode: i2c0_default {
    150				i2c0_default_cfg {
    151					pins = "GPIO62_D3", "GPIO63_D2";
    152					ste,input = <0>;
    153				};
    154			};
    155		};
    156		i2c1 {
    157			i2c1_default_mux: i2c1_mux {
    158				i2c1_default_mux {
    159					function = "i2c1";
    160					groups = "i2c1_a_1";
    161				};
    162			};
    163			i2c1_default_mode: i2c1_default {
    164				i2c1_default_cfg {
    165					pins = "GPIO53_L4", "GPIO54_L3";
    166					ste,input = <0>;
    167				};
    168			};
    169		};
    170		clcd {
    171			/*
    172			 * This should be activated to use the additional
    173			 * 8 lines for bits 16 thru 23 from the CLCD block.
    174			 */
    175			clcd_24bit_mux: clcd_mux {
    176				clcd_24bit_mux {
    177					function = "clcd";
    178					groups = "clcd_16_23_b_1";
    179				};
    180			};
    181		};
    182	};
    183
    184	/* Power Management Unit */
    185	pmu: pmu@101e9000 {
    186		compatible = "stericsson,nomadik-pmu", "syscon";
    187		reg = <0x101e0000 0x1000>;
    188	};
    189
    190	src: src@101e0000 {
    191		compatible = "stericsson,nomadik-src";
    192		reg = <0x101e0000 0x1000>;
    193
    194		/*
    195		 * MXTAL "Main Chrystal" is a chrystal oscillator @19.2 MHz
    196		 * that is parent of TIMCLK, PLL1 and PLL2
    197		 */
    198		mxtal: mxtal@19.2M {
    199			#clock-cells = <0>;
    200			compatible = "fixed-clock";
    201			clock-frequency = <19200000>;
    202		};
    203
    204		/*
    205		 * The 2.4 MHz TIMCLK reference clock is active at
    206		 * boot time, this is actually the MXTALCLK @19.2 MHz
    207		 * divided by 8. This clock is used by the timers and
    208		 * watchdog. See page 105 ff.
    209		 */
    210		timclk: timclk@2.4M {
    211			#clock-cells = <0>;
    212			compatible = "fixed-factor-clock";
    213			clock-div = <8>;
    214			clock-mult = <1>;
    215			clocks = <&mxtal>;
    216		};
    217
    218		/* PLL1 is locked to MXTALI and variable from 20.4 to 334 MHz */
    219		pll1: pll1@0 {
    220			#clock-cells = <0>;
    221			compatible = "st,nomadik-pll-clock";
    222			pll-id = <1>;
    223			clocks = <&mxtal>;
    224		};
    225
    226		/* HCLK divides the PLL1 with 1,2,3 or 4 */
    227		hclk: hclk@0 {
    228			#clock-cells = <0>;
    229			compatible = "st,nomadik-hclk-clock";
    230			clocks = <&pll1>;
    231		};
    232		/* The PCLK domain uses HCLK right off */
    233		pclk: pclk@0 {
    234			#clock-cells = <0>;
    235			compatible = "fixed-factor-clock";
    236			clock-div = <1>;
    237			clock-mult = <1>;
    238			clocks = <&hclk>;
    239		};
    240
    241		/* PLL2 is usually 864 MHz and divided into a few fixed rates */
    242		pll2: pll2@0 {
    243			#clock-cells = <0>;
    244			compatible = "st,nomadik-pll-clock";
    245			pll-id = <2>;
    246			clocks = <&mxtal>;
    247		};
    248		clk216: clk216@216M {
    249			#clock-cells = <0>;
    250			compatible = "fixed-factor-clock";
    251			clock-div = <4>;
    252			clock-mult = <1>;
    253			clocks = <&pll2>;
    254		};
    255		clk108: clk108@108M {
    256			#clock-cells = <0>;
    257			compatible = "fixed-factor-clock";
    258			clock-div = <2>;
    259			clock-mult = <1>;
    260			clocks = <&clk216>;
    261		};
    262		clk72: clk72@72M {
    263			#clock-cells = <0>;
    264			compatible = "fixed-factor-clock";
    265			/* The data sheet does not say how this is derived */
    266			clock-div = <12>;
    267			clock-mult = <1>;
    268			clocks = <&pll2>;
    269		};
    270		clk48: clk48@48M {
    271			#clock-cells = <0>;
    272			compatible = "fixed-factor-clock";
    273			/* The data sheet does not say how this is derived */
    274			clock-div = <18>;
    275			clock-mult = <1>;
    276			clocks = <&pll2>;
    277		};
    278		clk27: clk27@27M {
    279			#clock-cells = <0>;
    280			compatible = "fixed-factor-clock";
    281			clock-div = <4>;
    282			clock-mult = <1>;
    283			clocks = <&clk108>;
    284		};
    285
    286		/* This apparently exists as well */
    287		ulpiclk: ulpiclk@60M {
    288			#clock-cells = <0>;
    289			compatible = "fixed-clock";
    290			clock-frequency = <60000000>;
    291		};
    292
    293		/*
    294		 * IP AMBA bus clocks, driving the bus side of the
    295		 * peripheral clocking, clock gates.
    296		 */
    297
    298		hclkdma0: hclkdma0@48M {
    299			#clock-cells = <0>;
    300			compatible = "st,nomadik-src-clock";
    301			clock-id = <0>;
    302			clocks = <&hclk>;
    303		};
    304		hclksmc: hclksmc@48M {
    305			#clock-cells = <0>;
    306			compatible = "st,nomadik-src-clock";
    307			clock-id = <1>;
    308			clocks = <&hclk>;
    309		};
    310		hclksdram: hclksdram@48M {
    311			#clock-cells = <0>;
    312			compatible = "st,nomadik-src-clock";
    313			clock-id = <2>;
    314			clocks = <&hclk>;
    315		};
    316		hclkdma1: hclkdma1@48M {
    317			#clock-cells = <0>;
    318			compatible = "st,nomadik-src-clock";
    319			clock-id = <3>;
    320			clocks = <&hclk>;
    321		};
    322		hclkclcd: hclkclcd@48M {
    323			#clock-cells = <0>;
    324			compatible = "st,nomadik-src-clock";
    325			clock-id = <4>;
    326			clocks = <&hclk>;
    327		};
    328		pclkirda: pclkirda@48M {
    329			#clock-cells = <0>;
    330			compatible = "st,nomadik-src-clock";
    331			clock-id = <5>;
    332			clocks = <&pclk>;
    333		};
    334		pclkssp: pclkssp@48M {
    335			#clock-cells = <0>;
    336			compatible = "st,nomadik-src-clock";
    337			clock-id = <6>;
    338			clocks = <&pclk>;
    339		};
    340		pclkuart0: pclkuart0@48M {
    341			#clock-cells = <0>;
    342			compatible = "st,nomadik-src-clock";
    343			clock-id = <7>;
    344			clocks = <&pclk>;
    345		};
    346		pclksdi: pclksdi@48M {
    347			#clock-cells = <0>;
    348			compatible = "st,nomadik-src-clock";
    349			clock-id = <8>;
    350			clocks = <&pclk>;
    351		};
    352		pclki2c0: pclki2c0@48M {
    353			#clock-cells = <0>;
    354			compatible = "st,nomadik-src-clock";
    355			clock-id = <9>;
    356			clocks = <&pclk>;
    357		};
    358		pclki2c1: pclki2c1@48M {
    359			#clock-cells = <0>;
    360			compatible = "st,nomadik-src-clock";
    361			clock-id = <10>;
    362			clocks = <&pclk>;
    363		};
    364		pclkuart1: pclkuart1@48M {
    365			#clock-cells = <0>;
    366			compatible = "st,nomadik-src-clock";
    367			clock-id = <11>;
    368			clocks = <&pclk>;
    369		};
    370		pclkmsp0: pclkmsp0@48M {
    371			#clock-cells = <0>;
    372			compatible = "st,nomadik-src-clock";
    373			clock-id = <12>;
    374			clocks = <&pclk>;
    375		};
    376		hclkusb: hclkusb@48M {
    377			#clock-cells = <0>;
    378			compatible = "st,nomadik-src-clock";
    379			clock-id = <13>;
    380			clocks = <&hclk>;
    381		};
    382		hclkdif: hclkdif@48M {
    383			#clock-cells = <0>;
    384			compatible = "st,nomadik-src-clock";
    385			clock-id = <14>;
    386			clocks = <&hclk>;
    387		};
    388		hclksaa: hclksaa@48M {
    389			#clock-cells = <0>;
    390			compatible = "st,nomadik-src-clock";
    391			clock-id = <15>;
    392			clocks = <&hclk>;
    393		};
    394		hclksva: hclksva@48M {
    395			#clock-cells = <0>;
    396			compatible = "st,nomadik-src-clock";
    397			clock-id = <16>;
    398			clocks = <&hclk>;
    399		};
    400		pclkhsi: pclkhsi@48M {
    401			#clock-cells = <0>;
    402			compatible = "st,nomadik-src-clock";
    403			clock-id = <17>;
    404			clocks = <&pclk>;
    405		};
    406		pclkxti: pclkxti@48M {
    407			#clock-cells = <0>;
    408			compatible = "st,nomadik-src-clock";
    409			clock-id = <18>;
    410			clocks = <&pclk>;
    411		};
    412		pclkuart2: pclkuart2@48M {
    413			#clock-cells = <0>;
    414			compatible = "st,nomadik-src-clock";
    415			clock-id = <19>;
    416			clocks = <&pclk>;
    417		};
    418		pclkmsp1: pclkmsp1@48M {
    419			#clock-cells = <0>;
    420			compatible = "st,nomadik-src-clock";
    421			clock-id = <20>;
    422			clocks = <&pclk>;
    423		};
    424		pclkmsp2: pclkmsp2@48M {
    425			#clock-cells = <0>;
    426			compatible = "st,nomadik-src-clock";
    427			clock-id = <21>;
    428			clocks = <&pclk>;
    429		};
    430		pclkowm: pclkowm@48M {
    431			#clock-cells = <0>;
    432			compatible = "st,nomadik-src-clock";
    433			clock-id = <22>;
    434			clocks = <&pclk>;
    435		};
    436		hclkhpi: hclkhpi@48M {
    437			#clock-cells = <0>;
    438			compatible = "st,nomadik-src-clock";
    439			clock-id = <23>;
    440			clocks = <&hclk>;
    441		};
    442		pclkske: pclkske@48M {
    443			#clock-cells = <0>;
    444			compatible = "st,nomadik-src-clock";
    445			clock-id = <24>;
    446			clocks = <&pclk>;
    447		};
    448		pclkhsem: pclkhsem@48M {
    449			#clock-cells = <0>;
    450			compatible = "st,nomadik-src-clock";
    451			clock-id = <25>;
    452			clocks = <&pclk>;
    453		};
    454		hclk3d: hclk3d@48M {
    455			#clock-cells = <0>;
    456			compatible = "st,nomadik-src-clock";
    457			clock-id = <26>;
    458			clocks = <&hclk>;
    459		};
    460		hclkhash: hclkhash@48M {
    461			#clock-cells = <0>;
    462			compatible = "st,nomadik-src-clock";
    463			clock-id = <27>;
    464			clocks = <&hclk>;
    465		};
    466		hclkcryp: hclkcryp@48M {
    467			#clock-cells = <0>;
    468			compatible = "st,nomadik-src-clock";
    469			clock-id = <28>;
    470			clocks = <&hclk>;
    471		};
    472		pclkmshc: pclkmshc@48M {
    473			#clock-cells = <0>;
    474			compatible = "st,nomadik-src-clock";
    475			clock-id = <29>;
    476			clocks = <&pclk>;
    477		};
    478		hclkusbm: hclkusbm@48M {
    479			#clock-cells = <0>;
    480			compatible = "st,nomadik-src-clock";
    481			clock-id = <30>;
    482			clocks = <&hclk>;
    483		};
    484		hclkrng: hclkrng@48M {
    485			#clock-cells = <0>;
    486			compatible = "st,nomadik-src-clock";
    487			clock-id = <31>;
    488			clocks = <&hclk>;
    489		};
    490
    491		/* IP kernel clocks */
    492		clcdclk: clcdclk@0 {
    493			#clock-cells = <0>;
    494			compatible = "st,nomadik-src-clock";
    495			clock-id = <36>;
    496			clocks = <&clk72 &clk48>;
    497		};
    498		irdaclk: irdaclk@48M {
    499			#clock-cells = <0>;
    500			compatible = "st,nomadik-src-clock";
    501			clock-id = <37>;
    502			clocks = <&clk48>;
    503		};
    504		sspiclk: sspiclk@48M {
    505			#clock-cells = <0>;
    506			compatible = "st,nomadik-src-clock";
    507			clock-id = <38>;
    508			clocks = <&clk48>;
    509		};
    510		uart0clk: uart0clk@48M {
    511			#clock-cells = <0>;
    512			compatible = "st,nomadik-src-clock";
    513			clock-id = <39>;
    514			clocks = <&clk48>;
    515		};
    516		sdiclk: sdiclk@48M {
    517			/* Also called MCCLK in some documents */
    518			#clock-cells = <0>;
    519			compatible = "st,nomadik-src-clock";
    520			clock-id = <40>;
    521			clocks = <&clk48>;
    522		};
    523		i2c0clk: i2c0clk@48M {
    524			#clock-cells = <0>;
    525			compatible = "st,nomadik-src-clock";
    526			clock-id = <41>;
    527			clocks = <&clk48>;
    528		};
    529		i2c1clk: i2c1clk@48M {
    530			#clock-cells = <0>;
    531			compatible = "st,nomadik-src-clock";
    532			clock-id = <42>;
    533			clocks = <&clk48>;
    534		};
    535		uart1clk: uart1clk@48M {
    536			#clock-cells = <0>;
    537			compatible = "st,nomadik-src-clock";
    538			clock-id = <43>;
    539			clocks = <&clk48>;
    540		};
    541		mspclk0: mspclk0@48M {
    542			#clock-cells = <0>;
    543			compatible = "st,nomadik-src-clock";
    544			clock-id = <44>;
    545			clocks = <&clk48>;
    546		};
    547		usbclk: usbclk@48M {
    548			#clock-cells = <0>;
    549			compatible = "st,nomadik-src-clock";
    550			clock-id = <45>;
    551			clocks = <&clk48>; /* 48 MHz not ULPI */
    552		};
    553		difclk: difclk@72M {
    554			#clock-cells = <0>;
    555			compatible = "st,nomadik-src-clock";
    556			clock-id = <46>;
    557			clocks = <&clk72>;
    558		};
    559		ipi2cclk: ipi2cclk@48M {
    560			#clock-cells = <0>;
    561			compatible = "st,nomadik-src-clock";
    562			clock-id = <47>;
    563			clocks = <&clk48>; /* Guess */
    564		};
    565		ipbmcclk: ipbmcclk@48M {
    566			#clock-cells = <0>;
    567			compatible = "st,nomadik-src-clock";
    568			clock-id = <48>;
    569			clocks = <&clk48>; /* Guess */
    570		};
    571		hsiclkrx: hsiclkrx@216M {
    572			#clock-cells = <0>;
    573			compatible = "st,nomadik-src-clock";
    574			clock-id = <49>;
    575			clocks = <&clk216>;
    576		};
    577		hsiclktx: hsiclktx@108M {
    578			#clock-cells = <0>;
    579			compatible = "st,nomadik-src-clock";
    580			clock-id = <50>;
    581			clocks = <&clk108>;
    582		};
    583		uart2clk: uart2clk@48M {
    584			#clock-cells = <0>;
    585			compatible = "st,nomadik-src-clock";
    586			clock-id = <51>;
    587			clocks = <&clk48>;
    588		};
    589		mspclk1: mspclk1@48M {
    590			#clock-cells = <0>;
    591			compatible = "st,nomadik-src-clock";
    592			clock-id = <52>;
    593			clocks = <&clk48>;
    594		};
    595		mspclk2: mspclk2@48M {
    596			#clock-cells = <0>;
    597			compatible = "st,nomadik-src-clock";
    598			clock-id = <53>;
    599			clocks = <&clk48>;
    600		};
    601		owmclk: owmclk@48M {
    602			#clock-cells = <0>;
    603			compatible = "st,nomadik-src-clock";
    604			clock-id = <54>;
    605			clocks = <&clk48>; /* Guess */
    606		};
    607		skeclk: skeclk@48M {
    608			#clock-cells = <0>;
    609			compatible = "st,nomadik-src-clock";
    610			clock-id = <56>;
    611			clocks = <&clk48>; /* Guess */
    612		};
    613		x3dclk: x3dclk@48M {
    614			#clock-cells = <0>;
    615			compatible = "st,nomadik-src-clock";
    616			clock-id = <58>;
    617			clocks = <&clk48>; /* Guess */
    618		};
    619		pclkmsp3: pclkmsp3@48M {
    620			#clock-cells = <0>;
    621			compatible = "st,nomadik-src-clock";
    622			clock-id = <59>;
    623			clocks = <&pclk>;
    624		};
    625		mspclk3: mspclk3@48M {
    626			#clock-cells = <0>;
    627			compatible = "st,nomadik-src-clock";
    628			clock-id = <60>;
    629			clocks = <&clk48>;
    630		};
    631		mshcclk: mshcclk@48M {
    632			#clock-cells = <0>;
    633			compatible = "st,nomadik-src-clock";
    634			clock-id = <61>;
    635			clocks = <&clk48>; /* Guess */
    636		};
    637		usbmclk: usbmclk@48M {
    638			#clock-cells = <0>;
    639			compatible = "st,nomadik-src-clock";
    640			clock-id = <62>;
    641			/* Stated as "48 MHz not ULPI clock" */
    642			clocks = <&clk48>;
    643		};
    644		rngcclk: rngcclk@48M {
    645			#clock-cells = <0>;
    646			compatible = "st,nomadik-src-clock";
    647			clock-id = <63>;
    648			clocks = <&clk48>; /* Guess */
    649		};
    650	};
    651
    652	/* A NAND flash of 128 MiB */
    653	fsmc: flash@40000000 {
    654		compatible = "stericsson,fsmc-nand";
    655		#address-cells = <1>;
    656		#size-cells = <1>;
    657		reg = <0x10100000 0x1000>,	/* FSMC Register*/
    658			<0x40000000 0x2000>,	/* NAND Base DATA */
    659			<0x41000000 0x2000>,	/* NAND Base ADDR */
    660			<0x40800000 0x2000>;	/* NAND Base CMD */
    661		reg-names = "fsmc_regs", "nand_data", "nand_addr", "nand_cmd";
    662		clocks = <&hclksmc>;
    663		status = "okay";
    664
    665		partition@0 {
    666		label = "X-Loader(NAND)";
    667			reg = <0x0 0x40000>;
    668		};
    669		partition@40000 {
    670			label = "MemInit(NAND)";
    671			reg = <0x40000 0x40000>;
    672		};
    673		partition@80000 {
    674			label = "BootLoader(NAND)";
    675			reg = <0x80000 0x200000>;
    676		};
    677		partition@280000 {
    678			label = "Kernel zImage(NAND)";
    679			reg = <0x280000 0x300000>;
    680		};
    681		partition@580000 {
    682			label = "Root Filesystem(NAND)";
    683			reg = <0x580000 0x1600000>;
    684		};
    685		partition@1b80000 {
    686			label = "User Filesystem(NAND)";
    687			reg = <0x1b80000 0x6480000>;
    688		};
    689	};
    690
    691	/* I2C0 connected to the STw4811 power management chip */
    692	i2c0 {
    693		compatible = "st,nomadik-i2c", "arm,primecell";
    694		reg = <0x101f8000 0x1000>;
    695		interrupt-parent = <&vica>;
    696		interrupts = <20>;
    697		clock-frequency = <100000>;
    698		#address-cells = <1>;
    699		#size-cells = <0>;
    700		clocks = <&i2c0clk>, <&pclki2c0>;
    701		clock-names = "mclk", "apb_pclk";
    702		pinctrl-names = "default";
    703		pinctrl-0 = <&i2c0_default_mux>, <&i2c0_default_mode>;
    704
    705		stw4811@2d {
    706			compatible = "st,stw4811";
    707			reg = <0x2d>;
    708			vmmc_regulator: vmmc {
    709				compatible = "st,stw481x-vmmc";
    710				regulator-name = "VMMC";
    711				regulator-min-microvolt = <1800000>;
    712				regulator-max-microvolt = <3300000>;
    713			};
    714		};
    715	};
    716
    717	/* I2C1 connected to various sensors */
    718	i2c1 {
    719		compatible = "st,nomadik-i2c", "arm,primecell";
    720		reg = <0x101f7000 0x1000>;
    721		interrupt-parent = <&vica>;
    722		interrupts = <21>;
    723		clock-frequency = <100000>;
    724		#address-cells = <1>;
    725		#size-cells = <0>;
    726		clocks = <&i2c1clk>, <&pclki2c1>;
    727		clock-names = "mclk", "apb_pclk";
    728		pinctrl-names = "default";
    729		pinctrl-0 = <&i2c1_default_mux>, <&i2c1_default_mode>;
    730
    731		camera@2d {
    732			   compatible = "st,camera";
    733			   reg = <0x10>;
    734		};
    735		stw5095@1a {
    736			   compatible = "st,stw5095";
    737			   reg = <0x1a>;
    738		};
    739	};
    740
    741	amba {
    742		compatible = "simple-bus";
    743		#address-cells = <1>;
    744		#size-cells = <1>;
    745		ranges;
    746
    747		clcd@10120000 {
    748			compatible = "arm,pl110", "arm,primecell";
    749			reg = <0x10120000 0x1000>;
    750			interrupt-names = "combined";
    751			interrupts = <14>;
    752			interrupt-parent = <&vica>;
    753			clocks = <&clcdclk>, <&hclkclcd>;
    754			clock-names = "clcdclk", "apb_pclk";
    755			status = "disabled";
    756		};
    757
    758		vica: interrupt-controller@10140000 {
    759			compatible = "arm,versatile-vic";
    760			interrupt-controller;
    761			#interrupt-cells = <1>;
    762			reg = <0x10140000 0x20>;
    763		};
    764
    765		vicb: interrupt-controller@10140020 {
    766			compatible = "arm,versatile-vic";
    767			interrupt-controller;
    768			#interrupt-cells = <1>;
    769			reg = <0x10140020 0x20>;
    770		};
    771
    772		uart0: uart@101fd000 {
    773			compatible = "arm,pl011", "arm,primecell";
    774			reg = <0x101fd000 0x1000>;
    775			interrupt-parent = <&vica>;
    776			interrupts = <12>;
    777			clocks = <&uart0clk>, <&pclkuart0>;
    778			clock-names = "uartclk", "apb_pclk";
    779			status = "disabled";
    780			dmas = <&dmac0 14 1>,
    781			       <&dmac0 15 1>;
    782			dma-names = "rx", "tx";
    783		};
    784
    785		uart1: uart@101fb000 {
    786			compatible = "arm,pl011", "arm,primecell";
    787			reg = <0x101fb000 0x1000>;
    788			interrupt-parent = <&vica>;
    789			interrupts = <17>;
    790			clocks = <&uart1clk>, <&pclkuart1>;
    791			clock-names = "uartclk", "apb_pclk";
    792			pinctrl-names = "default";
    793			pinctrl-0 = <&uart1_default_mux>;
    794			dmas = <&dmac1 22 1>,
    795			       <&dmac1 23 1>;
    796			dma-names = "rx", "tx";
    797		};
    798
    799		uart2: uart@101f2000 {
    800			compatible = "arm,pl011", "arm,primecell";
    801			reg = <0x101f2000 0x1000>;
    802			interrupt-parent = <&vica>;
    803			interrupts = <28>;
    804			clocks = <&uart2clk>, <&pclkuart2>;
    805			clock-names = "uartclk", "apb_pclk";
    806			status = "disabled";
    807			dmas = <&dmac1 30 1>,
    808			       <&dmac1 31 1>;
    809			dma-names = "rx", "tx";
    810		};
    811
    812		rng: rng@101b0000 {
    813			compatible = "arm,primecell";
    814			reg = <0x101b0000 0x1000>;
    815			clocks = <&rngcclk>, <&hclkrng>;
    816			clock-names = "rng", "apb_pclk";
    817		};
    818
    819		rtc: rtc@101e8000 {
    820			compatible = "arm,pl031", "arm,primecell";
    821			reg = <0x101e8000 0x1000>;
    822			clocks = <&pclk>;
    823			clock-names = "apb_pclk";
    824			interrupt-parent = <&vica>;
    825			interrupts = <10>;
    826		};
    827
    828		mmcsd: mmc@101f6000 {
    829			compatible = "arm,pl18x", "arm,primecell";
    830			reg = <0x101f6000 0x1000>;
    831			clocks = <&sdiclk>, <&pclksdi>;
    832			clock-names = "mclk", "apb_pclk";
    833			interrupt-parent = <&vica>;
    834			interrupts = <22>;
    835			max-frequency = <400000>;
    836			bus-width = <4>;
    837			cap-mmc-highspeed;
    838			cap-sd-highspeed;
    839			full-pwr-cycle;
    840			/*
    841			 * The STw4811 circuit used with the Nomadik strictly
    842			 * requires that all of these signal direction pins be
    843			 * routed and used for its 4-bit levelshifter.
    844			 */
    845			st,sig-dir-dat0;
    846			st,sig-dir-dat2;
    847			st,sig-dir-dat31;
    848			st,sig-dir-cmd;
    849			st,sig-pin-fbclk;
    850			pinctrl-names = "default";
    851			pinctrl-0 = <&mmcsd_default_mux>, <&mmcsd_default_mode>;
    852			vmmc-supply = <&vmmc_regulator>;
    853		};
    854
    855		dmac0: dma-controller@10130000 {
    856			compatible = "arm,pl080", "arm,primecell";
    857			reg = <0x10130000 0x1000>;
    858			interrupt-parent = <&vica>;
    859			interrupts = <15>;
    860			clocks = <&hclkdma0>;
    861			clock-names = "apb_pclk";
    862			lli-bus-interface-ahb1;
    863			lli-bus-interface-ahb2;
    864			mem-bus-interface-ahb2;
    865			memcpy-burst-size = <256>;
    866			memcpy-bus-width = <32>;
    867			#dma-cells = <2>;
    868		};
    869		dmac1: dma-controller@10150000 {
    870			compatible = "arm,pl080", "arm,primecell";
    871			reg = <0x10150000 0x1000>;
    872			interrupt-parent = <&vica>;
    873			interrupts = <13>;
    874			clocks = <&hclkdma1>;
    875			clock-names = "apb_pclk";
    876			lli-bus-interface-ahb1;
    877			lli-bus-interface-ahb2;
    878			mem-bus-interface-ahb2;
    879			memcpy-burst-size = <256>;
    880			memcpy-bus-width = <32>;
    881			#dma-cells = <2>;
    882		};
    883	};
    884};