1ee0a3f56SAlexandr Smirnov/* 2ee0a3f56SAlexandr Smirnov * Device Tree Source for Emerson KSI8560 3ee0a3f56SAlexandr Smirnov * 4ee0a3f56SAlexandr Smirnov * Author: Alexandr Smirnov <asmirnov@ru.mvista.com> 5ee0a3f56SAlexandr Smirnov * 6ee0a3f56SAlexandr Smirnov * Based on mpc8560ads.dts 7ee0a3f56SAlexandr Smirnov * 8ee0a3f56SAlexandr Smirnov * 2008 (c) MontaVista, Software, Inc. This file is licensed under 9ee0a3f56SAlexandr Smirnov * the terms of the GNU General Public License version 2. This program 10ee0a3f56SAlexandr Smirnov * is licensed "as is" without any warranty of any kind, whether express 11ee0a3f56SAlexandr Smirnov * or implied. 12ee0a3f56SAlexandr Smirnov * 13ee0a3f56SAlexandr Smirnov */ 14ee0a3f56SAlexandr Smirnov 15ee0a3f56SAlexandr Smirnov/dts-v1/; 16ee0a3f56SAlexandr Smirnov 17ee0a3f56SAlexandr Smirnov/ { 18ee0a3f56SAlexandr Smirnov model = "KSI8560"; 19ee0a3f56SAlexandr Smirnov compatible = "emerson,KSI8560"; 20ee0a3f56SAlexandr Smirnov #address-cells = <1>; 21ee0a3f56SAlexandr Smirnov #size-cells = <1>; 22ee0a3f56SAlexandr Smirnov 23ee0a3f56SAlexandr Smirnov aliases { 24ee0a3f56SAlexandr Smirnov ethernet0 = &enet0; 25ee0a3f56SAlexandr Smirnov ethernet1 = &enet1; 26ee0a3f56SAlexandr Smirnov ethernet2 = &enet2; 27ee0a3f56SAlexandr Smirnov }; 28ee0a3f56SAlexandr Smirnov 29ee0a3f56SAlexandr Smirnov cpus { 30ee0a3f56SAlexandr Smirnov #address-cells = <1>; 31ee0a3f56SAlexandr Smirnov #size-cells = <0>; 32ee0a3f56SAlexandr Smirnov 33ee0a3f56SAlexandr Smirnov PowerPC,8560@0 { 34ee0a3f56SAlexandr Smirnov device_type = "cpu"; 35ee0a3f56SAlexandr Smirnov reg = <0>; 36ee0a3f56SAlexandr Smirnov d-cache-line-size = <32>; 37ee0a3f56SAlexandr Smirnov i-cache-line-size = <32>; 38ee0a3f56SAlexandr Smirnov d-cache-size = <0x8000>; /* L1, 32K */ 39ee0a3f56SAlexandr Smirnov i-cache-size = <0x8000>; /* L1, 32K */ 40ee0a3f56SAlexandr Smirnov timebase-frequency = <0>; /* From U-boot */ 41ee0a3f56SAlexandr Smirnov bus-frequency = <0>; /* From U-boot */ 42ee0a3f56SAlexandr Smirnov clock-frequency = <0>; /* From U-boot */ 43c054065bSKumar Gala next-level-cache = <&L2>; 44ee0a3f56SAlexandr Smirnov }; 45ee0a3f56SAlexandr Smirnov }; 46ee0a3f56SAlexandr Smirnov 47ee0a3f56SAlexandr Smirnov memory { 48ee0a3f56SAlexandr Smirnov device_type = "memory"; 49ee0a3f56SAlexandr Smirnov reg = <0x00000000 0x10000000>; /* Fixed by bootwrapper */ 50ee0a3f56SAlexandr Smirnov }; 51ee0a3f56SAlexandr Smirnov 52ee0a3f56SAlexandr Smirnov soc@fdf00000 { 53ee0a3f56SAlexandr Smirnov #address-cells = <1>; 54ee0a3f56SAlexandr Smirnov #size-cells = <1>; 55ee0a3f56SAlexandr Smirnov device_type = "soc"; 56ee0a3f56SAlexandr Smirnov ranges = <0x00000000 0xfdf00000 0x00100000>; 57ee0a3f56SAlexandr Smirnov bus-frequency = <0>; /* Fixed by bootwrapper */ 58ee0a3f56SAlexandr Smirnov 59e1a22897SKumar Gala ecm-law@0 { 60e1a22897SKumar Gala compatible = "fsl,ecm-law"; 61e1a22897SKumar Gala reg = <0x0 0x1000>; 62e1a22897SKumar Gala fsl,num-laws = <8>; 63e1a22897SKumar Gala }; 64e1a22897SKumar Gala 65e1a22897SKumar Gala ecm@1000 { 66e1a22897SKumar Gala compatible = "fsl,mpc8560-ecm", "fsl,ecm"; 67e1a22897SKumar Gala reg = <0x1000 0x1000>; 68e1a22897SKumar Gala interrupts = <17 2>; 69e1a22897SKumar Gala interrupt-parent = <&mpic>; 70e1a22897SKumar Gala }; 71e1a22897SKumar Gala 72ee0a3f56SAlexandr Smirnov memory-controller@2000 { 73fe671772SKumar Gala compatible = "fsl,mpc8540-memory-controller"; 74ee0a3f56SAlexandr Smirnov reg = <0x2000 0x1000>; 750fe9b1eaSKumar Gala interrupt-parent = <&mpic>; 76ee0a3f56SAlexandr Smirnov interrupts = <0x12 0x2>; 77ee0a3f56SAlexandr Smirnov }; 78ee0a3f56SAlexandr Smirnov 79c054065bSKumar Gala L2: l2-cache-controller@20000 { 80fe671772SKumar Gala compatible = "fsl,mpc8540-l2-cache-controller"; 81ee0a3f56SAlexandr Smirnov reg = <0x20000 0x1000>; 82ee0a3f56SAlexandr Smirnov cache-line-size = <0x20>; /* 32 bytes */ 83ee0a3f56SAlexandr Smirnov cache-size = <0x40000>; /* L2, 256K */ 840fe9b1eaSKumar Gala interrupt-parent = <&mpic>; 85ee0a3f56SAlexandr Smirnov interrupts = <0x10 0x2>; 86ee0a3f56SAlexandr Smirnov }; 87ee0a3f56SAlexandr Smirnov 88ee0a3f56SAlexandr Smirnov i2c@3000 { 89ee0a3f56SAlexandr Smirnov #address-cells = <1>; 90ee0a3f56SAlexandr Smirnov #size-cells = <0>; 91ee0a3f56SAlexandr Smirnov cell-index = <0>; 92ee0a3f56SAlexandr Smirnov compatible = "fsl-i2c"; 93ee0a3f56SAlexandr Smirnov reg = <0x3000 0x100>; 94ee0a3f56SAlexandr Smirnov interrupts = <0x2b 0x2>; 950fe9b1eaSKumar Gala interrupt-parent = <&mpic>; 96ee0a3f56SAlexandr Smirnov dfsrr; 97ee0a3f56SAlexandr Smirnov }; 98ee0a3f56SAlexandr Smirnov 99dee80553SKumar Gala dma@21300 { 100dee80553SKumar Gala #address-cells = <1>; 101dee80553SKumar Gala #size-cells = <1>; 102dee80553SKumar Gala compatible = "fsl,mpc8560-dma", "fsl,eloplus-dma"; 103dee80553SKumar Gala reg = <0x21300 0x4>; 104dee80553SKumar Gala ranges = <0x0 0x21100 0x200>; 105dee80553SKumar Gala cell-index = <0>; 106dee80553SKumar Gala dma-channel@0 { 107dee80553SKumar Gala compatible = "fsl,mpc8560-dma-channel", 108dee80553SKumar Gala "fsl,eloplus-dma-channel"; 109dee80553SKumar Gala reg = <0x0 0x80>; 110dee80553SKumar Gala cell-index = <0>; 111dee80553SKumar Gala interrupt-parent = <&mpic>; 112dee80553SKumar Gala interrupts = <20 2>; 113dee80553SKumar Gala }; 114dee80553SKumar Gala dma-channel@80 { 115dee80553SKumar Gala compatible = "fsl,mpc8560-dma-channel", 116dee80553SKumar Gala "fsl,eloplus-dma-channel"; 117dee80553SKumar Gala reg = <0x80 0x80>; 118dee80553SKumar Gala cell-index = <1>; 119dee80553SKumar Gala interrupt-parent = <&mpic>; 120dee80553SKumar Gala interrupts = <21 2>; 121dee80553SKumar Gala }; 122dee80553SKumar Gala dma-channel@100 { 123dee80553SKumar Gala compatible = "fsl,mpc8560-dma-channel", 124dee80553SKumar Gala "fsl,eloplus-dma-channel"; 125dee80553SKumar Gala reg = <0x100 0x80>; 126dee80553SKumar Gala cell-index = <2>; 127dee80553SKumar Gala interrupt-parent = <&mpic>; 128dee80553SKumar Gala interrupts = <22 2>; 129dee80553SKumar Gala }; 130dee80553SKumar Gala dma-channel@180 { 131dee80553SKumar Gala compatible = "fsl,mpc8560-dma-channel", 132dee80553SKumar Gala "fsl,eloplus-dma-channel"; 133dee80553SKumar Gala reg = <0x180 0x80>; 134dee80553SKumar Gala cell-index = <3>; 135dee80553SKumar Gala interrupt-parent = <&mpic>; 136dee80553SKumar Gala interrupts = <23 2>; 137dee80553SKumar Gala }; 138dee80553SKumar Gala }; 139dee80553SKumar Gala 14084ba4a58SAnton Vorontsov enet0: ethernet@24000 { 14184ba4a58SAnton Vorontsov #address-cells = <1>; 14284ba4a58SAnton Vorontsov #size-cells = <1>; 14384ba4a58SAnton Vorontsov device_type = "network"; 14484ba4a58SAnton Vorontsov model = "TSEC"; 14584ba4a58SAnton Vorontsov compatible = "gianfar"; 14684ba4a58SAnton Vorontsov reg = <0x24000 0x1000>; 14784ba4a58SAnton Vorontsov ranges = <0x0 0x24000 0x1000>; 14884ba4a58SAnton Vorontsov /* Mac address filled in by bootwrapper */ 14984ba4a58SAnton Vorontsov local-mac-address = [ 00 00 00 00 00 00 ]; 15084ba4a58SAnton Vorontsov interrupts = <0x1d 0x2 0x1e 0x2 0x22 0x2>; 15184ba4a58SAnton Vorontsov interrupt-parent = <&mpic>; 15284ba4a58SAnton Vorontsov tbi-handle = <&tbi0>; 15384ba4a58SAnton Vorontsov phy-handle = <&PHY1>; 15484ba4a58SAnton Vorontsov 15584ba4a58SAnton Vorontsov mdio@520 { /* For TSECs */ 156ee0a3f56SAlexandr Smirnov #address-cells = <1>; 157ee0a3f56SAlexandr Smirnov #size-cells = <0>; 158ee0a3f56SAlexandr Smirnov compatible = "fsl,gianfar-mdio"; 15984ba4a58SAnton Vorontsov reg = <0x520 0x20>; 160ee0a3f56SAlexandr Smirnov 161ee0a3f56SAlexandr Smirnov PHY1: ethernet-phy@1 { 1620fe9b1eaSKumar Gala interrupt-parent = <&mpic>; 163ee0a3f56SAlexandr Smirnov reg = <0x1>; 164ee0a3f56SAlexandr Smirnov device_type = "ethernet-phy"; 165ee0a3f56SAlexandr Smirnov }; 166ee0a3f56SAlexandr Smirnov 167ee0a3f56SAlexandr Smirnov PHY2: ethernet-phy@2 { 1680fe9b1eaSKumar Gala interrupt-parent = <&mpic>; 169ee0a3f56SAlexandr Smirnov reg = <0x2>; 170ee0a3f56SAlexandr Smirnov device_type = "ethernet-phy"; 171ee0a3f56SAlexandr Smirnov }; 172b31a1d8bSAndy Fleming 173b31a1d8bSAndy Fleming tbi0: tbi-phy@11 { 174b31a1d8bSAndy Fleming reg = <0x11>; 175b31a1d8bSAndy Fleming device_type = "tbi-phy"; 176ee0a3f56SAlexandr Smirnov }; 177b31a1d8bSAndy Fleming }; 178ee0a3f56SAlexandr Smirnov }; 179ee0a3f56SAlexandr Smirnov 180ee0a3f56SAlexandr Smirnov enet1: ethernet@25000 { 18184ba4a58SAnton Vorontsov #address-cells = <1>; 18284ba4a58SAnton Vorontsov #size-cells = <1>; 183ee0a3f56SAlexandr Smirnov device_type = "network"; 184ee0a3f56SAlexandr Smirnov model = "TSEC"; 185ee0a3f56SAlexandr Smirnov compatible = "gianfar"; 186ee0a3f56SAlexandr Smirnov reg = <0x25000 0x1000>; 18784ba4a58SAnton Vorontsov ranges = <0x0 0x25000 0x1000>; 188ee0a3f56SAlexandr Smirnov /* Mac address filled in by bootwrapper */ 189ee0a3f56SAlexandr Smirnov local-mac-address = [ 00 00 00 00 00 00 ]; 190ee0a3f56SAlexandr Smirnov interrupts = <0x23 0x2 0x24 0x2 0x28 0x2>; 1910fe9b1eaSKumar Gala interrupt-parent = <&mpic>; 192b31a1d8bSAndy Fleming tbi-handle = <&tbi1>; 193ee0a3f56SAlexandr Smirnov phy-handle = <&PHY2>; 19484ba4a58SAnton Vorontsov 19584ba4a58SAnton Vorontsov mdio@520 { 19684ba4a58SAnton Vorontsov #address-cells = <1>; 19784ba4a58SAnton Vorontsov #size-cells = <0>; 19884ba4a58SAnton Vorontsov compatible = "fsl,gianfar-tbi"; 19984ba4a58SAnton Vorontsov reg = <0x520 0x20>; 20084ba4a58SAnton Vorontsov 20184ba4a58SAnton Vorontsov tbi1: tbi-phy@11 { 20284ba4a58SAnton Vorontsov reg = <0x11>; 20384ba4a58SAnton Vorontsov device_type = "tbi-phy"; 20484ba4a58SAnton Vorontsov }; 20584ba4a58SAnton Vorontsov }; 206ee0a3f56SAlexandr Smirnov }; 207ee0a3f56SAlexandr Smirnov 2080fe9b1eaSKumar Gala mpic: pic@40000 { 209ee0a3f56SAlexandr Smirnov #address-cells = <0>; 210ee0a3f56SAlexandr Smirnov #interrupt-cells = <2>; 211ee0a3f56SAlexandr Smirnov interrupt-controller; 212ee0a3f56SAlexandr Smirnov reg = <0x40000 0x40000>; 213ee0a3f56SAlexandr Smirnov device_type = "open-pic"; 214ee0a3f56SAlexandr Smirnov }; 215ee0a3f56SAlexandr Smirnov 216ee0a3f56SAlexandr Smirnov cpm@919c0 { 217ee0a3f56SAlexandr Smirnov #address-cells = <1>; 218ee0a3f56SAlexandr Smirnov #size-cells = <1>; 219ee0a3f56SAlexandr Smirnov compatible = "fsl,mpc8560-cpm", "fsl,cpm2"; 220ee0a3f56SAlexandr Smirnov reg = <0x919c0 0x30>; 221ee0a3f56SAlexandr Smirnov ranges; 222ee0a3f56SAlexandr Smirnov 223ee0a3f56SAlexandr Smirnov muram@80000 { 224ee0a3f56SAlexandr Smirnov #address-cells = <1>; 225ee0a3f56SAlexandr Smirnov #size-cells = <1>; 226ee0a3f56SAlexandr Smirnov ranges = <0x0 0x80000 0x10000>; 227ee0a3f56SAlexandr Smirnov 228ee0a3f56SAlexandr Smirnov data@0 { 229ee0a3f56SAlexandr Smirnov compatible = "fsl,cpm-muram-data"; 230ee0a3f56SAlexandr Smirnov reg = <0x0 0x4000 0x9000 0x2000>; 231ee0a3f56SAlexandr Smirnov }; 232ee0a3f56SAlexandr Smirnov }; 233ee0a3f56SAlexandr Smirnov 234ee0a3f56SAlexandr Smirnov brg@919f0 { 235ee0a3f56SAlexandr Smirnov compatible = "fsl,mpc8560-brg", 236ee0a3f56SAlexandr Smirnov "fsl,cpm2-brg", 237ee0a3f56SAlexandr Smirnov "fsl,cpm-brg"; 238ee0a3f56SAlexandr Smirnov reg = <0x919f0 0x10 0x915f0 0x10>; 239ee0a3f56SAlexandr Smirnov clock-frequency = <165000000>; /* 166MHz */ 240ee0a3f56SAlexandr Smirnov }; 241ee0a3f56SAlexandr Smirnov 242ee0a3f56SAlexandr Smirnov CPMPIC: pic@90c00 { 243ee0a3f56SAlexandr Smirnov #address-cells = <0>; 244ee0a3f56SAlexandr Smirnov #interrupt-cells = <2>; 245ee0a3f56SAlexandr Smirnov interrupt-controller; 246ee0a3f56SAlexandr Smirnov interrupts = <0x2e 0x2>; 2470fe9b1eaSKumar Gala interrupt-parent = <&mpic>; 248ee0a3f56SAlexandr Smirnov reg = <0x90c00 0x80>; 249ee0a3f56SAlexandr Smirnov compatible = "fsl,mpc8560-cpm-pic", "fsl,cpm2-pic"; 250ee0a3f56SAlexandr Smirnov }; 251ee0a3f56SAlexandr Smirnov 252ee0a3f56SAlexandr Smirnov serial@91a00 { 253ee0a3f56SAlexandr Smirnov device_type = "serial"; 254ee0a3f56SAlexandr Smirnov compatible = "fsl,mpc8560-scc-uart", 255ee0a3f56SAlexandr Smirnov "fsl,cpm2-scc-uart"; 256ee0a3f56SAlexandr Smirnov reg = <0x91a00 0x20 0x88000 0x100>; 257ee0a3f56SAlexandr Smirnov fsl,cpm-brg = <1>; 258ee0a3f56SAlexandr Smirnov fsl,cpm-command = <0x800000>; 259ee0a3f56SAlexandr Smirnov current-speed = <0x1c200>; 260ee0a3f56SAlexandr Smirnov interrupts = <0x28 0x8>; 261ee0a3f56SAlexandr Smirnov interrupt-parent = <&CPMPIC>; 262ee0a3f56SAlexandr Smirnov }; 263ee0a3f56SAlexandr Smirnov 264ee0a3f56SAlexandr Smirnov serial@91a20 { 265ee0a3f56SAlexandr Smirnov device_type = "serial"; 266ee0a3f56SAlexandr Smirnov compatible = "fsl,mpc8560-scc-uart", 267ee0a3f56SAlexandr Smirnov "fsl,cpm2-scc-uart"; 268ee0a3f56SAlexandr Smirnov reg = <0x91a20 0x20 0x88100 0x100>; 269ee0a3f56SAlexandr Smirnov fsl,cpm-brg = <2>; 270ee0a3f56SAlexandr Smirnov fsl,cpm-command = <0x4a00000>; 271ee0a3f56SAlexandr Smirnov current-speed = <0x1c200>; 272ee0a3f56SAlexandr Smirnov interrupts = <0x29 0x8>; 273ee0a3f56SAlexandr Smirnov interrupt-parent = <&CPMPIC>; 274ee0a3f56SAlexandr Smirnov }; 275ee0a3f56SAlexandr Smirnov 276ee0a3f56SAlexandr Smirnov mdio@90d00 { /* For FCCs */ 277ee0a3f56SAlexandr Smirnov #address-cells = <1>; 278ee0a3f56SAlexandr Smirnov #size-cells = <0>; 279ee0a3f56SAlexandr Smirnov compatible = "fsl,cpm2-mdio-bitbang"; 280ee0a3f56SAlexandr Smirnov reg = <0x90d00 0x14>; 281ee0a3f56SAlexandr Smirnov fsl,mdio-pin = <24>; 282ee0a3f56SAlexandr Smirnov fsl,mdc-pin = <25>; 283ee0a3f56SAlexandr Smirnov 284ee0a3f56SAlexandr Smirnov PHY0: ethernet-phy@0 { 2850fe9b1eaSKumar Gala interrupt-parent = <&mpic>; 286ee0a3f56SAlexandr Smirnov reg = <0x0>; 287ee0a3f56SAlexandr Smirnov device_type = "ethernet-phy"; 288ee0a3f56SAlexandr Smirnov }; 289ee0a3f56SAlexandr Smirnov }; 290ee0a3f56SAlexandr Smirnov 291ee0a3f56SAlexandr Smirnov enet2: ethernet@91300 { 292ee0a3f56SAlexandr Smirnov device_type = "network"; 293ee0a3f56SAlexandr Smirnov compatible = "fsl,mpc8560-fcc-enet", 294ee0a3f56SAlexandr Smirnov "fsl,cpm2-fcc-enet"; 295ee0a3f56SAlexandr Smirnov reg = <0x91300 0x20 0x88400 0x100 0x91390 0x1>; 296ee0a3f56SAlexandr Smirnov /* Mac address filled in by bootwrapper */ 297ee0a3f56SAlexandr Smirnov local-mac-address = [ 00 00 00 00 00 00 ]; 298ee0a3f56SAlexandr Smirnov fsl,cpm-command = <0x12000300>; 299ee0a3f56SAlexandr Smirnov interrupts = <0x20 0x8>; 300ee0a3f56SAlexandr Smirnov interrupt-parent = <&CPMPIC>; 301ee0a3f56SAlexandr Smirnov phy-handle = <&PHY0>; 302ee0a3f56SAlexandr Smirnov }; 303ee0a3f56SAlexandr Smirnov }; 304ee0a3f56SAlexandr Smirnov }; 305ee0a3f56SAlexandr Smirnov 306ee0a3f56SAlexandr Smirnov localbus@fdf05000 { 307ee0a3f56SAlexandr Smirnov #address-cells = <2>; 308ee0a3f56SAlexandr Smirnov #size-cells = <1>; 309ee0a3f56SAlexandr Smirnov compatible = "fsl,mpc8560-localbus"; 310ee0a3f56SAlexandr Smirnov reg = <0xfdf05000 0x68>; 311ee0a3f56SAlexandr Smirnov 312ee0a3f56SAlexandr Smirnov ranges = <0x0 0x0 0xe0000000 0x00800000 313ee0a3f56SAlexandr Smirnov 0x4 0x0 0xe8080000 0x00080000>; 314ee0a3f56SAlexandr Smirnov 315ee0a3f56SAlexandr Smirnov flash@0,0 { 316ee0a3f56SAlexandr Smirnov #address-cells = <1>; 317ee0a3f56SAlexandr Smirnov #size-cells = <1>; 318ee0a3f56SAlexandr Smirnov compatible = "jedec-flash"; 319ee0a3f56SAlexandr Smirnov reg = <0x0 0x0 0x800000>; 320ee0a3f56SAlexandr Smirnov bank-width = <0x2>; 321ee0a3f56SAlexandr Smirnov 322ee0a3f56SAlexandr Smirnov partition@0 { 323ee0a3f56SAlexandr Smirnov label = "Primary Kernel"; 324ee0a3f56SAlexandr Smirnov reg = <0x0 0x180000>; 325ee0a3f56SAlexandr Smirnov }; 326ee0a3f56SAlexandr Smirnov partition@180000 { 327ee0a3f56SAlexandr Smirnov label = "Primary Filesystem"; 328ee0a3f56SAlexandr Smirnov reg = <0x180000 0x580000>; 329ee0a3f56SAlexandr Smirnov }; 330ee0a3f56SAlexandr Smirnov partition@700000 { 331ee0a3f56SAlexandr Smirnov label = "Monitor"; 332ee0a3f56SAlexandr Smirnov reg = <0x300000 0x100000>; 333ee0a3f56SAlexandr Smirnov read-only; 334ee0a3f56SAlexandr Smirnov }; 335ee0a3f56SAlexandr Smirnov }; 336ee0a3f56SAlexandr Smirnov 337ee0a3f56SAlexandr Smirnov cpld@4,0 { 338ee0a3f56SAlexandr Smirnov compatible = "emerson,KSI8560-cpld"; 339ee0a3f56SAlexandr Smirnov reg = <0x4 0x0 0x80000>; 340ee0a3f56SAlexandr Smirnov }; 341ee0a3f56SAlexandr Smirnov }; 342ee0a3f56SAlexandr Smirnov 343ee0a3f56SAlexandr Smirnov 344ee0a3f56SAlexandr Smirnov chosen { 345ee0a3f56SAlexandr Smirnov linux,stdout-path = "/soc/cpm/serial@91a00"; 346ee0a3f56SAlexandr Smirnov }; 347ee0a3f56SAlexandr Smirnov}; 348