const struct sh_msiof_chipdata *chipdata;
        struct sh_msiof_spi_info *info;
        struct sh_msiof_spi_priv *p;
+       unsigned long clksrc;
        int i;
        int ret;
 
        /* init controller code */
        ctlr->mode_bits = SPI_CPOL | SPI_CPHA | SPI_CS_HIGH;
        ctlr->mode_bits |= SPI_LSB_FIRST | SPI_3WIRE;
+       clksrc = clk_get_rate(p->clk);
+       ctlr->min_speed_hz = DIV_ROUND_UP(clksrc, 1024);
+       ctlr->max_speed_hz = DIV_ROUND_UP(clksrc, 1 << p->min_div_pow);
        ctlr->flags = chipdata->ctlr_flags;
        ctlr->bus_num = pdev->id;
        ctlr->num_chipselect = p->info->num_chipselect;