Message ID | 20240124032602.126059-3-tim@feathertop.org |
---|---|
State | Accepted |
Commit | 644e8fc2d55a28f06605bc7a2776ea4d753cd531 |
Delegated to: | Kever Yang |
Headers | show |
Series | rockchip: Add support for rv1126 based Sonoff iHost Gateway | expand |
On 2024/1/24 11:25, Tim Lunn wrote: > Add support for ddr4 on rv1126. Timing detection files are imported > from downstream Rockchip BSP u-boot. Allow selecting ddr4 ram with > define CONFIG_RAM_ROCKCHIP_DDR4. > > Signed-off-by: Tim Lunn <tim@feathertop.org> Reviewed-by: Kever Yang <kever.yang@rock-chips.com> Thanks, - Kever > --- > > (no changes since v1) > > .../sdram-rv1126-ddr4-detect-1056.inc | 75 +++++++++++++++++++ > .../rockchip/sdram-rv1126-ddr4-detect-328.inc | 75 +++++++++++++++++++ > .../rockchip/sdram-rv1126-ddr4-detect-396.inc | 75 +++++++++++++++++++ > .../rockchip/sdram-rv1126-ddr4-detect-528.inc | 75 +++++++++++++++++++ > .../rockchip/sdram-rv1126-ddr4-detect-664.inc | 75 +++++++++++++++++++ > .../rockchip/sdram-rv1126-ddr4-detect-784.inc | 75 +++++++++++++++++++ > .../rockchip/sdram-rv1126-ddr4-detect-924.inc | 75 +++++++++++++++++++ > drivers/ram/rockchip/sdram_rv1126.c | 8 ++ > 8 files changed, 533 insertions(+) > create mode 100644 drivers/ram/rockchip/sdram-rv1126-ddr4-detect-1056.inc > create mode 100644 drivers/ram/rockchip/sdram-rv1126-ddr4-detect-328.inc > create mode 100644 drivers/ram/rockchip/sdram-rv1126-ddr4-detect-396.inc > create mode 100644 drivers/ram/rockchip/sdram-rv1126-ddr4-detect-528.inc > create mode 100644 drivers/ram/rockchip/sdram-rv1126-ddr4-detect-664.inc > create mode 100644 drivers/ram/rockchip/sdram-rv1126-ddr4-detect-784.inc > create mode 100644 drivers/ram/rockchip/sdram-rv1126-ddr4-detect-924.inc > > diff --git a/drivers/ram/rockchip/sdram-rv1126-ddr4-detect-1056.inc b/drivers/ram/rockchip/sdram-rv1126-ddr4-detect-1056.inc > new file mode 100644 > index 0000000000..295b0871e0 > --- /dev/null > +++ b/drivers/ram/rockchip/sdram-rv1126-ddr4-detect-1056.inc > @@ -0,0 +1,75 @@ > +{ > + { > + { > + .rank = 0x1, > + .col = 0xA, > + .bk = 0x2, > + .bw = 0x1, > + .dbw = 0x0, > + .row_3_4 = 0x0, > + .cs0_row = 0x11, > + .cs1_row = 0x0, > + .cs0_high16bit_row = 0x11, > + .cs1_high16bit_row = 0x0, > + .ddrconfig = 0 > + }, > + { > + {0x561d1219}, > + {0x10030703}, > + {0x00000002}, > + {0x00001111}, > + {0x0000000c}, > + {0x0000034b}, > + 0x000000ff > + } > + }, > + { > + .ddr_freq = 1056, /* clock rate(MHz) */ > + .dramtype = DDR4, > + .num_channels = 1, > + .stride = 0, > + .odt = 1 > + }, > + { > + { > + {0x00000000, 0x43041010}, /* MSTR */ > + {0x00000064, 0x008000b9}, /* RFSHTMG */ > + {0x000000d0, 0x00020103}, /* INIT0 */ > + {0x000000d4, 0x00690000}, /* INIT1 */ > + {0x000000d8, 0x00000100}, /* INIT2 */ > + {0x000000dc, 0x07340401}, /* INIT3 */ > + {0x000000e0, 0x00100000}, /* INIT4 */ > + {0x000000e4, 0x00110000}, /* INIT5 */ > + {0x000000e8, 0x00000420}, /* INIT6 */ > + {0x000000ec, 0x00000800}, /* INIT7 */ > + {0x000000f4, 0x000f011f}, /* RANKCTL */ > + {0x00000100, 0x0f102411}, /* DRAMTMG0 */ > + {0x00000104, 0x0004041a}, /* DRAMTMG1 */ > + {0x00000108, 0x0608060d}, /* DRAMTMG2 */ > + {0x0000010c, 0x0040400c}, /* DRAMTMG3 */ > + {0x00000110, 0x08030409}, /* DRAMTMG4 */ > + {0x00000114, 0x06060403}, /* DRAMTMG5 */ > + {0x00000120, 0x07070d07}, /* DRAMTMG8 */ > + {0x00000124, 0x00020309}, /* DRAMTMG9 */ > + {0x00000180, 0x01000040}, /* ZQCTL0 */ > + {0x00000184, 0x00000000}, /* ZQCTL1 */ > + {0x00000190, 0x07060004}, /* DFITMG0 */ > + {0x00000198, 0x07000101}, /* DFILPCFG0 */ > + {0x000001a0, 0xc0400003}, /* DFIUPD0 */ > + {0x00000240, 0x06000614}, /* ODTCFG */ > + {0x00000244, 0x00000201}, /* ODTMAP */ > + {0x00000250, 0x00001f00}, /* SCHED */ > + {0x00000490, 0x00000001}, /* PCTRL_0 */ > + {0xffffffff, 0xffffffff} > + } > + }, > + { > + { > + {0x00000004, 0x0000008c}, /* PHYREG01 */ > + {0x00000014, 0x00000010}, /* PHYREG05 */ > + {0x00000018, 0x00000000}, /* PHYREG06 */ > + {0x0000001c, 0x0000000b}, /* PHYREG07 */ > + {0xffffffff, 0xffffffff} > + } > + } > +}, > diff --git a/drivers/ram/rockchip/sdram-rv1126-ddr4-detect-328.inc b/drivers/ram/rockchip/sdram-rv1126-ddr4-detect-328.inc > new file mode 100644 > index 0000000000..4b424fb440 > --- /dev/null > +++ b/drivers/ram/rockchip/sdram-rv1126-ddr4-detect-328.inc > @@ -0,0 +1,75 @@ > +{ > + { > + { > + .rank = 0x1, > + .col = 0xA, > + .bk = 0x2, > + .bw = 0x1, > + .dbw = 0x0, > + .row_3_4 = 0x0, > + .cs0_row = 0x11, > + .cs1_row = 0x0, > + .cs0_high16bit_row = 0x11, > + .cs1_high16bit_row = 0x0, > + .ddrconfig = 0 > + }, > + { > + {0x4d110a08}, > + {0x06020501}, > + {0x00000002}, > + {0x00001111}, > + {0x0000000c}, > + {0x00000232}, > + 0x000000ff > + } > + }, > + { > + .ddr_freq = 328, /* clock rate(MHz) */ > + .dramtype = DDR4, > + .num_channels = 1, > + .stride = 0, > + .odt = 0 > + }, > + { > + { > + {0x00000000, 0x43049010}, /* MSTR */ > + {0x00000064, 0x0027003a}, /* RFSHTMG */ > + {0x000000d0, 0x00020052}, /* INIT0 */ > + {0x000000d4, 0x00220000}, /* INIT1 */ > + {0x000000d8, 0x00000100}, /* INIT2 */ > + {0x000000dc, 0x00040000}, /* INIT3 */ > + {0x000000e0, 0x00000000}, /* INIT4 */ > + {0x000000e4, 0x00110000}, /* INIT5 */ > + {0x000000e8, 0x00000420}, /* INIT6 */ > + {0x000000ec, 0x00000400}, /* INIT7 */ > + {0x000000f4, 0x000f011f}, /* RANKCTL */ > + {0x00000100, 0x09060b06}, /* DRAMTMG0 */ > + {0x00000104, 0x00020209}, /* DRAMTMG1 */ > + {0x00000108, 0x0505040a}, /* DRAMTMG2 */ > + {0x0000010c, 0x0040400c}, /* DRAMTMG3 */ > + {0x00000110, 0x05030206}, /* DRAMTMG4 */ > + {0x00000114, 0x03030202}, /* DRAMTMG5 */ > + {0x00000120, 0x03030b03}, /* DRAMTMG8 */ > + {0x00000124, 0x00020208}, /* DRAMTMG9 */ > + {0x00000180, 0x01000040}, /* ZQCTL0 */ > + {0x00000184, 0x00000000}, /* ZQCTL1 */ > + {0x00000190, 0x07030003}, /* DFITMG0 */ > + {0x00000198, 0x07000101}, /* DFILPCFG0 */ > + {0x000001a0, 0xc0400003}, /* DFIUPD0 */ > + {0x00000240, 0x06000604}, /* ODTCFG */ > + {0x00000244, 0x00000201}, /* ODTMAP */ > + {0x00000250, 0x00001f00}, /* SCHED */ > + {0x00000490, 0x00000001}, /* PCTRL_0 */ > + {0xffffffff, 0xffffffff} > + } > + }, > + { > + { > + {0x00000004, 0x0000008c}, /* PHYREG01 */ > + {0x00000014, 0x0000000a}, /* PHYREG05 */ > + {0x00000018, 0x00000000}, /* PHYREG06 */ > + {0x0000001c, 0x00000009}, /* PHYREG07 */ > + {0xffffffff, 0xffffffff} > + } > + } > +}, > diff --git a/drivers/ram/rockchip/sdram-rv1126-ddr4-detect-396.inc b/drivers/ram/rockchip/sdram-rv1126-ddr4-detect-396.inc > new file mode 100644 > index 0000000000..980be8cf18 > --- /dev/null > +++ b/drivers/ram/rockchip/sdram-rv1126-ddr4-detect-396.inc > @@ -0,0 +1,75 @@ > +{ > + { > + { > + .rank = 0x1, > + .col = 0xA, > + .bk = 0x2, > + .bw = 0x1, > + .dbw = 0x0, > + .row_3_4 = 0x0, > + .cs0_row = 0x11, > + .cs1_row = 0x0, > + .cs0_high16bit_row = 0x11, > + .cs1_high16bit_row = 0x0, > + .ddrconfig = 0 > + }, > + { > + {0x4d110a0a}, > + {0x07020501}, > + {0x00000002}, > + {0x00001111}, > + {0x0000000c}, > + {0x00000232}, > + 0x000000ff > + } > + }, > + { > + .ddr_freq = 396, /* clock rate(MHz) */ > + .dramtype = DDR4, > + .num_channels = 1, > + .stride = 0, > + .odt = 0 > + }, > + { > + { > + {0x00000000, 0x43049010}, /* MSTR */ > + {0x00000064, 0x00300046}, /* RFSHTMG */ > + {0x000000d0, 0x00020062}, /* INIT0 */ > + {0x000000d4, 0x00280000}, /* INIT1 */ > + {0x000000d8, 0x00000100}, /* INIT2 */ > + {0x000000dc, 0x00040000}, /* INIT3 */ > + {0x000000e0, 0x00000000}, /* INIT4 */ > + {0x000000e4, 0x00110000}, /* INIT5 */ > + {0x000000e8, 0x00000420}, /* INIT6 */ > + {0x000000ec, 0x00000400}, /* INIT7 */ > + {0x000000f4, 0x000f011f}, /* RANKCTL */ > + {0x00000100, 0x09070d07}, /* DRAMTMG0 */ > + {0x00000104, 0x0002020a}, /* DRAMTMG1 */ > + {0x00000108, 0x0505040a}, /* DRAMTMG2 */ > + {0x0000010c, 0x0040400c}, /* DRAMTMG3 */ > + {0x00000110, 0x05030206}, /* DRAMTMG4 */ > + {0x00000114, 0x03030202}, /* DRAMTMG5 */ > + {0x00000120, 0x04040b04}, /* DRAMTMG8 */ > + {0x00000124, 0x00020208}, /* DRAMTMG9 */ > + {0x00000180, 0x01000040}, /* ZQCTL0 */ > + {0x00000184, 0x00000000}, /* ZQCTL1 */ > + {0x00000190, 0x07030003}, /* DFITMG0 */ > + {0x00000198, 0x07000101}, /* DFILPCFG0 */ > + {0x000001a0, 0xc0400003}, /* DFIUPD0 */ > + {0x00000240, 0x06000604}, /* ODTCFG */ > + {0x00000244, 0x00000201}, /* ODTMAP */ > + {0x00000250, 0x00001f00}, /* SCHED */ > + {0x00000490, 0x00000001}, /* PCTRL_0 */ > + {0xffffffff, 0xffffffff} > + } > + }, > + { > + { > + {0x00000004, 0x0000008c}, /* PHYREG01 */ > + {0x00000014, 0x0000000a}, /* PHYREG05 */ > + {0x00000018, 0x00000000}, /* PHYREG06 */ > + {0x0000001c, 0x00000009}, /* PHYREG07 */ > + {0xffffffff, 0xffffffff} > + } > + } > +}, > diff --git a/drivers/ram/rockchip/sdram-rv1126-ddr4-detect-528.inc b/drivers/ram/rockchip/sdram-rv1126-ddr4-detect-528.inc > new file mode 100644 > index 0000000000..3bde055e8d > --- /dev/null > +++ b/drivers/ram/rockchip/sdram-rv1126-ddr4-detect-528.inc > @@ -0,0 +1,75 @@ > +{ > + { > + { > + .rank = 0x1, > + .col = 0xA, > + .bk = 0x2, > + .bw = 0x1, > + .dbw = 0x0, > + .row_3_4 = 0x0, > + .cs0_row = 0x11, > + .cs1_row = 0x0, > + .cs0_high16bit_row = 0x11, > + .cs1_high16bit_row = 0x0, > + .ddrconfig = 0 > + }, > + { > + {0x4d120a0d}, > + {0x09020501}, > + {0x00000002}, > + {0x00001111}, > + {0x0000000c}, > + {0x00000232}, > + 0x000000ff > + } > + }, > + { > + .ddr_freq = 528, /* clock rate(MHz) */ > + .dramtype = DDR4, > + .num_channels = 1, > + .stride = 0, > + .odt = 0 > + }, > + { > + { > + {0x00000000, 0x43049010}, /* MSTR */ > + {0x00000064, 0x0040005d}, /* RFSHTMG */ > + {0x000000d0, 0x00020082}, /* INIT0 */ > + {0x000000d4, 0x00350000}, /* INIT1 */ > + {0x000000d8, 0x00000100}, /* INIT2 */ > + {0x000000dc, 0x00040000}, /* INIT3 */ > + {0x000000e0, 0x00000000}, /* INIT4 */ > + {0x000000e4, 0x00110000}, /* INIT5 */ > + {0x000000e8, 0x00000420}, /* INIT6 */ > + {0x000000ec, 0x00000400}, /* INIT7 */ > + {0x000000f4, 0x000f011f}, /* RANKCTL */ > + {0x00000100, 0x0a0a1209}, /* DRAMTMG0 */ > + {0x00000104, 0x0002020e}, /* DRAMTMG1 */ > + {0x00000108, 0x0505040a}, /* DRAMTMG2 */ > + {0x0000010c, 0x0040400c}, /* DRAMTMG3 */ > + {0x00000110, 0x05030206}, /* DRAMTMG4 */ > + {0x00000114, 0x03030202}, /* DRAMTMG5 */ > + {0x00000120, 0x04040b04}, /* DRAMTMG8 */ > + {0x00000124, 0x00020208}, /* DRAMTMG9 */ > + {0x00000180, 0x01000040}, /* ZQCTL0 */ > + {0x00000184, 0x00000000}, /* ZQCTL1 */ > + {0x00000190, 0x07030003}, /* DFITMG0 */ > + {0x00000198, 0x07000101}, /* DFILPCFG0 */ > + {0x000001a0, 0xc0400003}, /* DFIUPD0 */ > + {0x00000240, 0x06000604}, /* ODTCFG */ > + {0x00000244, 0x00000201}, /* ODTMAP */ > + {0x00000250, 0x00001f00}, /* SCHED */ > + {0x00000490, 0x00000001}, /* PCTRL_0 */ > + {0xffffffff, 0xffffffff} > + } > + }, > + { > + { > + {0x00000004, 0x0000008c}, /* PHYREG01 */ > + {0x00000014, 0x0000000a}, /* PHYREG05 */ > + {0x00000018, 0x00000000}, /* PHYREG06 */ > + {0x0000001c, 0x00000009}, /* PHYREG07 */ > + {0xffffffff, 0xffffffff} > + } > + } > +}, > diff --git a/drivers/ram/rockchip/sdram-rv1126-ddr4-detect-664.inc b/drivers/ram/rockchip/sdram-rv1126-ddr4-detect-664.inc > new file mode 100644 > index 0000000000..c9341166d6 > --- /dev/null > +++ b/drivers/ram/rockchip/sdram-rv1126-ddr4-detect-664.inc > @@ -0,0 +1,75 @@ > +{ > + { > + { > + .rank = 0x1, > + .col = 0xA, > + .bk = 0x2, > + .bw = 0x1, > + .dbw = 0x0, > + .row_3_4 = 0x0, > + .cs0_row = 0x11, > + .cs1_row = 0x0, > + .cs0_high16bit_row = 0x11, > + .cs1_high16bit_row = 0x0, > + .ddrconfig = 0 > + }, > + { > + {0x4d130a11}, > + {0x0c020501}, > + {0x00000002}, > + {0x00001111}, > + {0x0000000c}, > + {0x0000023a}, > + 0x000000ff > + } > + }, > + { > + .ddr_freq = 664, /* clock rate(MHz) */ > + .dramtype = DDR4, > + .num_channels = 1, > + .stride = 0, > + .odt = 1 > + }, > + { > + { > + {0x00000000, 0x43041010}, /* MSTR */ > + {0x00000064, 0x00500075}, /* RFSHTMG */ > + {0x000000d0, 0x000200a4}, /* INIT0 */ > + {0x000000d4, 0x00420000}, /* INIT1 */ > + {0x000000d8, 0x00000100}, /* INIT2 */ > + {0x000000dc, 0x01040401}, /* INIT3 */ > + {0x000000e0, 0x00000000}, /* INIT4 */ > + {0x000000e4, 0x00110000}, /* INIT5 */ > + {0x000000e8, 0x00000420}, /* INIT6 */ > + {0x000000ec, 0x00000400}, /* INIT7 */ > + {0x000000f4, 0x000f011f}, /* RANKCTL */ > + {0x00000100, 0x0b0c160c}, /* DRAMTMG0 */ > + {0x00000104, 0x00020211}, /* DRAMTMG1 */ > + {0x00000108, 0x0505040a}, /* DRAMTMG2 */ > + {0x0000010c, 0x0040400c}, /* DRAMTMG3 */ > + {0x00000110, 0x05030306}, /* DRAMTMG4 */ > + {0x00000114, 0x04040302}, /* DRAMTMG5 */ > + {0x00000120, 0x05050b05}, /* DRAMTMG8 */ > + {0x00000124, 0x00020208}, /* DRAMTMG9 */ > + {0x00000180, 0x01000040}, /* ZQCTL0 */ > + {0x00000184, 0x00000000}, /* ZQCTL1 */ > + {0x00000190, 0x07030003}, /* DFITMG0 */ > + {0x00000198, 0x07000101}, /* DFILPCFG0 */ > + {0x000001a0, 0xc0400003}, /* DFIUPD0 */ > + {0x00000240, 0x06000604}, /* ODTCFG */ > + {0x00000244, 0x00000201}, /* ODTMAP */ > + {0x00000250, 0x00001f00}, /* SCHED */ > + {0x00000490, 0x00000001}, /* PCTRL_0 */ > + {0xffffffff, 0xffffffff} > + } > + }, > + { > + { > + {0x00000004, 0x0000008c}, /* PHYREG01 */ > + {0x00000014, 0x0000000a}, /* PHYREG05 */ > + {0x00000018, 0x00000000}, /* PHYREG06 */ > + {0x0000001c, 0x00000009}, /* PHYREG07 */ > + {0xffffffff, 0xffffffff} > + } > + } > +}, > diff --git a/drivers/ram/rockchip/sdram-rv1126-ddr4-detect-784.inc b/drivers/ram/rockchip/sdram-rv1126-ddr4-detect-784.inc > new file mode 100644 > index 0000000000..ef2e9347bf > --- /dev/null > +++ b/drivers/ram/rockchip/sdram-rv1126-ddr4-detect-784.inc > @@ -0,0 +1,75 @@ > +{ > + { > + { > + .rank = 0x1, > + .col = 0xA, > + .bk = 0x2, > + .bw = 0x1, > + .dbw = 0x0, > + .row_3_4 = 0x0, > + .cs0_row = 0x11, > + .cs1_row = 0x0, > + .cs0_high16bit_row = 0x11, > + .cs1_high16bit_row = 0x0, > + .ddrconfig = 0 > + }, > + { > + {0x50160d14}, > + {0x0e020502}, > + {0x00000002}, > + {0x00001111}, > + {0x0000000c}, > + {0x0000033a}, > + 0x000000ff > + } > + }, > + { > + .ddr_freq = 784, /* clock rate(MHz) */ > + .dramtype = DDR4, > + .num_channels = 1, > + .stride = 0, > + .odt = 1 > + }, > + { > + { > + {0x00000000, 0x43041010}, /* MSTR */ > + {0x00000064, 0x005f008a}, /* RFSHTMG */ > + {0x000000d0, 0x000200c1}, /* INIT0 */ > + {0x000000d4, 0x004e0000}, /* INIT1 */ > + {0x000000d8, 0x00000100}, /* INIT2 */ > + {0x000000dc, 0x03140401}, /* INIT3 */ > + {0x000000e0, 0x00000000}, /* INIT4 */ > + {0x000000e4, 0x00110000}, /* INIT5 */ > + {0x000000e8, 0x00000420}, /* INIT6 */ > + {0x000000ec, 0x00000400}, /* INIT7 */ > + {0x000000f4, 0x000f011f}, /* RANKCTL */ > + {0x00000100, 0x0c0e1a0e}, /* DRAMTMG0 */ > + {0x00000104, 0x00030314}, /* DRAMTMG1 */ > + {0x00000108, 0x0506050b}, /* DRAMTMG2 */ > + {0x0000010c, 0x0040400c}, /* DRAMTMG3 */ > + {0x00000110, 0x06030307}, /* DRAMTMG4 */ > + {0x00000114, 0x04040302}, /* DRAMTMG5 */ > + {0x00000120, 0x06060b06}, /* DRAMTMG8 */ > + {0x00000124, 0x00020308}, /* DRAMTMG9 */ > + {0x00000180, 0x01000040}, /* ZQCTL0 */ > + {0x00000184, 0x00000000}, /* ZQCTL1 */ > + {0x00000190, 0x07040003}, /* DFITMG0 */ > + {0x00000198, 0x07000101}, /* DFILPCFG0 */ > + {0x000001a0, 0xc0400003}, /* DFIUPD0 */ > + {0x00000240, 0x0600060c}, /* ODTCFG */ > + {0x00000244, 0x00000201}, /* ODTMAP */ > + {0x00000250, 0x00001f00}, /* SCHED */ > + {0x00000490, 0x00000001}, /* PCTRL_0 */ > + {0xffffffff, 0xffffffff} > + } > + }, > + { > + { > + {0x00000004, 0x0000008c}, /* PHYREG01 */ > + {0x00000014, 0x0000000c}, /* PHYREG05 */ > + {0x00000018, 0x00000000}, /* PHYREG06 */ > + {0x0000001c, 0x00000009}, /* PHYREG07 */ > + {0xffffffff, 0xffffffff} > + } > + } > +}, > diff --git a/drivers/ram/rockchip/sdram-rv1126-ddr4-detect-924.inc b/drivers/ram/rockchip/sdram-rv1126-ddr4-detect-924.inc > new file mode 100644 > index 0000000000..acb33bd315 > --- /dev/null > +++ b/drivers/ram/rockchip/sdram-rv1126-ddr4-detect-924.inc > @@ -0,0 +1,75 @@ > +{ > + { > + { > + .rank = 0x1, > + .col = 0xA, > + .bk = 0x2, > + .bw = 0x1, > + .dbw = 0x0, > + .row_3_4 = 0x0, > + .cs0_row = 0x11, > + .cs1_row = 0x0, > + .cs0_high16bit_row = 0x11, > + .cs1_high16bit_row = 0x0, > + .ddrconfig = 0 > + }, > + { > + {0x531a0f17}, > + {0x0e020603}, > + {0x00000002}, > + {0x00001111}, > + {0x0000000c}, > + {0x00000342}, > + 0x000000ff > + } > + }, > + { > + .ddr_freq = 924, /* clock rate(MHz) */ > + .dramtype = DDR4, > + .num_channels = 1, > + .stride = 0, > + .odt = 1 > + }, > + { > + { > + {0x00000000, 0x43041010}, /* MSTR */ > + {0x00000064, 0x007000a2}, /* RFSHTMG */ > + {0x000000d0, 0x000200e3}, /* INIT0 */ > + {0x000000d4, 0x005c0000}, /* INIT1 */ > + {0x000000d8, 0x00000100}, /* INIT2 */ > + {0x000000dc, 0x05240401}, /* INIT3 */ > + {0x000000e0, 0x00080000}, /* INIT4 */ > + {0x000000e4, 0x00110000}, /* INIT5 */ > + {0x000000e8, 0x00000420}, /* INIT6 */ > + {0x000000ec, 0x00000400}, /* INIT7 */ > + {0x000000f4, 0x000f011f}, /* RANKCTL */ > + {0x00000100, 0x0e0e1f10}, /* DRAMTMG0 */ > + {0x00000104, 0x00030317}, /* DRAMTMG1 */ > + {0x00000108, 0x0507050c}, /* DRAMTMG2 */ > + {0x0000010c, 0x0040400c}, /* DRAMTMG3 */ > + {0x00000110, 0x07030308}, /* DRAMTMG4 */ > + {0x00000114, 0x05050303}, /* DRAMTMG5 */ > + {0x00000120, 0x07070b07}, /* DRAMTMG8 */ > + {0x00000124, 0x00020309}, /* DRAMTMG9 */ > + {0x00000180, 0x01000040}, /* ZQCTL0 */ > + {0x00000184, 0x00000000}, /* ZQCTL1 */ > + {0x00000190, 0x07050003}, /* DFITMG0 */ > + {0x00000198, 0x07000101}, /* DFILPCFG0 */ > + {0x000001a0, 0xc0400003}, /* DFIUPD0 */ > + {0x00000240, 0x06000610}, /* ODTCFG */ > + {0x00000244, 0x00000201}, /* ODTMAP */ > + {0x00000250, 0x00001f00}, /* SCHED */ > + {0x00000490, 0x00000001}, /* PCTRL_0 */ > + {0xffffffff, 0xffffffff} > + } > + }, > + { > + { > + {0x00000004, 0x0000008c}, /* PHYREG01 */ > + {0x00000014, 0x0000000e}, /* PHYREG05 */ > + {0x00000018, 0x00000000}, /* PHYREG06 */ > + {0x0000001c, 0x0000000a}, /* PHYREG07 */ > + {0xffffffff, 0xffffffff} > + } > + } > +}, > diff --git a/drivers/ram/rockchip/sdram_rv1126.c b/drivers/ram/rockchip/sdram_rv1126.c > index 9e1376a940..0a78e18c73 100644 > --- a/drivers/ram/rockchip/sdram_rv1126.c > +++ b/drivers/ram/rockchip/sdram_rv1126.c > @@ -76,6 +76,14 @@ struct rv1126_sdram_params sdram_configs[] = { > # include "sdram-rv1126-lpddr4-detect-784.inc" > # include "sdram-rv1126-lpddr4-detect-924.inc" > # include "sdram-rv1126-lpddr4-detect-1056.inc" > +#elif defined(CONFIG_RAM_ROCKCHIP_DDR4) > +# include "sdram-rv1126-ddr4-detect-328.inc" > +# include "sdram-rv1126-ddr4-detect-396.inc" > +# include "sdram-rv1126-ddr4-detect-528.inc" > +# include "sdram-rv1126-ddr4-detect-664.inc" > +# include "sdram-rv1126-ddr4-detect-784.inc" > +# include "sdram-rv1126-ddr4-detect-924.inc" > +# include "sdram-rv1126-ddr4-detect-1056.inc" > #else > # include "sdram-rv1126-ddr3-detect-328.inc" > # include "sdram-rv1126-ddr3-detect-396.inc"
diff --git a/drivers/ram/rockchip/sdram-rv1126-ddr4-detect-1056.inc b/drivers/ram/rockchip/sdram-rv1126-ddr4-detect-1056.inc new file mode 100644 index 0000000000..295b0871e0 --- /dev/null +++ b/drivers/ram/rockchip/sdram-rv1126-ddr4-detect-1056.inc @@ -0,0 +1,75 @@ +{ + { + { + .rank = 0x1, + .col = 0xA, + .bk = 0x2, + .bw = 0x1, + .dbw = 0x0, + .row_3_4 = 0x0, + .cs0_row = 0x11, + .cs1_row = 0x0, + .cs0_high16bit_row = 0x11, + .cs1_high16bit_row = 0x0, + .ddrconfig = 0 + }, + { + {0x561d1219}, + {0x10030703}, + {0x00000002}, + {0x00001111}, + {0x0000000c}, + {0x0000034b}, + 0x000000ff + } + }, + { + .ddr_freq = 1056, /* clock rate(MHz) */ + .dramtype = DDR4, + .num_channels = 1, + .stride = 0, + .odt = 1 + }, + { + { + {0x00000000, 0x43041010}, /* MSTR */ + {0x00000064, 0x008000b9}, /* RFSHTMG */ + {0x000000d0, 0x00020103}, /* INIT0 */ + {0x000000d4, 0x00690000}, /* INIT1 */ + {0x000000d8, 0x00000100}, /* INIT2 */ + {0x000000dc, 0x07340401}, /* INIT3 */ + {0x000000e0, 0x00100000}, /* INIT4 */ + {0x000000e4, 0x00110000}, /* INIT5 */ + {0x000000e8, 0x00000420}, /* INIT6 */ + {0x000000ec, 0x00000800}, /* INIT7 */ + {0x000000f4, 0x000f011f}, /* RANKCTL */ + {0x00000100, 0x0f102411}, /* DRAMTMG0 */ + {0x00000104, 0x0004041a}, /* DRAMTMG1 */ + {0x00000108, 0x0608060d}, /* DRAMTMG2 */ + {0x0000010c, 0x0040400c}, /* DRAMTMG3 */ + {0x00000110, 0x08030409}, /* DRAMTMG4 */ + {0x00000114, 0x06060403}, /* DRAMTMG5 */ + {0x00000120, 0x07070d07}, /* DRAMTMG8 */ + {0x00000124, 0x00020309}, /* DRAMTMG9 */ + {0x00000180, 0x01000040}, /* ZQCTL0 */ + {0x00000184, 0x00000000}, /* ZQCTL1 */ + {0x00000190, 0x07060004}, /* DFITMG0 */ + {0x00000198, 0x07000101}, /* DFILPCFG0 */ + {0x000001a0, 0xc0400003}, /* DFIUPD0 */ + {0x00000240, 0x06000614}, /* ODTCFG */ + {0x00000244, 0x00000201}, /* ODTMAP */ + {0x00000250, 0x00001f00}, /* SCHED */ + {0x00000490, 0x00000001}, /* PCTRL_0 */ + {0xffffffff, 0xffffffff} + } + }, + { + { + {0x00000004, 0x0000008c}, /* PHYREG01 */ + {0x00000014, 0x00000010}, /* PHYREG05 */ + {0x00000018, 0x00000000}, /* PHYREG06 */ + {0x0000001c, 0x0000000b}, /* PHYREG07 */ + {0xffffffff, 0xffffffff} + } + } +}, diff --git a/drivers/ram/rockchip/sdram-rv1126-ddr4-detect-328.inc b/drivers/ram/rockchip/sdram-rv1126-ddr4-detect-328.inc new file mode 100644 index 0000000000..4b424fb440 --- /dev/null +++ b/drivers/ram/rockchip/sdram-rv1126-ddr4-detect-328.inc @@ -0,0 +1,75 @@ +{ + { + { + .rank = 0x1, + .col = 0xA, + .bk = 0x2, + .bw = 0x1, + .dbw = 0x0, + .row_3_4 = 0x0, + .cs0_row = 0x11, + .cs1_row = 0x0, + .cs0_high16bit_row = 0x11, + .cs1_high16bit_row = 0x0, + .ddrconfig = 0 + }, + { + {0x4d110a08}, + {0x06020501}, + {0x00000002}, + {0x00001111}, + {0x0000000c}, + {0x00000232}, + 0x000000ff + } + }, + { + .ddr_freq = 328, /* clock rate(MHz) */ + .dramtype = DDR4, + .num_channels = 1, + .stride = 0, + .odt = 0 + }, + { + { + {0x00000000, 0x43049010}, /* MSTR */ + {0x00000064, 0x0027003a}, /* RFSHTMG */ + {0x000000d0, 0x00020052}, /* INIT0 */ + {0x000000d4, 0x00220000}, /* INIT1 */ + {0x000000d8, 0x00000100}, /* INIT2 */ + {0x000000dc, 0x00040000}, /* INIT3 */ + {0x000000e0, 0x00000000}, /* INIT4 */ + {0x000000e4, 0x00110000}, /* INIT5 */ + {0x000000e8, 0x00000420}, /* INIT6 */ + {0x000000ec, 0x00000400}, /* INIT7 */ + {0x000000f4, 0x000f011f}, /* RANKCTL */ + {0x00000100, 0x09060b06}, /* DRAMTMG0 */ + {0x00000104, 0x00020209}, /* DRAMTMG1 */ + {0x00000108, 0x0505040a}, /* DRAMTMG2 */ + {0x0000010c, 0x0040400c}, /* DRAMTMG3 */ + {0x00000110, 0x05030206}, /* DRAMTMG4 */ + {0x00000114, 0x03030202}, /* DRAMTMG5 */ + {0x00000120, 0x03030b03}, /* DRAMTMG8 */ + {0x00000124, 0x00020208}, /* DRAMTMG9 */ + {0x00000180, 0x01000040}, /* ZQCTL0 */ + {0x00000184, 0x00000000}, /* ZQCTL1 */ + {0x00000190, 0x07030003}, /* DFITMG0 */ + {0x00000198, 0x07000101}, /* DFILPCFG0 */ + {0x000001a0, 0xc0400003}, /* DFIUPD0 */ + {0x00000240, 0x06000604}, /* ODTCFG */ + {0x00000244, 0x00000201}, /* ODTMAP */ + {0x00000250, 0x00001f00}, /* SCHED */ + {0x00000490, 0x00000001}, /* PCTRL_0 */ + {0xffffffff, 0xffffffff} + } + }, + { + { + {0x00000004, 0x0000008c}, /* PHYREG01 */ + {0x00000014, 0x0000000a}, /* PHYREG05 */ + {0x00000018, 0x00000000}, /* PHYREG06 */ + {0x0000001c, 0x00000009}, /* PHYREG07 */ + {0xffffffff, 0xffffffff} + } + } +}, diff --git a/drivers/ram/rockchip/sdram-rv1126-ddr4-detect-396.inc b/drivers/ram/rockchip/sdram-rv1126-ddr4-detect-396.inc new file mode 100644 index 0000000000..980be8cf18 --- /dev/null +++ b/drivers/ram/rockchip/sdram-rv1126-ddr4-detect-396.inc @@ -0,0 +1,75 @@ +{ + { + { + .rank = 0x1, + .col = 0xA, + .bk = 0x2, + .bw = 0x1, + .dbw = 0x0, + .row_3_4 = 0x0, + .cs0_row = 0x11, + .cs1_row = 0x0, + .cs0_high16bit_row = 0x11, + .cs1_high16bit_row = 0x0, + .ddrconfig = 0 + }, + { + {0x4d110a0a}, + {0x07020501}, + {0x00000002}, + {0x00001111}, + {0x0000000c}, + {0x00000232}, + 0x000000ff + } + }, + { + .ddr_freq = 396, /* clock rate(MHz) */ + .dramtype = DDR4, + .num_channels = 1, + .stride = 0, + .odt = 0 + }, + { + { + {0x00000000, 0x43049010}, /* MSTR */ + {0x00000064, 0x00300046}, /* RFSHTMG */ + {0x000000d0, 0x00020062}, /* INIT0 */ + {0x000000d4, 0x00280000}, /* INIT1 */ + {0x000000d8, 0x00000100}, /* INIT2 */ + {0x000000dc, 0x00040000}, /* INIT3 */ + {0x000000e0, 0x00000000}, /* INIT4 */ + {0x000000e4, 0x00110000}, /* INIT5 */ + {0x000000e8, 0x00000420}, /* INIT6 */ + {0x000000ec, 0x00000400}, /* INIT7 */ + {0x000000f4, 0x000f011f}, /* RANKCTL */ + {0x00000100, 0x09070d07}, /* DRAMTMG0 */ + {0x00000104, 0x0002020a}, /* DRAMTMG1 */ + {0x00000108, 0x0505040a}, /* DRAMTMG2 */ + {0x0000010c, 0x0040400c}, /* DRAMTMG3 */ + {0x00000110, 0x05030206}, /* DRAMTMG4 */ + {0x00000114, 0x03030202}, /* DRAMTMG5 */ + {0x00000120, 0x04040b04}, /* DRAMTMG8 */ + {0x00000124, 0x00020208}, /* DRAMTMG9 */ + {0x00000180, 0x01000040}, /* ZQCTL0 */ + {0x00000184, 0x00000000}, /* ZQCTL1 */ + {0x00000190, 0x07030003}, /* DFITMG0 */ + {0x00000198, 0x07000101}, /* DFILPCFG0 */ + {0x000001a0, 0xc0400003}, /* DFIUPD0 */ + {0x00000240, 0x06000604}, /* ODTCFG */ + {0x00000244, 0x00000201}, /* ODTMAP */ + {0x00000250, 0x00001f00}, /* SCHED */ + {0x00000490, 0x00000001}, /* PCTRL_0 */ + {0xffffffff, 0xffffffff} + } + }, + { + { + {0x00000004, 0x0000008c}, /* PHYREG01 */ + {0x00000014, 0x0000000a}, /* PHYREG05 */ + {0x00000018, 0x00000000}, /* PHYREG06 */ + {0x0000001c, 0x00000009}, /* PHYREG07 */ + {0xffffffff, 0xffffffff} + } + } +}, diff --git a/drivers/ram/rockchip/sdram-rv1126-ddr4-detect-528.inc b/drivers/ram/rockchip/sdram-rv1126-ddr4-detect-528.inc new file mode 100644 index 0000000000..3bde055e8d --- /dev/null +++ b/drivers/ram/rockchip/sdram-rv1126-ddr4-detect-528.inc @@ -0,0 +1,75 @@ +{ + { + { + .rank = 0x1, + .col = 0xA, + .bk = 0x2, + .bw = 0x1, + .dbw = 0x0, + .row_3_4 = 0x0, + .cs0_row = 0x11, + .cs1_row = 0x0, + .cs0_high16bit_row = 0x11, + .cs1_high16bit_row = 0x0, + .ddrconfig = 0 + }, + { + {0x4d120a0d}, + {0x09020501}, + {0x00000002}, + {0x00001111}, + {0x0000000c}, + {0x00000232}, + 0x000000ff + } + }, + { + .ddr_freq = 528, /* clock rate(MHz) */ + .dramtype = DDR4, + .num_channels = 1, + .stride = 0, + .odt = 0 + }, + { + { + {0x00000000, 0x43049010}, /* MSTR */ + {0x00000064, 0x0040005d}, /* RFSHTMG */ + {0x000000d0, 0x00020082}, /* INIT0 */ + {0x000000d4, 0x00350000}, /* INIT1 */ + {0x000000d8, 0x00000100}, /* INIT2 */ + {0x000000dc, 0x00040000}, /* INIT3 */ + {0x000000e0, 0x00000000}, /* INIT4 */ + {0x000000e4, 0x00110000}, /* INIT5 */ + {0x000000e8, 0x00000420}, /* INIT6 */ + {0x000000ec, 0x00000400}, /* INIT7 */ + {0x000000f4, 0x000f011f}, /* RANKCTL */ + {0x00000100, 0x0a0a1209}, /* DRAMTMG0 */ + {0x00000104, 0x0002020e}, /* DRAMTMG1 */ + {0x00000108, 0x0505040a}, /* DRAMTMG2 */ + {0x0000010c, 0x0040400c}, /* DRAMTMG3 */ + {0x00000110, 0x05030206}, /* DRAMTMG4 */ + {0x00000114, 0x03030202}, /* DRAMTMG5 */ + {0x00000120, 0x04040b04}, /* DRAMTMG8 */ + {0x00000124, 0x00020208}, /* DRAMTMG9 */ + {0x00000180, 0x01000040}, /* ZQCTL0 */ + {0x00000184, 0x00000000}, /* ZQCTL1 */ + {0x00000190, 0x07030003}, /* DFITMG0 */ + {0x00000198, 0x07000101}, /* DFILPCFG0 */ + {0x000001a0, 0xc0400003}, /* DFIUPD0 */ + {0x00000240, 0x06000604}, /* ODTCFG */ + {0x00000244, 0x00000201}, /* ODTMAP */ + {0x00000250, 0x00001f00}, /* SCHED */ + {0x00000490, 0x00000001}, /* PCTRL_0 */ + {0xffffffff, 0xffffffff} + } + }, + { + { + {0x00000004, 0x0000008c}, /* PHYREG01 */ + {0x00000014, 0x0000000a}, /* PHYREG05 */ + {0x00000018, 0x00000000}, /* PHYREG06 */ + {0x0000001c, 0x00000009}, /* PHYREG07 */ + {0xffffffff, 0xffffffff} + } + } +}, diff --git a/drivers/ram/rockchip/sdram-rv1126-ddr4-detect-664.inc b/drivers/ram/rockchip/sdram-rv1126-ddr4-detect-664.inc new file mode 100644 index 0000000000..c9341166d6 --- /dev/null +++ b/drivers/ram/rockchip/sdram-rv1126-ddr4-detect-664.inc @@ -0,0 +1,75 @@ +{ + { + { + .rank = 0x1, + .col = 0xA, + .bk = 0x2, + .bw = 0x1, + .dbw = 0x0, + .row_3_4 = 0x0, + .cs0_row = 0x11, + .cs1_row = 0x0, + .cs0_high16bit_row = 0x11, + .cs1_high16bit_row = 0x0, + .ddrconfig = 0 + }, + { + {0x4d130a11}, + {0x0c020501}, + {0x00000002}, + {0x00001111}, + {0x0000000c}, + {0x0000023a}, + 0x000000ff + } + }, + { + .ddr_freq = 664, /* clock rate(MHz) */ + .dramtype = DDR4, + .num_channels = 1, + .stride = 0, + .odt = 1 + }, + { + { + {0x00000000, 0x43041010}, /* MSTR */ + {0x00000064, 0x00500075}, /* RFSHTMG */ + {0x000000d0, 0x000200a4}, /* INIT0 */ + {0x000000d4, 0x00420000}, /* INIT1 */ + {0x000000d8, 0x00000100}, /* INIT2 */ + {0x000000dc, 0x01040401}, /* INIT3 */ + {0x000000e0, 0x00000000}, /* INIT4 */ + {0x000000e4, 0x00110000}, /* INIT5 */ + {0x000000e8, 0x00000420}, /* INIT6 */ + {0x000000ec, 0x00000400}, /* INIT7 */ + {0x000000f4, 0x000f011f}, /* RANKCTL */ + {0x00000100, 0x0b0c160c}, /* DRAMTMG0 */ + {0x00000104, 0x00020211}, /* DRAMTMG1 */ + {0x00000108, 0x0505040a}, /* DRAMTMG2 */ + {0x0000010c, 0x0040400c}, /* DRAMTMG3 */ + {0x00000110, 0x05030306}, /* DRAMTMG4 */ + {0x00000114, 0x04040302}, /* DRAMTMG5 */ + {0x00000120, 0x05050b05}, /* DRAMTMG8 */ + {0x00000124, 0x00020208}, /* DRAMTMG9 */ + {0x00000180, 0x01000040}, /* ZQCTL0 */ + {0x00000184, 0x00000000}, /* ZQCTL1 */ + {0x00000190, 0x07030003}, /* DFITMG0 */ + {0x00000198, 0x07000101}, /* DFILPCFG0 */ + {0x000001a0, 0xc0400003}, /* DFIUPD0 */ + {0x00000240, 0x06000604}, /* ODTCFG */ + {0x00000244, 0x00000201}, /* ODTMAP */ + {0x00000250, 0x00001f00}, /* SCHED */ + {0x00000490, 0x00000001}, /* PCTRL_0 */ + {0xffffffff, 0xffffffff} + } + }, + { + { + {0x00000004, 0x0000008c}, /* PHYREG01 */ + {0x00000014, 0x0000000a}, /* PHYREG05 */ + {0x00000018, 0x00000000}, /* PHYREG06 */ + {0x0000001c, 0x00000009}, /* PHYREG07 */ + {0xffffffff, 0xffffffff} + } + } +}, diff --git a/drivers/ram/rockchip/sdram-rv1126-ddr4-detect-784.inc b/drivers/ram/rockchip/sdram-rv1126-ddr4-detect-784.inc new file mode 100644 index 0000000000..ef2e9347bf --- /dev/null +++ b/drivers/ram/rockchip/sdram-rv1126-ddr4-detect-784.inc @@ -0,0 +1,75 @@ +{ + { + { + .rank = 0x1, + .col = 0xA, + .bk = 0x2, + .bw = 0x1, + .dbw = 0x0, + .row_3_4 = 0x0, + .cs0_row = 0x11, + .cs1_row = 0x0, + .cs0_high16bit_row = 0x11, + .cs1_high16bit_row = 0x0, + .ddrconfig = 0 + }, + { + {0x50160d14}, + {0x0e020502}, + {0x00000002}, + {0x00001111}, + {0x0000000c}, + {0x0000033a}, + 0x000000ff + } + }, + { + .ddr_freq = 784, /* clock rate(MHz) */ + .dramtype = DDR4, + .num_channels = 1, + .stride = 0, + .odt = 1 + }, + { + { + {0x00000000, 0x43041010}, /* MSTR */ + {0x00000064, 0x005f008a}, /* RFSHTMG */ + {0x000000d0, 0x000200c1}, /* INIT0 */ + {0x000000d4, 0x004e0000}, /* INIT1 */ + {0x000000d8, 0x00000100}, /* INIT2 */ + {0x000000dc, 0x03140401}, /* INIT3 */ + {0x000000e0, 0x00000000}, /* INIT4 */ + {0x000000e4, 0x00110000}, /* INIT5 */ + {0x000000e8, 0x00000420}, /* INIT6 */ + {0x000000ec, 0x00000400}, /* INIT7 */ + {0x000000f4, 0x000f011f}, /* RANKCTL */ + {0x00000100, 0x0c0e1a0e}, /* DRAMTMG0 */ + {0x00000104, 0x00030314}, /* DRAMTMG1 */ + {0x00000108, 0x0506050b}, /* DRAMTMG2 */ + {0x0000010c, 0x0040400c}, /* DRAMTMG3 */ + {0x00000110, 0x06030307}, /* DRAMTMG4 */ + {0x00000114, 0x04040302}, /* DRAMTMG5 */ + {0x00000120, 0x06060b06}, /* DRAMTMG8 */ + {0x00000124, 0x00020308}, /* DRAMTMG9 */ + {0x00000180, 0x01000040}, /* ZQCTL0 */ + {0x00000184, 0x00000000}, /* ZQCTL1 */ + {0x00000190, 0x07040003}, /* DFITMG0 */ + {0x00000198, 0x07000101}, /* DFILPCFG0 */ + {0x000001a0, 0xc0400003}, /* DFIUPD0 */ + {0x00000240, 0x0600060c}, /* ODTCFG */ + {0x00000244, 0x00000201}, /* ODTMAP */ + {0x00000250, 0x00001f00}, /* SCHED */ + {0x00000490, 0x00000001}, /* PCTRL_0 */ + {0xffffffff, 0xffffffff} + } + }, + { + { + {0x00000004, 0x0000008c}, /* PHYREG01 */ + {0x00000014, 0x0000000c}, /* PHYREG05 */ + {0x00000018, 0x00000000}, /* PHYREG06 */ + {0x0000001c, 0x00000009}, /* PHYREG07 */ + {0xffffffff, 0xffffffff} + } + } +}, diff --git a/drivers/ram/rockchip/sdram-rv1126-ddr4-detect-924.inc b/drivers/ram/rockchip/sdram-rv1126-ddr4-detect-924.inc new file mode 100644 index 0000000000..acb33bd315 --- /dev/null +++ b/drivers/ram/rockchip/sdram-rv1126-ddr4-detect-924.inc @@ -0,0 +1,75 @@ +{ + { + { + .rank = 0x1, + .col = 0xA, + .bk = 0x2, + .bw = 0x1, + .dbw = 0x0, + .row_3_4 = 0x0, + .cs0_row = 0x11, + .cs1_row = 0x0, + .cs0_high16bit_row = 0x11, + .cs1_high16bit_row = 0x0, + .ddrconfig = 0 + }, + { + {0x531a0f17}, + {0x0e020603}, + {0x00000002}, + {0x00001111}, + {0x0000000c}, + {0x00000342}, + 0x000000ff + } + }, + { + .ddr_freq = 924, /* clock rate(MHz) */ + .dramtype = DDR4, + .num_channels = 1, + .stride = 0, + .odt = 1 + }, + { + { + {0x00000000, 0x43041010}, /* MSTR */ + {0x00000064, 0x007000a2}, /* RFSHTMG */ + {0x000000d0, 0x000200e3}, /* INIT0 */ + {0x000000d4, 0x005c0000}, /* INIT1 */ + {0x000000d8, 0x00000100}, /* INIT2 */ + {0x000000dc, 0x05240401}, /* INIT3 */ + {0x000000e0, 0x00080000}, /* INIT4 */ + {0x000000e4, 0x00110000}, /* INIT5 */ + {0x000000e8, 0x00000420}, /* INIT6 */ + {0x000000ec, 0x00000400}, /* INIT7 */ + {0x000000f4, 0x000f011f}, /* RANKCTL */ + {0x00000100, 0x0e0e1f10}, /* DRAMTMG0 */ + {0x00000104, 0x00030317}, /* DRAMTMG1 */ + {0x00000108, 0x0507050c}, /* DRAMTMG2 */ + {0x0000010c, 0x0040400c}, /* DRAMTMG3 */ + {0x00000110, 0x07030308}, /* DRAMTMG4 */ + {0x00000114, 0x05050303}, /* DRAMTMG5 */ + {0x00000120, 0x07070b07}, /* DRAMTMG8 */ + {0x00000124, 0x00020309}, /* DRAMTMG9 */ + {0x00000180, 0x01000040}, /* ZQCTL0 */ + {0x00000184, 0x00000000}, /* ZQCTL1 */ + {0x00000190, 0x07050003}, /* DFITMG0 */ + {0x00000198, 0x07000101}, /* DFILPCFG0 */ + {0x000001a0, 0xc0400003}, /* DFIUPD0 */ + {0x00000240, 0x06000610}, /* ODTCFG */ + {0x00000244, 0x00000201}, /* ODTMAP */ + {0x00000250, 0x00001f00}, /* SCHED */ + {0x00000490, 0x00000001}, /* PCTRL_0 */ + {0xffffffff, 0xffffffff} + } + }, + { + { + {0x00000004, 0x0000008c}, /* PHYREG01 */ + {0x00000014, 0x0000000e}, /* PHYREG05 */ + {0x00000018, 0x00000000}, /* PHYREG06 */ + {0x0000001c, 0x0000000a}, /* PHYREG07 */ + {0xffffffff, 0xffffffff} + } + } +}, diff --git a/drivers/ram/rockchip/sdram_rv1126.c b/drivers/ram/rockchip/sdram_rv1126.c index 9e1376a940..0a78e18c73 100644 --- a/drivers/ram/rockchip/sdram_rv1126.c +++ b/drivers/ram/rockchip/sdram_rv1126.c @@ -76,6 +76,14 @@ struct rv1126_sdram_params sdram_configs[] = { # include "sdram-rv1126-lpddr4-detect-784.inc" # include "sdram-rv1126-lpddr4-detect-924.inc" # include "sdram-rv1126-lpddr4-detect-1056.inc" +#elif defined(CONFIG_RAM_ROCKCHIP_DDR4) +# include "sdram-rv1126-ddr4-detect-328.inc" +# include "sdram-rv1126-ddr4-detect-396.inc" +# include "sdram-rv1126-ddr4-detect-528.inc" +# include "sdram-rv1126-ddr4-detect-664.inc" +# include "sdram-rv1126-ddr4-detect-784.inc" +# include "sdram-rv1126-ddr4-detect-924.inc" +# include "sdram-rv1126-ddr4-detect-1056.inc" #else # include "sdram-rv1126-ddr3-detect-328.inc" # include "sdram-rv1126-ddr3-detect-396.inc"
Add support for ddr4 on rv1126. Timing detection files are imported from downstream Rockchip BSP u-boot. Allow selecting ddr4 ram with define CONFIG_RAM_ROCKCHIP_DDR4. Signed-off-by: Tim Lunn <tim@feathertop.org> --- (no changes since v1) .../sdram-rv1126-ddr4-detect-1056.inc | 75 +++++++++++++++++++ .../rockchip/sdram-rv1126-ddr4-detect-328.inc | 75 +++++++++++++++++++ .../rockchip/sdram-rv1126-ddr4-detect-396.inc | 75 +++++++++++++++++++ .../rockchip/sdram-rv1126-ddr4-detect-528.inc | 75 +++++++++++++++++++ .../rockchip/sdram-rv1126-ddr4-detect-664.inc | 75 +++++++++++++++++++ .../rockchip/sdram-rv1126-ddr4-detect-784.inc | 75 +++++++++++++++++++ .../rockchip/sdram-rv1126-ddr4-detect-924.inc | 75 +++++++++++++++++++ drivers/ram/rockchip/sdram_rv1126.c | 8 ++ 8 files changed, 533 insertions(+) create mode 100644 drivers/ram/rockchip/sdram-rv1126-ddr4-detect-1056.inc create mode 100644 drivers/ram/rockchip/sdram-rv1126-ddr4-detect-328.inc create mode 100644 drivers/ram/rockchip/sdram-rv1126-ddr4-detect-396.inc create mode 100644 drivers/ram/rockchip/sdram-rv1126-ddr4-detect-528.inc create mode 100644 drivers/ram/rockchip/sdram-rv1126-ddr4-detect-664.inc create mode 100644 drivers/ram/rockchip/sdram-rv1126-ddr4-detect-784.inc create mode 100644 drivers/ram/rockchip/sdram-rv1126-ddr4-detect-924.inc