depends on ARCH_BCM2835
                select DEBUG_UART_PL01X
  
 +      config DEBUG_BCM_KONA_UART
 +              bool "Kernel low-level debugging messages via BCM KONA UART"
 +              depends on ARCH_BCM
 +              select DEBUG_UART_8250
 +              help
 +                Say Y here if you want kernel low-level debugging support
 +                on Broadcom SoC platforms.
 +                This low level debug works for Broadcom
 +                mobile SoCs in the Kona family of chips (e.g. bcm28155,
 +                bcm11351, etc...)
 +
+       config DEBUG_BERLIN_UART
+               bool "Marvell Berlin SoC Debug UART"
+               depends on ARCH_BERLIN
+               select DEBUG_UART_8250
+               help
+                 Say Y here if you want kernel low-level debugging support
+                 on Marvell Berlin SoC based platforms.
+ 
        config DEBUG_CLPS711X_UART1
                bool "Kernel low-level debugging messages via UART1"
                depends on ARCH_CLPS711X
 
        select SOC_SAMA5
        select HAVE_FB_ATMEL
        select HAVE_AT91_DBGU1
 +      select HAVE_AT91_UTMI
 +      select HAVE_AT91_SMD
 +      select HAVE_AT91_USB_CLK
        help
          Select this if you are using one of Atmel's SAMA5D3 family SoC.
-         This support covers SAMA5D31, SAMA5D33, SAMA5D34, SAMA5D35.
+         This support covers SAMA5D31, SAMA5D33, SAMA5D34, SAMA5D35, SAMA5D36.
  endif
  
  if SOC_SAM_V4_V5
 
                &r8a7790_gpio##idx##_platform_data,                     \
                sizeof(r8a7790_gpio##idx##_platform_data))
  
+ static struct resource i2c_resources[] __initdata = {
+       /* I2C0 */
+       DEFINE_RES_MEM(0xE6508000, 0x40),
+       DEFINE_RES_IRQ(gic_spi(287)),
+       /* I2C1 */
+       DEFINE_RES_MEM(0xE6518000, 0x40),
+       DEFINE_RES_IRQ(gic_spi(288)),
+       /* I2C2 */
+       DEFINE_RES_MEM(0xE6530000, 0x40),
+       DEFINE_RES_IRQ(gic_spi(286)),
+       /* I2C3 */
+       DEFINE_RES_MEM(0xE6540000, 0x40),
+       DEFINE_RES_IRQ(gic_spi(290)),
+ 
+ };
+ 
+ #define r8a7790_register_i2c(idx)             \
+       platform_device_register_simple(        \
+               "i2c-rcar_gen2", idx,           \
+               i2c_resources + (2 * idx), 2);  \
+ 
  void __init r8a7790_pinmux_init(void)
  {
 -      platform_device_register_simple("pfc-r8a7790", -1, pfc_resources,
 -                                      ARRAY_SIZE(pfc_resources));
 +      r8a7790_register_pfc();
        r8a7790_register_gpio(0);
        r8a7790_register_gpio(1);
        r8a7790_register_gpio(2);
 
        clk_prepare_enable(clk);
        rate = clk_get_rate(clk);
  
-       setup_sched_clock(u300_read_sched_clock, 32, rate);
 +      u300_clockevent_data.ticks_per_jiffy = DIV_ROUND_CLOSEST(rate, HZ);
 +
+       sched_clock_register(u300_read_sched_clock, 32, rate);
  
        u300_delay_timer.read_current_timer = &u300_read_current_timer;
        u300_delay_timer.freq = rate;