Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:2
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:6
Форум » starterkit.ru » Отладочные платы » SK-iMX6Q
[imx6q][u-boot] - sata
Jury093
Добавлено 24.10.2013 23:59 Редактировалось 24.11.2013 12:45
0
Сообщение: 1
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
ну полная халява включить SATA в u-boot:
с соседнего файла скопипастил вызов инита, блок п/п отвечающих за инит саты, прописал хидер и переменные. в консоли юбута:
Код
MX6Q SK-iMX6 U-Boot > sata init
AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl SATA mode
flags: ncq stag pm led clo only pmp pio slum part
SATA Device Info:
S/N: WD-WXA1E63APXZ3
Product model number: WDC WD2500LPVX-00V0TT0
Firmware version: 01.01A01
Capacity: 488397168 sectors
MX6Q SK-iMX6 U-Boot > sata info

SATA device 0: Model: WDC WD2500LPVX-00V0TT0 Firm: 01.01A01 Ser#: WD-WXA1E63APXZ3
Type: Hard Disk
Supports 48-bit addressing
Capacity: 238475.1 MB = 232.8 GB (488397168 x 512)
MX6Q SK-iMX6 U-Boot > sata part
Partition Map for SATA device 0 -- Partition Type: DOS
Partition Start Sector Num Sectors Type
1 2048 139264 c
2 141312 62908416 83
MX6Q SK-iMX6 U-Boot > fatls sata 0
229148 u-boot.bin
1 file(s), 0 dir(s)

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 24.11.2013 12:44 Сообщение: 2
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
вроде пошла загрузка с чистого SATA..
Код
U-Boot 2009.08 (Oct 31 2013 - 20:10:15)
CPU: Freescale i.MX6 family TO1.2 at 792 MHz
Thermal sensor with ratio = 187
Temperature: 39 C, calibration data 0x5a05177d
mx6q pll1: 792MHz
mx6q pll2: 528MHz
mx6q pll3: 480MHz
mx6q pll8: 50MHz
ipg clock : 66000000Hz
ipg per clock : 66000000Hz
uart clock : 80000000Hz
cspi clock : 60000000Hz
ahb clock : 132000000Hz
axi clock : 264000000Hz
emi_slow clock: 132000000Hz
ddr clock : 528000000Hz
usdhc1 clock : 198000000Hz
usdhc2 clock : 198000000Hz
usdhc3 clock : 198000000Hz
usdhc4 clock : 198000000Hz
nfc clock : 19800000Hz
Board: SK-iMX6Q:[ POR]
Boot Device: SATA
I2C: ready
DRAM: 1 GB
NAND: Manufacturer ID: 0xec, Chip ID: 0xd5 (Samsung NAND 2GiB 3,3V 8-bit), page size: 8192,
OOB size: 436
2048 MiB
MMC: FSL_USDHC: 0,FSL_USDHC: 1
In: serial
Out: serial
Err: serial
Net: FEC0: rxbd 276081c0 txbd 27608200 ->27608240
miiphy_register: added 'FEC0', read=0x27812c24, write=0x27812b68
FEC0 [PRIME]
Hit any key to stop autoboot: 0
MX6Q SK-iMX6 U-Boot >

если получится по времени, то подробности вечером..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 24.11.2013 23:27 Редактировалось 24.11.2013 23:30 Сообщение: 3
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
не все пока пушисто и рано радоваться:
Код
MX6Q SK-iMX6 U-Boot > sata init
AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl SATA mode
flags: ncq stag pm led clo only pmp pio slum part
No port device detected!
MX6Q SK-iMX6 U-Boot > sata init
AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl SATA mode
flags: ncq stag pm led clo only pmp pio slum part
No port device detected!

толку с такой загрузки "0", т.к. юбут не "видит" диск, при том, что этот же юбут при загрузке с sd/mmc отлично видит hdd..
в доке сказано, что копыта sata "интить не надо", т.е. править флешевый хидер для ROM не требуется.. pll формально тоже настроены - раз он грузит начальный образ с винта..
как вариант - придушить с 3Gbit на 1.5Gbit (там где-то выставляется перемычкой), т.к. ядро видит диск:
Код
ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
ata1.00: ATA-7: Hitachi HTS721010G9SA00, MCZOC10H, max UDMA/100
ata1.00: 195371568 sectors, multi 0: LBA48 NCQ (depth 31/32)
ata1.00: configured for UDMA/100
scsi 0:0:0:0: Direct-Access ATA Hitachi HTS72101 MCZO PQ: 0 ANSI: 5
sd 0:0:0:0: [sda] 195371568 512-byte logical blocks: (100 GB/93.1 GiB)

