<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/drivers/ram, branch v2019.10-rc2</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/u-boot.git/atom/drivers/ram?h=v2019.10-rc2</id>
<link rel='self' href='http://cgit.235523.xyz/u-boot.git/atom/drivers/ram?h=v2019.10-rc2'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<updated>2019-08-05T13:14:45Z</updated>
<entry>
<title>rockchip: ram: add full feature rk3328 DRAM driver</title>
<updated>2019-08-05T13:14:45Z</updated>
<author>
<name>Kever Yang</name>
<email>kever.yang@rock-chips.com</email>
</author>
<published>2019-08-02T07:39:59Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=85a38742e05d7908ae81773a988df28fbb103228'/>
<id>urn:sha1:85a38742e05d7908ae81773a988df28fbb103228</id>
<content type='text'>
This driver supports DDR3/LPDDR3/DDR4 SDRAM initialization.

Signed-off-by: YouMin Chen &lt;cym@rock-chips.com&gt;
Signed-off-by: Kever Yang &lt;kever.yang@rock-chips.com&gt;
[cherry picked from commit https://github.com/rockchip-linux/u-boot/commit/9fb0777ec3cc6a89af9d2e0969c3bfe58306a88d with minor modifications]
Signed-off-by: Matwey V. Kornilov &lt;matwey.kornilov@gmail.com&gt;
Reviewed-by: Kever Yang &lt;kever.yang@rock-chips.com&gt;
</content>
</entry>
<entry>
<title>rockchip: rk322x: sdram: use udelay instead of rockchip_udelay</title>
<updated>2019-07-20T15:59:44Z</updated>
<author>
<name>Kever Yang</name>
<email>kever.yang@rock-chips.com</email>
</author>
<published>2019-07-09T14:00:22Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=f3d689c0e051216cbcc27ab6a30e2d4c2760c46c'/>
<id>urn:sha1:f3d689c0e051216cbcc27ab6a30e2d4c2760c46c</id>
<content type='text'>
Use system api for udelay instead of vendor defined api,
and rockchip_udelay() will be removed.

Signed-off-by: Kever Yang &lt;kever.yang@rock-chips.com&gt;
</content>
</entry>
<entry>
<title>ram: rk3399: Add lpddr4 set rate support</title>
<updated>2019-07-20T15:59:44Z</updated>
<author>
<name>Jagan Teki</name>
<email>jagan@amarulasolutions.com</email>
</author>
<published>2019-07-16T11:57:40Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=c36abd087a6f25fed5e1af09124e9bf2b4fc2d73'/>
<id>urn:sha1:c36abd087a6f25fed5e1af09124e9bf2b4fc2d73</id>
<content type='text'>
Unlike rest of dram type chips, LPDDR4 initialization start
with at board selected frequency (say 50MHz) and then it
switches into 400MHz and 800MHz simultaneously to make the
proper sequence work on each channel with associated training.

The lpddr4 set rate sequnce will follow by setting lpddr4
- dq out
- ca odt
- MR3
- MR12
- MR14
registers sets in sequential order.

Here is sameple log about LPDDR4-100 init sequence in Rockpro64:

Channel 0: LPDDR4, 50MHz
BW=32 Col=10 Bk=8 CS0 Row=15 CS1 Row=15 CS=2 Die BW=16 Size=2048MB
Channel 1: LPDDR4, 50MHz
BW=32 Col=10 Bk=8 CS0 Row=15 CS1 Row=15 CS=2 Die BW=16 Size=2048MB
256B stride
channel 0 training pass
channel 1 training pass
change freq to 400 MHz 0, 1
channel 0 training pass
channel 1 training pass
change freq to 800 MHz 1, 0

This patch add support to this init sequence via lpddr4 set rate
by taking sdram timing parameters from 400, 800 .inc files.

Signed-off-by: Jagan Teki &lt;jagan@amarulasolutions.com&gt;
Signed-off-by: YouMin Chen &lt;cym@rock-chips.com&gt;
Reviewed-by: Kever Yang &lt;kever.yang@rock-chips.com&gt;
(Fix travis error, use one ret instead of ret[2] in set_ctrl)
Signed-off-by: Kever Yang &lt;kever.yang@rock-chips.com&gt;
</content>
</entry>
<entry>
<title>ram: rk3399: Add set_rate sdram rk3399 ops</title>
<updated>2019-07-20T16:00:32Z</updated>
<author>
<name>Jagan Teki</name>
<email>jagan@amarulasolutions.com</email>
</author>
<published>2019-07-16T11:57:39Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=1dd1cb6253c3a4326284f4f2a141297d06103e69'/>
<id>urn:sha1:1dd1cb6253c3a4326284f4f2a141297d06103e69</id>
<content type='text'>
DDR set rate can be even required for lpddr4 and we
need to keep the lpddr4 code to compile only for relevant
boards which do support lpddr4.

For this requirement, and for code readability handle
data training via sdram_rk3399_ops with .set_rate and
same will update in future while supporting lpddr4 code.

Signed-off-by: Jagan Teki &lt;jagan@amarulasolutions.com&gt;
Reviewed-by: Kever Yang &lt;Kever.yang@rock-chips.com&gt;
</content>
</entry>
<entry>
<title>ram: rk3399: Add LPPDDR4-800 timings inc</title>
<updated>2019-07-20T16:00:30Z</updated>
<author>
<name>Jagan Teki</name>
<email>jagan@amarulasolutions.com</email>
</author>
<published>2019-07-16T11:57:38Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=dd2c633b2a3daf6f3acee0dcd569b0417c438dbb'/>
<id>urn:sha1:dd2c633b2a3daf6f3acee0dcd569b0417c438dbb</id>
<content type='text'>
LPDDR4 initialization start with at board selected frequency
and then it switches into 400MHz and 800MHz simultaneously to
make the proper sequence work on each channel with associated
training.

So, add LPDDR4-800 timings inc file in driver area so-that
these timings will take during LPDDR4 initialization phase.

Signed-off-by: Jagan Teki &lt;jagan@amarulasolutions.com&gt;
Signed-off-by: YouMin Chen &lt;cym@rock-chips.com&gt;
Reviewed-by: Kever Yang &lt;Kever.yang@rock-chips.com&gt;
</content>
</entry>
<entry>
<title>ram: rk3399: Add LPPDDR4-400 timings inc</title>
<updated>2019-07-20T16:00:27Z</updated>
<author>
<name>Jagan Teki</name>
<email>jagan@amarulasolutions.com</email>
</author>
<published>2019-07-16T11:57:37Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=4f3cc17d380559b9b2da87040e9d6f29bb33dbc3'/>
<id>urn:sha1:4f3cc17d380559b9b2da87040e9d6f29bb33dbc3</id>
<content type='text'>
LPDDR4 initialization start with at board selected frequency
and then it switches into 400MHz and 800MHz simultaneously to
make the proper sequence work on each channel with associated
training.

So, add LPDDR4-400 timings inc file in driver area so-that
these timings will take during LPDDR4 initialization phase.

Signed-off-by: Jagan Teki &lt;jagan@amarulasolutions.com&gt;
Signed-off-by: YouMin Chen &lt;cym@rock-chips.com&gt;
Reviewed-by: Kever Yang &lt;Kever.yang@rock-chips.com&gt;
</content>
</entry>
<entry>
<title>ram: rk3399: Add LPPDR4 mr detection</title>
<updated>2019-07-20T16:00:10Z</updated>
<author>
<name>Jagan Teki</name>
<email>jagan@amarulasolutions.com</email>
</author>
<published>2019-07-16T11:57:31Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=a0ded6d317b0a12e1555080e55971bde8e932026'/>
<id>urn:sha1:a0ded6d317b0a12e1555080e55971bde8e932026</id>
<content type='text'>
Like data training in other sdram types, mr detection need
to taken care for lpddr4 with looped rank and associated
channel to make sure the proper configuration held.

Once the mr detection successful for active and configured
rank with channel number, the same can later reused during
actual LPDDR4 initialization.

So, add code to support for it.

Signed-off-by: Jagan Teki &lt;jagan@amarulasolutions.com&gt;
Signed-off-by: YouMin Chen &lt;cym@rock-chips.com&gt;
Reviewed-by: Kever Yang &lt;Kever.yang@rock-chips.com&gt;
</content>
</entry>
<entry>
<title>ram: rk3399: Handle data training via ops</title>
<updated>2019-07-20T16:00:07Z</updated>
<author>
<name>Jagan Teki</name>
<email>jagan@amarulasolutions.com</email>
</author>
<published>2019-07-16T11:57:30Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=299deecf4a8cd6bc5b17fd3691a39066601eca35'/>
<id>urn:sha1:299deecf4a8cd6bc5b17fd3691a39066601eca35</id>
<content type='text'>
data training can be even required for lpddr4 and we
need to keep the lpddr4 code to compile only for relevant
boards which do support lpddr4.

For this requirement, and for code readability handle
data training via sdram_rk3399_ops and same will update
in future while supporting lpddr4 code.

Signed-off-by: Jagan Teki &lt;jagan@amarulasolutions.com&gt;
Reviewed-by: Kever Yang &lt;Kever.yang@rock-chips.com&gt;
</content>
</entry>
<entry>
<title>ram: rk3399: Simplify data training first argument</title>
<updated>2019-07-20T16:00:01Z</updated>
<author>
<name>Jagan Teki</name>
<email>jagan@amarulasolutions.com</email>
</author>
<published>2019-07-16T11:57:29Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=e6ae37a007c2ddc5f070c8ce65349b472e625060'/>
<id>urn:sha1:e6ae37a007c2ddc5f070c8ce65349b472e625060</id>
<content type='text'>
data training is using chan_info as first argument with
channel number as second argument instead of that use
dram_info as first argument so-that we can get the
chan_info at data training definition.

This was the argument handling is meaningful, readable
and it would help to add similar data training for
lpddr4 in future.

Signed-off-by: Jagan Teki &lt;jagan@amarulasolutions.com&gt;
Reviewed-by: Kever Yang &lt;Kever.yang@rock-chips.com&gt;
</content>
</entry>
<entry>
<title>ram: rk3399: Update lpddr4 vref_mode_ac</title>
<updated>2019-07-20T15:59:44Z</updated>
<author>
<name>Jagan Teki</name>
<email>jagan@amarulasolutions.com</email>
</author>
<published>2019-07-16T11:57:28Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=e939f92eae5b6524c18cbb4a42f4cc3910e5d018'/>
<id>urn:sha1:e939f92eae5b6524c18cbb4a42f4cc3910e5d018</id>
<content type='text'>
Update vref_mode_ac for lpddr4 based on VDDQ/3/2=16.8%

Signed-off-by: Jagan Teki &lt;jagan@amarulasolutions.com&gt;
Signed-off-by: YouMin Chen &lt;cym@rock-chips.com&gt;
Reviewed-by: Kever Yang &lt;Kever.yang@rock-chips.com&gt;
</content>
</entry>
</feed>
