ram: rk3399: Compute stride for 1 channel a
authorJagan Teki <jagan@amarulasolutions.com>
Mon, 15 Jul 2019 18:28:53 +0000 (23:58 +0530)
committerKever Yang <kever.yang@rock-chips.com>
Fri, 19 Jul 2019 03:11:10 +0000 (11:11 +0800)
Add stride computation for the sdram which support
single channel a

This configuration available in NanoPi NEO4 and the
same can work with existing rk3399-sdram-ddr3-1866.dtsi

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Signed-off-by: YouMin Chen <cym@rock-chips.com>
Reviewed-by: Kever Yang <Kever.yang@rock-chips.com>
drivers/ram/rockchip/sdram_rk3399.c

index c626ef602ccdc97e04b1478b072240c6fee5c527..8bbacb52754f6e222f6aebbf6a2a596a1bd0b07e 100644 (file)
@@ -1211,6 +1211,10 @@ static unsigned char calculate_stride(struct rk3399_sdram_params *params)
                chinfo |= 1 << channel;
        }
 
+       /* stride calculation for 1 channel */
+       if (params->base.num_channels == 1 && chinfo & 1)
+               return 0x17;    /* channel a */
+
        /* stride calculation for 2 channels, default gstride type is 256B */
        if (ch_cap[0] == ch_cap[1]) {
                cap = ch_cap[0] + ch_cap[1];