это видение диска тем же юбутом при загрузке с sd/mmc:
Код
MX6Q SK-iMX6 U-Boot > sata init
AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl SATA mode
flags: ncq stag pm led clo only pmp pio slum part
SATA Device Info:
S/N: MPCZ12Y0GM6NJE
Product model number: Hitachi HTS721010G9SA00
Firmware version: MCZOC10H
Capacity: 195371568 sectors

подумаю..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 26.11.2013 22:00 Редактировалось 26.11.2013 22:31 Сообщение: 4
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
подумал..
исправляем в исходниках u-boot, которые заточены под SATA
в файле mx6q_sabrelite.c находим строку и добавляем до такого вида
Код
#ifdef CONFIG_DWC_AHSATA
if(boot_dev != SATA_BOOT)
setup_sata();
#endif

смысл действия - запретить инит подсистемы SATA при загрузке с SATA и разрешить во всех остальных случаях..

далее (по усмотрению) затираем начало винчестера:
Код
dd if=/dev/zero of=/dev/sda bs=512 count=16384


остальное обязательно:
копируем на винчестер u-boot:
Код
root@imx6q-es:~# dd if=u-boot.bin of=/dev/sda bs=512 skip=2 seek=2 conv=fsync
973+1 records in
973+1 records out
498300 bytes (498 kB) copied, 0.212198 s, 2.3 MB/s


запускаем fdisk /dev/sda
тут важный момент - первый раздел и последующие должны начинаться не с блока №1, а больше (у меня с 3)!

Код
Disk /dev/sda: 100.0 GB, 100030242816 bytes
255 heads, 63 sectors/track, 12161 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xa9251fca
Device Boot Start End Blocks Id System
/dev/sda1 3 7 40162+ c W95 FAT32 (LBA)
/dev/sda2 8 661 5253255 83 Linux


форматируем разделы
Код
root@imx6q-es:~# mkfs.vfat /dev/sda1
mkfs.vfat 3.0.9 (31 Jan 2010)
root@imx6q-es:~# mkfs.ext3 /dev/sda2
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
бла-бла


пробная загрузка:
Код
U-Boot 2009.08 (Nov 26 2013 - 21:38:51)

CPU: Freescale i.MX6 family TO1.2 at 792 MHz
Thermal sensor with ratio = 187
Temperature: 36 C, calibration data 0x5a05177d
mx6q pll1: 792MHz
mx6q pll2: 528MHz
mx6q pll3: 480MHz
mx6q pll8: 50MHz
ipg clock : 66000000Hz
ipg per clock : 66000000Hz
uart clock : 80000000Hz
cspi clock : 60000000Hz
ahb clock : 132000000Hz
axi clock : 264000000Hz
emi_slow clock: 132000000Hz
ddr clock : 528000000Hz
usdhc1 clock : 198000000Hz
usdhc2 clock : 198000000Hz
usdhc3 clock : 198000000Hz
usdhc4 clock : 198000000Hz
nfc clock : 19800000Hz
Board: SK-iMX6Q:[ POR]
Boot Device: SATA
I2C: ready
DRAM: 1 GB
NAND: Manufacturer ID: 0xec, Chip ID: 0xd5 (Samsung NAND 2GiB 3,3V 8-bit), page size: 8192,
OOB size: 436
2048 MiB
MMC: FSL_USDHC: 0,FSL_USDHC: 1
In: serial
Out: serial
Err: serial
Net: FEC0: rxbd 276081c0 txbd 27608200 ->27608240
miiphy_register: added 'FEC0', read=0x27812c34, write=0x27812b78
FEC0 [PRIME]
Hit any key to stop autoboot: 0
MX6Q SK-iMX6 U-Boot > sata init
AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl SATA mode
flags: ncq stag pm led clo only pmp pio slum part
SATA Device Info:
S/N: MPCZ12Y0GM6NJE
Product model number: Hitachi HTS721010G9SA00
Firmware version: MCZOC10H
Capacity: 195371568 sectors


