#define FSI_SMODE              0x0     /* R/W: Mode register */
 #define FSI_SISC               0x8     /* R/W: Interrupt condition */
 #define FSI_SSTAT              0x14    /* R  : Slave status */
+#define FSI_SLBUS              0x30    /* W  : LBUS Ownership */
 #define FSI_LLMODE             0x100   /* R/W: Link layer mode register */
 
 /*
 #define FSI_SMODE_LBCRR_SHIFT  8               /* Clk ratio shift */
 #define FSI_SMODE_LBCRR_MASK   0xf             /* Clk ratio mask */
 
+/*
+ * SLBUS fields
+ */
+#define FSI_SLBUS_FORCE                0x80000000      /* Force LBUS ownership */
+
 /*
  * LLMODE fields
  */
        uint32_t cfam_id;
        struct fsi_slave *slave;
        uint8_t crc;
-       __be32 data, llmode;
+       __be32 data, llmode, slbus;
        int rc;
 
        /* Currently, we only support single slaves on a link, and use the
 
        }
 
+       slbus = cpu_to_be32(FSI_SLBUS_FORCE);
+       rc = fsi_master_write(master, link, id, FSI_SLAVE_BASE + FSI_SLBUS,
+                             &slbus, sizeof(slbus));
+       if (rc)
+               dev_warn(&master->dev,
+                        "can't set slbus on slave:%02x:%02x %d\n", link, id,
+                        rc);
+
        rc = fsi_slave_set_smode(slave);
        if (rc) {
                dev_warn(&master->dev,