Ram upgrade: различия между версиями

Материал из Toshiba AC100 wiki
Перейти к навигации Перейти к поиску
Нет описания правки
 
м (Fixed DropBox links)
 
(не показаны 22 промежуточные версии 2 участников)
Строка 1: Строка 1:
For more details on the BCT format, see the cbootimage project on gitorious; it creates boot images for Tegra: https://gitorious.org/cbootimage.
==Hardware Upgrade==
'''NOTE: ac100 with changed BCT, u-boot, kernel boots, but ram size is still 512 ([http://4pda.ru/forum/index.php?s=&showtopic=367318&view=findpost&p=60413203 dmesg is here]).'''


https://lists.launchpad.net/ac100/msg00706.html
User Курдль from 4PDA successfully upgraded ram on AC100 and it even boots fine but with 512MB - [http://4pda.ru/forum/index.php?s=&showtopic=367318&view=findpost&p=59257099 подробнее тут]<br/>
https://github.com/nmenon/omap-u-boot-utils/commit/d29bb1728e01ad8c74cec663bb2ec0b86db0881a
[[File:ram_difference2.jpg]]
http://projects.pappkartong.se/a500/
AT91SAM9G45 и DDR2: http://electronix.ru/forum/lofiversion/index.php/t102525.html
PrimeCell DDR2 Dynamic Memory Controller (PL341): http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0418d/Cjaigieh.html
<span style="color: #4b4f30;">(23:15:46) </span><span style="color: #4b4f30;">stuw_: </span>Возможно кто-то не осилит, но вот очень интересная серия статей о работе памяти - http://lwn.net/Articles/250967/


After - http://pdf1.alldatasheet.com/datasheet-pdf/view/332891/HYNIX/H5PS2G83AFR.html


Появилась интересная идея. А что если, допустим, я найду какую-нибудь папять аналогичного объема (в сумме 512МБ), напаяю на тошу и попробую запустить
==BCT==
<span style="color: #af7f00;">(12:45:06) stuw: </span>kottt, bct скорее всего нужно будет менять.
http://http.download.nvidia.com/tegra-public-appnotes/bct-overview.html
<span style="color: #44611a;">(12:45:39) stuw: </span>https://dl.dropbox.com/u/40761340/ram/harmony_a02_12Mhz_H5PS1G83EFR-S5C_333Mhz_512MB-VS-harmony_a02_12Mhz_H5PS1G83EFR-S6C_333Mhz_1GB.txt
<span style="color: #af7f00;">(12:46:12) stuw: </span>https://dl.dropbox.com/u/40761340/ram/kottt-116-VS_harmony_a02_12Mhz_H5PS1G83EFR-S6C_333Mhz_1GB.txt
<span style="color: #af7f00;">(12:46:23) stuw: </span>https://dl.dropbox.com/u/40761340/ram/kottt-116-VS-harmony_a02_12Mhz_H5PS1G83EFR-S5C_333Mhz_512MB.txt
<span style="color: #44611a;">(12:50:37) stuw: </span>найти бы еще откуда эти параметры берутся )