забыл о главном - как выставить перемычки.. метод чтения мануала на кит, даташита на проц и изучение схемы результата не принес.. помог "метод тыка" - напомню у меня не серийный кит, а категория ES или PE.. и теперь я знаю комбинацию свитчей для загрузки с нанда, ммс, или сата..
сата вычисляется на слух - подключил винчестер, включил питание, если не слышно характерного "гр-гр-тр-тр-пыщ", то это не попытка АРМа проинтить винт, более того винт даже не раскручивается.. 3 перемычки - 8 комбинаций..

и еще момент - под этот кит купил винчестер, самый маленький и дешевый в моем селение (250ГБ, самсцунг WDC).. китовый линукс на него слегка поморщился и стал втирать что "4096 байт на сектор", впрочем отформатировал.. потом я помыкался и сделал с нотбуком честный чейнж - в бук пошел этот доходяга, а из бука был изъят 100ГБ хитачи с которого кит теперь успешно грузится..

вид на свитчи в положении "sata boot" (j6,j7 перемычки, j8 нет):
title

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 13.01.2014 22:02 Сообщение: 5
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
не совсем уверенно происходит загрузка чисто с SSD. выражается в том, что снятие питания на входе в плату и повторное включение не всегда приводит к успешному считыванию первичного загрузчика (u-boot).. помогает вынуть/вставить БП из розетки.. с HDD все отлично запускается из любого положения..
имхо, вполне может быть какое-то расхождение видения стандарта для Freescale и Kingston..
по питанию девайсов - данные с шильдиков:
Hitachi(hdd) 5Vx1.1A
Kingston(ssd) 5Vx1A
грузится с тем же u-boot, что и ранее:
Код
U-Boot 2009.08 (Nov 26 2013 - 21:38:51)

CPU: Freescale i.MX6 family TO1.2 at 792 MHz
Thermal sensor with ratio = 187
Temperature: 35 C, calibration data 0x5a05177d
mx6q pll1: 792MHz
mx6q pll2: 528MHz
mx6q pll3: 480MHz
mx6q pll8: 50MHz
ipg clock : 66000000Hz
ipg per clock : 66000000Hz
uart clock : 80000000Hz
cspi clock : 60000000Hz
ahb clock : 132000000Hz
axi clock : 264000000Hz
emi_slow clock: 132000000Hz
ddr clock : 528000000Hz
usdhc1 clock : 198000000Hz
usdhc2 clock : 198000000Hz
usdhc3 clock : 198000000Hz
usdhc4 clock : 198000000Hz
nfc clock : 19800000Hz
Board: SK-iMX6Q:[ POR]
Boot Device: SATA
I2C: ready
DRAM: 1 GB
NAND: Manufacturer ID: 0xec, Chip ID: 0xd5 (Samsung NAND 2GiB 3,3V 8-bit), page size: 8192, OOB size: 436
2048 MiB
MMC: FSL_USDHC: 0,FSL_USDHC: 1
In: serial
Out: serial
Err: serial
Net: FEC0: rxbd 276081c0 txbd 27608200 ->27608240
miiphy_register: added 'FEC0', read=0x27812c34, write=0x27812b78
FEC0 [PRIME]
Hit any key to stop autoboot: 0
reading uImage

3914608 bytes read
## Booting kernel from Legacy Image at 10800000 ...
Image Name: Linux-3.0.35
bla-bla
ata1.00: configured for UDMA/133
scsi 0:0:0:0: Direct-Access ATA KINGSTON SV300S3 505A PQ: 0 ANSI: 5
sd 0:0:0:0: [sda] 117231408 512-byte logical blocks: (60.0 GB/55.8 GiB)
fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
hub 1-0:1.0: USB hub found
sda: sda1 sda2 sda3
hub 1-0:1.0: 1 port detected
add wake up source irq 72
sd 0:0:0:0: [sda] Attached SCSI disk
fsl-ehci fsl-ehci.1: Freescale On-Chip EHCI Host Controller
fsl-ehci fsl-ehci.1: new USB bus registered, assigned bus number 2
fsl-ehci fsl-ehci.1: irq 72, io base 0x02184200
fsl-ehci fsl-ehci.1: USB 2.0 started, EHCI 1.00
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Отладочные платы » SK-iMX6Q