Index: soft/giet_vm/giet_python/mapping.py
===================================================================
--- soft/giet_vm/giet_python/mapping.py	(revision 423)
+++ soft/giet_vm/giet_python/mapping.py	(revision 424)
@@ -1233,5 +1233,5 @@
     ################################################################################
     def linux_dts( self ):     # compute string for linux.dts file generation
-                               # used for linux configuration  
+                               # used for linux configuration
         # header
         s =  '/dts-v1/;\n'
@@ -1248,5 +1248,5 @@
         s += '    linux,stdout-path = &tty;\n'
         s += '    bootargs = "console=tty0 console=ttyVTTY0 earlyprintk";\n'
-        s += '  };\n\n'     
+        s += '  };\n\n'
 
         # cpus (for each cluster)
@@ -1271,5 +1271,5 @@
 
         # devices (ram or peripheral) are grouped per cluster
-        # the "compatible" attribute links a peripheral device 
+        # the "compatible" attribute links a peripheral device
         # to one or several drivers identified by ("major","minor")
 
@@ -1289,5 +1289,5 @@
                     size = pseg.size
 
-                    s += '  ram@%d_%d: ram@%d_%d {\n' % (x,y,x,y)
+                    s += '  ram_%d_%d: ram@0x%x {\n' % (x, y, pseg.base)
                     s += '    device_type = "memory";\n'
                     s += '    reg = <0x%x  0x%x  0x%x>;\n' % (msb, lsb, size)
@@ -1301,24 +1301,24 @@
 
                 # search XCU (can be replicated)
-                if ( (periph.ptype == 'XCU') ):  
+                if ( (periph.ptype == 'XCU') ):
                     found_xcu     = True
                     xcu           = periph
-                    irq_ctrl_name = 'xcu@%d_%d' % (x,y)
-
-                    s += '  %s: %s {\n'  % (irq_ctrl_name, irq_ctrl_name)
+                    irq_ctrl_name = 'xcu_%d_%d' % (x, y)
+
+                    s += '  %s: xcu@0x%x {\n'  % (irq_ctrl_name, periph.pseg.base)
                     s += '    compatible = "soclib,vci_xicu","soclib,vci_xicu_timer";\n'
                     s += '    interrupt-controller;\n'
                     s += '    #interrupt-cells = <1>;\n'
                     s += '    clocks = <&freq>;\n'         # the XCU component contains a timer
-                    s += '    reg = <0x%x  0x%x  0x%x>;\n' % (msb, lsb, size)  
+                    s += '    reg = <0x%x  0x%x  0x%x>;\n' % (msb, lsb, size)
                     s += '  };\n\n'
 
                 # search PIC (non replicated)
-                if ( periph.ptype == 'PIC' ):  
+                if ( periph.ptype == 'PIC' ):
                     found_pic     = True
                     pic           = periph
                     irq_ctrl_name = 'pic'
 
-                    s += '  %s: %s {\n'  % (irq_ctrl_name, irq_ctrl_name)
+                    s += '  %s: pic@0x%x {\n'  % (irq_ctrl_name, periph.pseg.base)
                     s += '    compatible = "soclib,vci_iopic";\n'
                     s += '    interrupt-controller;\n'
@@ -1328,5 +1328,5 @@
 
                 # search ICU (non supported by Linux)
-                if ( periph.ptype == 'ICU' ):  
+                if ( periph.ptype == 'ICU' ):
                     print '[genmap warning] in linux_dts() : ICU peripheral not supported by LINUX'
 
@@ -1334,9 +1334,9 @@
             if ( (found_xcu == False) and (found_pic == False) and (len(cluster.periphs) > 0) ):
                 print '[genmap error] in linux_dts() : No XCU/PIC in cluster(%d,%d)' % (x,y)
-                sys.exit(1)    
+                sys.exit(1)
 
             if ( found_pic == True ): irq_ctrl = pic
             else:                     irq_ctrl = xcu
-             
+
             # scan all periphs to find TTY and IOC in current cluster
             for periph in cluster.periphs:
@@ -1346,5 +1346,5 @@
 
                 # search TTY (non replicated)
-                if ( periph.ptype == 'TTY' ):  
+                if ( periph.ptype == 'TTY' ):
 
                     # get HWI index to XCU or PIC (only TTY channel 0 is used by Linux)
@@ -1359,10 +1359,10 @@
                     s += '    compatible = "soclib,vci_multi_tty";\n'
                     s += '    interrupt-parent = <&%s>;\n' % (irq_ctrl_name)
-                    s += '    interrupt = <%d>;\n' % hwi_id
+                    s += '    interrupts = <%d>;\n' % hwi_id
                     s += '    reg = <0x%x  0x%x  0x%x>;\n' % (msb, lsb, size)
                     s += '  };\n\n'
 
                 # search IOC (non replicated)
-                elif ( periph.ptype == 'IOC' ):  
+                elif ( periph.ptype == 'IOC' ):
 
                     if ( periph.subtype == 'BDV' ):
@@ -1379,5 +1379,5 @@
                         s += '    compatible = "soclib,vci_blockdevice";\n'
                         s += '    interrupt-parent = <&%s>;\n' % (irq_ctrl_name)
-                        s += '    interrupt = <%d>;\n' % hwi_id
+                        s += '    interrupts = <%d>;\n' % hwi_id
                         s += '    reg = <0x%x  0x%x  0x%x>;\n' % (msb, lsb, size)
                         s += '  };\n\n'
@@ -1394,12 +1394,12 @@
 
                 # other peripherals
-                else:  
+                else:
                     type = periph.ptype
                     print '[genmap warning] in linux_dts() : %s peripheral not supported by LINUX' % (type)
-            
-        # clocks  
+
+        # clocks
         s += '  /*** clocks ***/\n\n'
         s += '  clocks {\n'
-        s += '    freq@50MHZ: freq@50MHZ {\n'
+        s += '    freq: freq@50MHZ {\n'
         s += '      #clock-cells = <0>;\n'
         s += '      compatible = "fixed-clock";\n'
@@ -1409,5 +1409,5 @@
         s += '  cpuclk {\n'
         s += '    compatible = "soclib,mips32_clksrc";\n'
-        s += '    clocks = <&freq@50MHZ>;\n'
+        s += '    clocks = <&freq>;\n'
         s += '  };\n'
         s += '};\n'
