reg = <0x0 0x20000000>;                 /* Default (512MB) */
        };
 
-       mv64x60@f1000000 { /* Marvell Discovery */
+       system-controller@f1000000 { /* Marvell Discovery mv64360 */
                #address-cells = <1>;
                #size-cells = <1>;
                model = "mv64360";                      /* Default */
                };
 
                SDMA0: sdma@4000 {
-                       device_type = "dma";
                        compatible = "marvell,mv64360-sdma";
                        reg = <0x4000 0xc18>;
                        virtual-reg = <0xf1004000>;
-                       interrupt-base = <0>;
                        interrupts = <36>;
                        interrupt-parent = <&PIC>;
                };
 
                SDMA1: sdma@6000 {
-                       device_type = "dma";
                        compatible = "marvell,mv64360-sdma";
                        reg = <0x6000 0xc18>;
                        virtual-reg = <0xf1006000>;
-                       interrupt-base = <0>;
                        interrupts = <38>;
                        interrupt-parent = <&PIC>;
                };
                        clock-src = <8>;
                        clock-frequency = <133333333>;
                        current-speed = <9600>;
-                       bcr = <0>;
                };
 
                BRG1: brg@b208 {
                        clock-src = <8>;
                        clock-frequency = <133333333>;
                        current-speed = <9600>;
-                       bcr = <0>;
                };
 
                CUNIT: cunit@f200 {
                        cunit = <&CUNIT>;
                        mpscrouting = <&MPSCROUTING>;
                        mpscintr = <&MPSCINTR>;
-                       block-index = <0>;
-                       max_idle = <40>;
-                       chr_1 = <0>;
-                       chr_2 = <0>;
-                       chr_10 = <3>;
-                       mpcr = <0>;
+                       cell-index = <0>;
                        interrupts = <40>;
                        interrupt-parent = <&PIC>;
                };
                        cunit = <&CUNIT>;
                        mpscrouting = <&MPSCROUTING>;
                        mpscintr = <&MPSCINTR>;
-                       block-index = <1>;
-                       max_idle = <40>;
-                       chr_1 = <0>;
-                       chr_2 = <0>;
-                       chr_10 = <3>;
-                       mpcr = <0>;
+                       cell-index = <1>;
                        interrupts = <42>;
                        interrupt-parent = <&PIC>;
                };
                wdt@b410 {                      /* watchdog timer */
                        compatible = "marvell,mv64360-wdt";
                        reg = <0xb410 0x8>;
-                       timeout = <10>;         /* wdt timeout in seconds */
                };
 
                i2c@c000 {
                        compatible = "marvell,mv64360-i2c";
                        reg = <0xc000 0x20>;
                        virtual-reg = <0xf100c000>;
-                       freq_m = <8>;
-                       freq_n = <3>;
-                       timeout = <1000>;               /* 1000 = 1 second */
-                       retries = <1>;
                        interrupts = <37>;
                        interrupt-parent = <&PIC>;
                };
 
        if (err)
                return err;
 
-       prop = of_get_property(np, "block-index", NULL);
+       prop = of_get_property(np, "cell-index", NULL);
        if (!prop)
                return -ENODEV;
        port_number = *(int *)prop;
 
        pdata.cache_mgmt = 1; /* All current revs need this set */
 
+       pdata.max_idle = 40; /* default */
        prop = of_get_property(np, "max_idle", NULL);
        if (prop)
                pdata.max_idle = *prop;
 
        memset(&pdata, 0, sizeof(pdata));
 
+       pdata.freq_m = 8;       /* default */
        prop = of_get_property(np, "freq_m", NULL);
        if (!prop)
                return -ENODEV;
        pdata.freq_m = *prop;
 
+       pdata.freq_m = 3;       /* default */
        prop = of_get_property(np, "freq_n", NULL);
        if (!prop)
                return -ENODEV;
        pdata.freq_n = *prop;
 
-       prop = of_get_property(np, "timeout", NULL);
-       if (prop)
-               pdata.timeout = *prop;
-       else
-               pdata.timeout = 1000;   /* 1 second */
+       pdata.timeout = 1000;                           /* default: 1 second */
 
        pdev = platform_device_alloc(MV64XXX_I2C_CTLR_NAME, id);
        if (!pdev)
 
        memset(&pdata, 0, sizeof(pdata));
 
-       prop = of_get_property(np, "timeout", NULL);
-       if (!prop)
-               return -ENODEV;
-       pdata.timeout = *prop;
+       pdata.timeout = 10;                     /* Default: 10 seconds */
 
        np = of_get_parent(np);
        if (!np)
        if (!of_device_is_compatible(np, "marvell,mv64360-mpsc"))
                goto not_mpsc;
 
-       prop = of_get_property(np, "block-index", NULL);
+       prop = of_get_property(np, "cell-index", NULL);
        if (!prop)
                goto not_mpsc;