Commit 39eed8d1444c6cfe8f8a75959a322205b41f5807
Committed by
Ye Li
1 parent
d2d545d788
Exists in
smarc_8mm-imx_v2018.03_4.14.98_2.0.0_ga
and in
5 other branches
MLK-19722-7 doc: imx: misc: Reorganize miscellaneous documentation
The Serial Download Protocol feature is availible in various i.MX SoCs. Move README.sdp document to imx/misc directory. Signed-off-by: Breno Lima <breno.lima@nxp.com>
Showing 2 changed files with 118 additions and 118 deletions Side-by-side Diff
doc/imx/README.sdp
1 | -------------- | |
2 | -SDP in U-Boot | |
3 | -------------- | |
4 | - | |
5 | -SDP stands for serial download protocol. It is the protocol used in NXP's | |
6 | -i.MX SoCs ROM Serial Downloader and provides means to download a program | |
7 | -image to the chip over USB and UART serial connection. | |
8 | - | |
9 | -The implementation in U-Boot uses the USB Downloader Gadget (g_dnl) to | |
10 | -provide a SDP implementation over USB. This allows to download program | |
11 | -images to the target in SPL/U-Boot using the same protocol/tooling the | |
12 | -SoC's recovery mechanism is using. | |
13 | - | |
14 | -The SDP protocol over USB is a USB HID class protocol. USB HID class | |
15 | -protocols allow to access a USB device without OS specific drivers. The | |
16 | -U-Boot implementation has primarly been tested using the open source | |
17 | -imx_loader utility (https://github.com/boundarydevices/imx_usb_loader). | |
18 | - | |
19 | -imx_usb_loader is a very nice tool by Boundary Devices that allow to | |
20 | -install U-Boot without a JTAG debugger, using the USB boot mode as | |
21 | -described in the manual. It is a replacement for Freescale's | |
22 | -MFGTOOLS. | |
23 | - | |
24 | -The host side utilities are typically capable to interpret the i.MX | |
25 | -specific image header (see doc/README.imximage). There are extensions | |
26 | -for imx_loader's imx_usb utility which allow to interpret the U-Boot | |
27 | -specific legacy image format (see mkimage(1)). Also the U-Boot side | |
28 | -support beside the i.MX specific header the U-Boot legacy header. | |
29 | - | |
30 | -1. Using imx_usb_loader for first install with SPL | |
31 | --------------------------------------------------- | |
32 | - | |
33 | -This implementation can be started in U-Boot using the sdp command | |
34 | -(CONFIG_CMD_USB_SDP) or in SPL if Serial Downloader boot mode has been | |
35 | -detected (CONFIG_SPL_USB_SDP_SUPPORT). | |
36 | - | |
37 | -A typical use case is downloading full U-Boot after SPL has been | |
38 | -downloaded through the boot ROM's Serial Downloader. Using boot mode | |
39 | -detection the SPL will run the SDP implementation automatically in | |
40 | -this case: | |
41 | - | |
42 | - # imx_usb SPL | |
43 | - | |
44 | -Targets Serial Console: | |
45 | - | |
46 | - Trying to boot from USB SDP | |
47 | - SDP: initialize... | |
48 | - SDP: handle requests... | |
49 | - | |
50 | -At this point the SPL reenumerated as a new HID device and emulating | |
51 | -the boot ROM's SDP protocol. The USB VID/PID will depend on standard | |
52 | -U-Boot configurations CONFIG_G_DNL_(VENDOR|PRODUCT)_NUM. Make sure | |
53 | -imx_usb is aware of the USB VID/PID for your device by adding a | |
54 | -configuration entry in imx_usb.conf: | |
55 | - | |
56 | - 0x1b67:0x4fff, mx6_usb_sdp_spl.conf | |
57 | - | |
58 | -And the device specific configuration file mx6_usb_sdp_spl.conf: | |
59 | - | |
60 | - mx6_spl_sdp | |
61 | - hid,uboot_header,1024,0x910000,0x10000000,1G,0x00900000,0x40000 | |
62 | - | |
63 | -This allows to download the regular U-Boot with legacy image headers | |
64 | -(u-boot.img) using a second invocation of imx_usb: | |
65 | - | |
66 | - # imx_usb u-boot.img | |
67 | - | |
68 | -Furthermore, when U-Boot is running the sdp command can be used to | |
69 | -download and run scripts: | |
70 | - | |
71 | - # imx_usb script.scr | |
72 | - | |
73 | -imx_usb configuration files can be also used to download multiple | |
74 | -files and of arbitrary types, e.g. | |
75 | - | |
76 | - mx6_usb_sdp_uboot | |
77 | - hid,1024,0x10000000,1G,0x00907000,0x31000 | |
78 | - full.itb:load 0x12100000 | |
79 | - boot.scr:load 0x12000000,jump 0x12000000 | |
80 | - | |
81 | -There is also a batch mode which allows imx_usb to handle multiple | |
82 | -consecutive reenumerations by adding multiple VID/PID specifications | |
83 | -in imx_usb.conf: | |
84 | - | |
85 | - 0x15a2:0x0061, mx6_usb_rom.conf, 0x1b67:0x4fff, mx6_usb_sdp_spl.conf | |
86 | - | |
87 | -In this mode the file to download (imx_usb job) needs to be specified | |
88 | -in the configuration files. | |
89 | - | |
90 | -mx6_usb_rom.conf: | |
91 | - | |
92 | - mx6_qsb | |
93 | - hid,1024,0x910000,0x10000000,1G,0x00900000,0x40000 | |
94 | - SPL:jump header2 | |
95 | - | |
96 | -mx6_usb_sdp_spl.conf: | |
97 | - | |
98 | - mx6_spl_sdp | |
99 | - hid,uboot_header,1024,0x10000000,1G,0x00907000,0x31000 | |
100 | - u-boot.img:jump header2 | |
101 | - | |
102 | -With that SPL and U-Boot can be downloaded with a single invocation | |
103 | -of imx_usb without arguments: | |
104 | - | |
105 | - # imx_usb | |
106 | - | |
107 | -2. Using imx_usb_loader non-SPL images | |
108 | ---------------------------------------- | |
109 | - | |
110 | -Booting in USB mode, the i.MX6 announces itself to the Linux Host as: | |
111 | - | |
112 | -Bus 001 Device 111: ID 15a2:0061 Freescale Semiconductor, Inc. | |
113 | - | |
114 | -imx_usb_loader is able to download a single file (u-boot.imx) | |
115 | -to the board. For boards without SPL support, it is enough to | |
116 | -issue the command: | |
117 | - | |
118 | - sudo ../imx_usb_loader/imx_usb -v u-boot.imx |
doc/imx/misc/README.sdp
1 | +------------- | |
2 | +SDP in U-Boot | |
3 | +------------- | |
4 | + | |
5 | +SDP stands for serial download protocol. It is the protocol used in NXP's | |
6 | +i.MX SoCs ROM Serial Downloader and provides means to download a program | |
7 | +image to the chip over USB and UART serial connection. | |
8 | + | |
9 | +The implementation in U-Boot uses the USB Downloader Gadget (g_dnl) to | |
10 | +provide a SDP implementation over USB. This allows to download program | |
11 | +images to the target in SPL/U-Boot using the same protocol/tooling the | |
12 | +SoC's recovery mechanism is using. | |
13 | + | |
14 | +The SDP protocol over USB is a USB HID class protocol. USB HID class | |
15 | +protocols allow to access a USB device without OS specific drivers. The | |
16 | +U-Boot implementation has primarly been tested using the open source | |
17 | +imx_loader utility (https://github.com/boundarydevices/imx_usb_loader). | |
18 | + | |
19 | +imx_usb_loader is a very nice tool by Boundary Devices that allow to | |
20 | +install U-Boot without a JTAG debugger, using the USB boot mode as | |
21 | +described in the manual. It is a replacement for Freescale's | |
22 | +MFGTOOLS. | |
23 | + | |
24 | +The host side utilities are typically capable to interpret the i.MX | |
25 | +specific image header (see doc/README.imximage). There are extensions | |
26 | +for imx_loader's imx_usb utility which allow to interpret the U-Boot | |
27 | +specific legacy image format (see mkimage(1)). Also the U-Boot side | |
28 | +support beside the i.MX specific header the U-Boot legacy header. | |
29 | + | |
30 | +1. Using imx_usb_loader for first install with SPL | |
31 | +-------------------------------------------------- | |
32 | + | |
33 | +This implementation can be started in U-Boot using the sdp command | |
34 | +(CONFIG_CMD_USB_SDP) or in SPL if Serial Downloader boot mode has been | |
35 | +detected (CONFIG_SPL_USB_SDP_SUPPORT). | |
36 | + | |
37 | +A typical use case is downloading full U-Boot after SPL has been | |
38 | +downloaded through the boot ROM's Serial Downloader. Using boot mode | |
39 | +detection the SPL will run the SDP implementation automatically in | |
40 | +this case: | |
41 | + | |
42 | + # imx_usb SPL | |
43 | + | |
44 | +Targets Serial Console: | |
45 | + | |
46 | + Trying to boot from USB SDP | |
47 | + SDP: initialize... | |
48 | + SDP: handle requests... | |
49 | + | |
50 | +At this point the SPL reenumerated as a new HID device and emulating | |
51 | +the boot ROM's SDP protocol. The USB VID/PID will depend on standard | |
52 | +U-Boot configurations CONFIG_G_DNL_(VENDOR|PRODUCT)_NUM. Make sure | |
53 | +imx_usb is aware of the USB VID/PID for your device by adding a | |
54 | +configuration entry in imx_usb.conf: | |
55 | + | |
56 | + 0x1b67:0x4fff, mx6_usb_sdp_spl.conf | |
57 | + | |
58 | +And the device specific configuration file mx6_usb_sdp_spl.conf: | |
59 | + | |
60 | + mx6_spl_sdp | |
61 | + hid,uboot_header,1024,0x910000,0x10000000,1G,0x00900000,0x40000 | |
62 | + | |
63 | +This allows to download the regular U-Boot with legacy image headers | |
64 | +(u-boot.img) using a second invocation of imx_usb: | |
65 | + | |
66 | + # imx_usb u-boot.img | |
67 | + | |
68 | +Furthermore, when U-Boot is running the sdp command can be used to | |
69 | +download and run scripts: | |
70 | + | |
71 | + # imx_usb script.scr | |
72 | + | |
73 | +imx_usb configuration files can be also used to download multiple | |
74 | +files and of arbitrary types, e.g. | |
75 | + | |
76 | + mx6_usb_sdp_uboot | |
77 | + hid,1024,0x10000000,1G,0x00907000,0x31000 | |
78 | + full.itb:load 0x12100000 | |
79 | + boot.scr:load 0x12000000,jump 0x12000000 | |
80 | + | |
81 | +There is also a batch mode which allows imx_usb to handle multiple | |
82 | +consecutive reenumerations by adding multiple VID/PID specifications | |
83 | +in imx_usb.conf: | |
84 | + | |
85 | + 0x15a2:0x0061, mx6_usb_rom.conf, 0x1b67:0x4fff, mx6_usb_sdp_spl.conf | |
86 | + | |
87 | +In this mode the file to download (imx_usb job) needs to be specified | |
88 | +in the configuration files. | |
89 | + | |
90 | +mx6_usb_rom.conf: | |
91 | + | |
92 | + mx6_qsb | |
93 | + hid,1024,0x910000,0x10000000,1G,0x00900000,0x40000 | |
94 | + SPL:jump header2 | |
95 | + | |
96 | +mx6_usb_sdp_spl.conf: | |
97 | + | |
98 | + mx6_spl_sdp | |
99 | + hid,uboot_header,1024,0x10000000,1G,0x00907000,0x31000 | |
100 | + u-boot.img:jump header2 | |
101 | + | |
102 | +With that SPL and U-Boot can be downloaded with a single invocation | |
103 | +of imx_usb without arguments: | |
104 | + | |
105 | + # imx_usb | |
106 | + | |
107 | +2. Using imx_usb_loader non-SPL images | |
108 | +--------------------------------------- | |
109 | + | |
110 | +Booting in USB mode, the i.MX6 announces itself to the Linux Host as: | |
111 | + | |
112 | +Bus 001 Device 111: ID 15a2:0061 Freescale Semiconductor, Inc. | |
113 | + | |
114 | +imx_usb_loader is able to download a single file (u-boot.imx) | |
115 | +to the board. For boards without SPL support, it is enough to | |
116 | +issue the command: | |
117 | + | |
118 | + sudo ../imx_usb_loader/imx_usb -v u-boot.imx |