For more details on the BCT format, see the cbootimage project on github, <br/>
it creates boot images for Tegra: https://github.com/NVIDIA/cbootimage <br/>
(sdram params are described in [https://github.com/NVIDIA/cbootimage/blob/master/src/t20/nvboot_sdram_param_t20.h nvboot_sdram_param_t20.h]).<br />


Имеющиеся варианты 1GB памяти на известных Tegra2-девайсах:
===ODMDATA===
Harmony:
There is ram size variable inside odmdata <br/>
H5PS1G83EFR-Y5C_150Mhz_1GB
http://nv-tegra.nvidia.com/gitweb/?p=linux-2.6.git;a=blob;f=arch/arm/mach-tegra/odm_kit/query/harmony/tegra_devkit_custopt.h;h=1ec7010911454f19a5018952fd245785a62c59ad;hb=0e52d7fe25b11a656c376a37890be219470661fb#l143
H5PS1G83EFR-Y5C_300Mhz_1GB
H5PS1G83EFR-S5C_333Mhz_1GB
H5PS1G83EFR-S6C_333Mhz_1GB
Cardhu:
H5TC2G83BFR _333Mhz_1GB
H5TC2G83BFR-PBA_375MHz_1GB
Ventana:
Elpida EDB8132B1PB-6D-F


TF101:
====ODMDATA changes====
Elpida B8132B2PB-6D-F LPDDR2 SDRAM
Get original bct:
<pre>
sudo tegrarcm --bct=ac100.bct readbct
bct_dump ac100.bct > original.cfg
grep OdmData original.cfg
</pre>
Check odmdata value:
<pre>
OdmData      = 0x800c0075;
1000 0000  0000 1100  0000 0000  0111 0101
^^^
</pre>
Check possible values (original value is 0b000 = 0x0UL):
<pre>
138 /// Total RAM
139 #define TEGRA_DEVKIT_BCT_SYSTEM_0_MEMORY_RANGE    30:28
140 #define TEGRA_DEVKIT_BCT_SYSTEM_0_MEMORY_DEFAULT  0x0UL // 512 MB
141 #define TEGRA_DEVKIT_BCT_SYSTEM_0_MEMORY_256      0x1UL // 256 MB
142 #define TEGRA_DEVKIT_BCT_SYSTEM_0_MEMORY_512      0x2UL // 512 MB
143 #define TEGRA_DEVKIT_BCT_SYSTEM_0_MEMORY_1024    0x3UL // 1024 MB (1 GB)
</pre>
Calc new value:
<pre>
1011 0000  0000 1100  0000 0000  0111 0101
OdmData      = 0xb00c0075
</pre>


Advent Vega:
===McEmemCfg===
H5PS1G83EFR-S6C
There is also RAM size in McEmemCfg variable. bct_dump shows 3 SDRAM configurations (0 through 2).
<pre>
SDRAM[0].McEmemCfg                  = 0x00080000;
</pre>
This value is a RAM size in KB (on Tegra2). Probably this value should be increased to 0x00100000.


TrimSlice:
??? - не нашел ни фотографий, ни спецификаций


Notion Ink Adam:
==Bootloader U-Boot==
https://picasaweb.google.com/102502076918141645796/NotionInklAdam#5592830302852689506
Memory map inside U-Boot <br/>
HY5PS1G831C
https://github.com/ac100-ru/u-boot/blob/v2017.01-paz00-usb-dev/include/configs/tegra-common.h#L80 <br/>
https://github.com/ac100-ru/u-boot/blob/v2017.01-paz00-usb-dev/arch/arm/dts/tegra20-paz00.dts#L27


Подводя краткий итог, имеем:
==Kernel, Device Tree==
Hynix:
Memory size inside kernel device tree <br/>
H5PS1G83EFR-Y5C
https://github.com/torvalds/linux/blob/master/arch/arm/boot/dts/tegra20-paz00.dts#L21
H5PS1G83EFR-S5C
H5PS1G83EFR-S6C
H5TC2G83BFR
H5TC2G83BFR-PBA


Elpida:
EDB8132B2PB-6D-F




Текущая память на тошибе:
https://dl.dropbox.com/u/1757382/ac100/ac100-ram.jpg


Micron D9LHP DDR2 800
==Old info==
MT8HTF12864AZ-800H1
<br />
<stuw_> http://www.micron.com/products/support/fbga?fbga=D9LHP
* https://lists.launchpad.net/ac100/msg00706.html
<stuw_> MT47H128M8CF-25:H :)
* https://github.com/nmenon/omap-u-boot-utils/commit/d29bb1728e01ad8c74cec663bb2ec0b86db0881a
* http://projects.pappkartong.se/a500/
* AT91SAM9G45 и DDR2: http://electronix.ru/forum/lofiversion/index.php/t102525.html
* PrimeCell DDR2 Dynamic Memory Controller (PL341): http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0418d/Cjaigieh.html
Возможно кто-то не осилит, но вот очень интересная серия статей о работе памяти - http://lwn.net/Articles/250967/
<br />
<br />
Появилась интересная идея. А что если, допустим, я найду какую-нибудь папять аналогичного объема (в сумме 512МБ), напаяю на тошу и попробую запустить<br />
(12:45:06) stuw: kottt, bct скорее всего нужно будет менять.<br />
(12:45:39) stuw: (https://www.dropbox.com/s/jjjxp1n2fs3q43f/harmony_a02_12Mhz_H5PS1G83EFR-S5C_333Mhz_512MB-VS-harmony_a02_12Mhz_H5PS1G83EFR-S6C_333Mhz_1GB.txt?dl=0) https://dl.dropbox.com/u/40761340/ram/harmony_a02_12Mhz_H5PS1G83EFR-S5C_333Mhz_512MB-VS-harmony_a02_12Mhz_H5PS1G83EFR-S6C_333Mhz_1GB.txt<br />
(12:46:12) stuw: (https://www.dropbox.com/s/1x3r1gf7loo887w/kottt-116-VS_harmony_a02_12Mhz_H5PS1G83EFR-S6C_333Mhz_1GB.txt?dl=0) https://dl.dropbox.com/u/40761340/ram/kottt-116-VS_harmony_a02_12Mhz_H5PS1G83EFR-S6C_333Mhz_1GB.txt<br />
(12:46:23) stuw: (https://www.dropbox.com/s/ydvbivd7cqdp94o/kottt-116-VS-harmony_a02_12Mhz_H5PS1G83EFR-S5C_333Mhz_512MB.txt?dl=0) https://dl.dropbox.com/u/40761340/ram/kottt-116-VS-harmony_a02_12Mhz_H5PS1G83EFR-S5C_333Mhz_512MB.txt<br />
(12:50:37) stuw: найти бы еще откуда эти параметры берутся )<br />




<zombah> если смотреть старое ядро где в борде писали тайминги для памяти там две секции для микрон и для хайникс
Имеющиеся варианты 1GB памяти на известных Tegra2-девайсах:<br />
<zombah> видимо у нас бывает и такая и такая
Harmony:<br />
* H5PS1G83EFR-Y5C_150Mhz_1GB
* H5PS1G83EFR-Y5C_300Mhz_1GB
* H5PS1G83EFR-S5C_333Mhz_1GB
* H5PS1G83EFR-S6C_333Mhz_1GB
Cardhu:
* H5TC2G83BFR _333Mhz_1GB
* H5TC2G83BFR-PBA_375MHz_1GB
Ventana:
* Elpida EDB8132B1PB-6D-F
<br />
TF101:
*Elpida B8132B2PB-6D-F LPDDR2 SDRAM
<br />
Advent Vega:
* H5PS1G83EFR-S6C


<zombah> ну я предлагаю другую методу, сначала собрать все известные bct на гиг и их парт номера
TrimSlice:
<zombah> записать их на бумажку и пойти на ближайший рынок где есть барахолка
* ??? - не нашел ни фотографий, ни спецификаций
<zombah> пускай поищут может найдется прям нужная
<br />
Notion Ink Adam:<br />
https://picasaweb.google.com/102502076918141645796/NotionInklAdam#5592830302852689506<br />
HY5PS1G831C<br />
<br />
Подводя краткий итог, имеем:<br />
Hynix:
* H5PS1G83EFR-Y5C
* H5PS1G83EFR-S5C
* H5PS1G83EFR-S6C
* H5TC2G83BFR
* H5TC2G83BFR-PBA
 
Elpida:
* EDB8132B2PB-6D-F
<br />
<br />
Текущая память на тошибе:<br />
https://dl.dropbox.com/u/1757382/ac100/ac100-ram.jpg<br />
<br />
Идем на страницу декодирования: http://www.micron.com/support/fbga<br />
FBGA code: '''D9LHP'''<br />
Получаем Part number '''MT47H128M8CF-25:H''' ( http://www.micron.com/support/fbga?fbga=D9LHP )<br />
Поиск на сайте MT47H128M8CF-25 выдает два даташита:
* http://www.micron.com/~/media/documents/products/data-sheet/dram/ddr2/1gb_ddr2.pdf
* http://www.micron.com/~/media/documents/products/data-sheet/dram/ddr2/1gb_ddr2_addendum.pdf
Декодируем информацию о чипе MT47H128M8CF-25:H
* MT47H
* 128M8 = 128 Meg x 8
* CF = 60-ball 8mm x 10.0mm FBGA
* -25 = tCK = 2.5ns, CL = 5 (почему-то не -25E)
* :H = revision
<br />
проверить - Micron D9LHP DDR2 800<br />
проверить - MT8HTF12864AZ-800H1<br />
<br />
<zombah> если смотреть старое ядро где в борде писали тайминги для памяти там две секции для микрон и для хайникс<br />
<zombah> видимо у нас бывает и такая и такая<br />
<br />
<zombah> ну я предлагаю другую методу, сначала собрать все известные bct на гиг и их парт номера<br />
<zombah> записать их на бумажку и пойти на ближайший рынок где есть барахолка<br />
<zombah> пускай поищут может найдется прям нужная<br />

Текущая версия от 18:49, 28 января 2020

Hardware Upgrade

NOTE: ac100 with changed BCT, u-boot, kernel boots, but ram size is still 512 (dmesg is here).

User Курдль from 4PDA successfully upgraded ram on AC100 and it even boots fine but with 512MB - подробнее тут

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

After - http://pdf1.alldatasheet.com/datasheet-pdf/view/332891/HYNIX/H5PS2G83AFR.html

BCT

http://http.download.nvidia.com/tegra-public-appnotes/bct-overview.html

For more details on the BCT format, see the cbootimage project on github,
it creates boot images for Tegra: https://github.com/NVIDIA/cbootimage
(sdram params are described in nvboot_sdram_param_t20.h).

ODMDATA

There is ram size variable inside odmdata
http://nv-tegra.nvidia.com/gitweb/?p=linux-2.6.git;a=blob;f=arch/arm/mach-tegra/odm_kit/query/harmony/tegra_devkit_custopt.h;h=1ec7010911454f19a5018952fd245785a62c59ad;hb=0e52d7fe25b11a656c376a37890be219470661fb#l143

ODMDATA changes

Get original bct:

sudo tegrarcm --bct=ac100.bct readbct
bct_dump ac100.bct > original.cfg
grep OdmData original.cfg

Check odmdata value:

OdmData       = 0x800c0075;
1000 0000  0000 1100  0000 0000  0111 0101
 ^^^

Check possible values (original value is 0b000 = 0x0UL):

 138 /// Total RAM
 139 #define TEGRA_DEVKIT_BCT_SYSTEM_0_MEMORY_RANGE    30:28
 140 #define TEGRA_DEVKIT_BCT_SYSTEM_0_MEMORY_DEFAULT  0x0UL // 512 MB
 141 #define TEGRA_DEVKIT_BCT_SYSTEM_0_MEMORY_256      0x1UL // 256 MB
 142 #define TEGRA_DEVKIT_BCT_SYSTEM_0_MEMORY_512      0x2UL // 512 MB
 143 #define TEGRA_DEVKIT_BCT_SYSTEM_0_MEMORY_1024     0x3UL // 1024 MB (1 GB)

Calc new value:

1011 0000  0000 1100  0000 0000  0111 0101
OdmData       = 0xb00c0075

McEmemCfg

There is also RAM size in McEmemCfg variable. bct_dump shows 3 SDRAM configurations (0 through 2).

SDRAM[0].McEmemCfg                  = 0x00080000; 

This value is a RAM size in KB (on Tegra2). Probably this value should be increased to 0x00100000.


Bootloader U-Boot

Memory map inside U-Boot
https://github.com/ac100-ru/u-boot/blob/v2017.01-paz00-usb-dev/include/configs/tegra-common.h#L80
https://github.com/ac100-ru/u-boot/blob/v2017.01-paz00-usb-dev/arch/arm/dts/tegra20-paz00.dts#L27

Kernel, Device Tree

Memory size inside kernel device tree
https://github.com/torvalds/linux/blob/master/arch/arm/boot/dts/tegra20-paz00.dts#L21



Old info


Возможно кто-то не осилит, но вот очень интересная серия статей о работе памяти - http://lwn.net/Articles/250967/

Появилась интересная идея. А что если, допустим, я найду какую-нибудь папять аналогичного объема (в сумме 512МБ), напаяю на тошу и попробую запустить
(12:45:06) stuw: kottt, bct скорее всего нужно будет менять.
(12:45:39) stuw: (https://www.dropbox.com/s/jjjxp1n2fs3q43f/harmony_a02_12Mhz_H5PS1G83EFR-S5C_333Mhz_512MB-VS-harmony_a02_12Mhz_H5PS1G83EFR-S6C_333Mhz_1GB.txt?dl=0) https://dl.dropbox.com/u/40761340/ram/harmony_a02_12Mhz_H5PS1G83EFR-S5C_333Mhz_512MB-VS-harmony_a02_12Mhz_H5PS1G83EFR-S6C_333Mhz_1GB.txt
(12:46:12) stuw: (https://www.dropbox.com/s/1x3r1gf7loo887w/kottt-116-VS_harmony_a02_12Mhz_H5PS1G83EFR-S6C_333Mhz_1GB.txt?dl=0) https://dl.dropbox.com/u/40761340/ram/kottt-116-VS_harmony_a02_12Mhz_H5PS1G83EFR-S6C_333Mhz_1GB.txt
(12:46:23) stuw: (https://www.dropbox.com/s/ydvbivd7cqdp94o/kottt-116-VS-harmony_a02_12Mhz_H5PS1G83EFR-S5C_333Mhz_512MB.txt?dl=0) https://dl.dropbox.com/u/40761340/ram/kottt-116-VS-harmony_a02_12Mhz_H5PS1G83EFR-S5C_333Mhz_512MB.txt
(12:50:37) stuw: найти бы еще откуда эти параметры берутся )


Имеющиеся варианты 1GB памяти на известных Tegra2-девайсах:
Harmony:

  • H5PS1G83EFR-Y5C_150Mhz_1GB
  • H5PS1G83EFR-Y5C_300Mhz_1GB
  • H5PS1G83EFR-S5C_333Mhz_1GB
  • H5PS1G83EFR-S6C_333Mhz_1GB

Cardhu:

  • H5TC2G83BFR _333Mhz_1GB
  • H5TC2G83BFR-PBA_375MHz_1GB

Ventana:

  • Elpida EDB8132B1PB-6D-F


TF101:

  • Elpida B8132B2PB-6D-F LPDDR2 SDRAM


Advent Vega:

  • H5PS1G83EFR-S6C

TrimSlice:

  • ??? - не нашел ни фотографий, ни спецификаций


Notion Ink Adam:
https://picasaweb.google.com/102502076918141645796/NotionInklAdam#5592830302852689506
HY5PS1G831C

Подводя краткий итог, имеем:
Hynix:

  • H5PS1G83EFR-Y5C
  • H5PS1G83EFR-S5C
  • H5PS1G83EFR-S6C
  • H5TC2G83BFR
  • H5TC2G83BFR-PBA

Elpida:

  • EDB8132B2PB-6D-F



Текущая память на тошибе:
https://dl.dropbox.com/u/1757382/ac100/ac100-ram.jpg

Идем на страницу декодирования: http://www.micron.com/support/fbga
FBGA code: D9LHP
Получаем Part number MT47H128M8CF-25:H ( http://www.micron.com/support/fbga?fbga=D9LHP )
Поиск на сайте MT47H128M8CF-25 выдает два даташита:

Декодируем информацию о чипе MT47H128M8CF-25:H

  • MT47H
  • 128M8 = 128 Meg x 8
  • CF = 60-ball 8mm x 10.0mm FBGA
  • -25 = tCK = 2.5ns, CL = 5 (почему-то не -25E)
  • :H = revision


проверить - Micron D9LHP DDR2 800
проверить - MT8HTF12864AZ-800H1

<zombah> если смотреть старое ядро где в борде писали тайминги для памяти там две секции для микрон и для хайникс
<zombah> видимо у нас бывает и такая и такая

<zombah> ну я предлагаю другую методу, сначала собрать все известные bct на гиг и их парт номера
<zombah> записать их на бумажку и пойти на ближайший рынок где есть барахолка
<zombah> пускай поищут может найдется прям нужная