spi: sh-msiof: Fill in controller speed limits
[linux-2.6-microblaze.git] / drivers / spi / spi-sh-msiof.c
index 90b8aba..41ed9ff 100644 (file)
@@ -1262,6 +1262,7 @@ static int sh_msiof_spi_probe(struct platform_device *pdev)
        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;
 
@@ -1337,6 +1338,9 @@ static int sh_msiof_spi_probe(struct platform_device *pdev)
        /* 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;