* [PATCH 1/3] Documentation: i.MX: improve wording, add markup and missing articles @ 2018-12-10 15:55 Roland Hieber 2018-12-10 15:55 ` [PATCH 2/3] Documentation: state: fix closing brace without opening brace Roland Hieber ` (2 more replies) 0 siblings, 3 replies; 11+ messages in thread From: Roland Hieber @ 2018-12-10 15:55 UTC (permalink / raw) To: Barebox Mailing List; +Cc: Roland Hieber Signed-off-by: Roland Hieber <rhi@pengutronix.de> --- Documentation/boards/imx.rst | 102 +++++++++++++++++++---------------- 1 file changed, 57 insertions(+), 45 deletions(-) diff --git a/Documentation/boards/imx.rst b/Documentation/boards/imx.rst index 35a180b0dd..2e6a30fd2f 100644 --- a/Documentation/boards/imx.rst +++ b/Documentation/boards/imx.rst @@ -32,114 +32,126 @@ Normally it's not necessary to call this tool manually, it is executed automatically at the end of the build process. The images generated by the build process can be directly written to an SD card: .. code-block:: sh # with Multi Image support: cat images/barebox-freescale-imx51-babbage.img > /dev/sdd # otherwise: cat barebox-flash-image > /dev/sdd The above will overwrite the MBR (and consequently the partition table) on the destination SD card. To preserve the MBR while writing the rest -of the image to the card, use:: +of the image to the card, use: + +.. code-block:: sh dd if=images/barebox-freescale-imx51-babbage.img of=/dev/sdd bs=1024 skip=1 seek=1 -NOTE: MaskROM on i.MX8 expects image to start at +33KiB mark, so the +Note that MaskROM on i.MX8 expects the image to start at the +33KiB mark, so the following command has to be used instead: +.. code-block:: sh + dd if=images/barebox-nxp-imx8mq-evk.img of=/dev/sdd bs=1024 skip=33 seek=33 Or, in case of NAND: +.. code-block:: sh + dd if=images/barebox-nxp-imx8mq-evk.img of=/dev/nand bs=1024 skip=33 seek=1 -The images can also always be started second stage:: +The images can also always be started as second stage on the target: + +.. code-block:: console - bootm /mnt/tftp/barebox-freescale-imx51-babbage.img + barebox@Board Name:/ bootm /mnt/tftp/barebox-freescale-imx51-babbage.img Using GPT on i.MX ^^^^^^^^^^^^^^^^^ -For i.MX SoCs that place vendor specific header at +1KiB mark of a -boot medium, special care needs to be taken when parition that medium -with GPT. In order to make room for i.MX boot header GPT Partition +For i.MX SoCs that place a vendor specific header at the +1KiB mark of a +boot medium, special care needs to be taken when partitioning that medium +with GPT. In order to make room for the i.MX boot header, the GPT Partition Entry Array needs to be moved from its typical location, LBA 2, to an offset past vendor specific information. One way to do this would be -to use ``-j`` or ``--adjust-main-table`` option of ``sgdisk``. For -example, the following sequence: +to use the ``-j`` or ``--adjust-main-table`` option of ``sgdisk``. For +example, the following sequence + +.. code-block:: sh sgdisk -Z <block device> sgdisk -o -j 2048 -n 1:8192:+100M <block device> will create a single GPT partition starting at LBA 8192 and would -place Partition Entry Array starting at LBA 2048 which should leave -enough room for Barebox/i.MX boot header. Once that is done ``dd`` +place the Partition Entry Array starting at LBA 2048, which should leave +enough room for the Barebox/i.MX boot header. Once that is done, the ``dd`` command above can be used to place Barebox on the same medium. Information about the ``imx-image`` tool ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The imx-image tool can be used to generate imximages from raw binaries. It requires an configuration file describing how to setup the SDRAM on a particular board. This mainly consists of a poke table. The recognized options in this file are: Header: -+----------------+--------------------------------------------------------------+ -| soc <soctype> |soctype can be one of imx35, imx51, imx53, imx6, imx7, vf610, | -| | imx8mq | -+----------------+--------------------------------------------------------------+ -| loadaddr <adr> | The address the binary is uploaded to | -+----------------+--------------------------------------------------------------+ -| dcdofs <ofs> | The offset of the image header in the image. This should be: | -| | * ``0x400``: MMC/SD, NAND, serial ROM, PATA, SATA | -| | * ``0x1000``: NOR Flash | -| | * ``0x100``: OneNAND | -+----------------+--------------------------------------------------------------+ ++--------------------+--------------------------------------------------------------+ +| ``soc <soctype>`` | soctype can be one of imx35, imx51, imx53, imx6, imx7, vf610,| +| | imx8mq | ++--------------------+--------------------------------------------------------------+ +| ``loadaddr <adr>`` | The address the binary is uploaded to | ++--------------------+--------------------------------------------------------------+ +| ``dcdofs <ofs>`` | The offset of the image header in the image. This should be: | +| | | +| | * ``0x400``: MMC/SD, NAND, serial ROM, PATA, SATA | +| | * ``0x1000``: NOR Flash | +| | * ``0x100``: OneNAND | ++--------------------+--------------------------------------------------------------+ Memory manipulation: -+------------------------------------+-----------------------------------------+ -| wm 8 <addr> <value> | write <value> into byte <addr> | -+------------------------------------+-----------------------------------------+ -| wm 16 <addr> <value> | write <value> into short <addr> | -+------------------------------------+-----------------------------------------+ -| wm 32 <addr> <value> | write <value> into word <addr> | -+------------------------------------+-----------------------------------------+ -| set_bits <width> <addr> <value> | set set bits in <value> in <addr> | -+------------------------------------+-----------------------------------------+ -| clear_bits <width> <addr> <value> | clear set bits in <value> in <addr> | -+------------------------------------+-----------------------------------------+ -| nop | do nothing (just waste time) | -+------------------------------------+-----------------------------------------+ - -<width> can be of 8, 16 or 32. ++----------------------------------------+-------------------------------------------------+ +| ``wm 8 <addr> <value>`` | write ``<value>`` into byte ``<addr>`` | ++----------------------------------------+-------------------------------------------------+ +| ``wm 16 <addr> <value>`` | write ``<value>`` into short ``<addr>`` | ++----------------------------------------+-------------------------------------------------+ +| ``wm 32 <addr> <value>`` | write ``<value>`` into word ``<addr>`` | ++----------------------------------------+-------------------------------------------------+ +| ``set_bits <width> <addr> <value>`` | set set bits in ``<value>`` in ``<addr>`` | ++----------------------------------------+-------------------------------------------------+ +| ``clear_bits <width> <addr> <value>`` | clear set bits in ``<value>`` in ``<addr>`` | ++----------------------------------------+-------------------------------------------------+ +| ``nop`` | do nothing (just waste time) | ++----------------------------------------+-------------------------------------------------+ + +``<width>`` can be one of 8, 16 or 32. Checking conditions: -+------------------------------------+-----------------------------------------+ -| check <width> <cond> <addr> <mask> | Poll until condition becomes true. | -| | with <cond> being one of: | -| | * ``until_all_bits_clear`` | -| | * ``until_all_bits_set`` | -| | * ``until_any_bit_clear`` | -| | * ``until_any_bit_set`` | -+------------------------------------+-----------------------------------------+ ++----------------------------------------+-----------------------------------------+ +| ``check <width> <cond> <addr> <mask>`` | Poll until condition becomes true. | +| | with ``<cond>`` being one of: | +| | | +| | * ``until_all_bits_clear`` | +| | * ``until_all_bits_set`` | +| | * ``until_any_bit_clear`` | +| | * ``until_any_bit_set`` | ++----------------------------------------+-----------------------------------------+ Some notes about the mentioned *conditions*. - ``until_all_bits_clear`` waits until ``(*addr & mask) == 0`` is true - ``until_all_bits_set`` waits until ``(*addr & mask) == mask`` is true - ``until_any_bit_clear`` waits until ``(*addr & mask) != mask`` is true - ``until_any_bit_set`` waits until ``(*addr & mask) != 0`` is true. USB Boot ^^^^^^^^ Most boards can be explicitly configured for USB Boot Mode or fall back to USB Boot when no other medium can be found. The barebox repository contains a USB upload tool. As it depends on the libusb development headers, -- 2.19.1 _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH 2/3] Documentation: state: fix closing brace without opening brace 2018-12-10 15:55 [PATCH 1/3] Documentation: i.MX: improve wording, add markup and missing articles Roland Hieber @ 2018-12-10 15:55 ` Roland Hieber 2018-12-10 15:55 ` [PATCH 3/3] Documentation: i.MX: Kindle 4/5: fix sphinx warnings Roland Hieber 2018-12-13 6:57 ` [PATCH 1/3] Documentation: i.MX: improve wording, add markup and missing articles Sascha Hauer 2 siblings, 0 replies; 11+ messages in thread From: Roland Hieber @ 2018-12-10 15:55 UTC (permalink / raw) To: Barebox Mailing List; +Cc: Roland Hieber Also fix the resulting sphinx warning: Documentation/user/state.rst:650: WARNING: Explicit markup ends without a blank line; unexpected unindent. Signed-off-by: Roland Hieber <rhi@pengutronix.de> --- Documentation/user/state.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/Documentation/user/state.rst b/Documentation/user/state.rst index 89129add77..07743df0cb 100644 --- a/Documentation/user/state.rst +++ b/Documentation/user/state.rst @@ -636,29 +636,28 @@ within the EEPROM. .. code-block:: text eeprom@50 { partitions { compatible = "fixed-partitions"; #size-cells = <1>; #address-cells = <1>; backend_state_eeprom: eeprom_state_memory@400 { reg = <0x400 0x100>; label = "state-eeprom"; }; }; }; -}; With this 'backend' definition it's possible to define the *state* variable set content, its backend-type and *state* variable layout. .. code-block:: text aliases { state = &state_eeprom; }; state_eeprom: eeprom_memory { #address-cells = <1>; #size-cells = <1>; compatible = "barebox,state"; -- 2.19.1 _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH 3/3] Documentation: i.MX: Kindle 4/5: fix sphinx warnings 2018-12-10 15:55 [PATCH 1/3] Documentation: i.MX: improve wording, add markup and missing articles Roland Hieber 2018-12-10 15:55 ` [PATCH 2/3] Documentation: state: fix closing brace without opening brace Roland Hieber @ 2018-12-10 15:55 ` Roland Hieber 2018-12-13 6:57 ` [PATCH 1/3] Documentation: i.MX: improve wording, add markup and missing articles Sascha Hauer 2 siblings, 0 replies; 11+ messages in thread From: Roland Hieber @ 2018-12-10 15:55 UTC (permalink / raw) To: Barebox Mailing List; +Cc: Roland Hieber sphinx warns: Documentation/boards/imx/amazon-kindle-4-5.rst:39: WARNING: Enumerated list ends without a blank line; unexpected unindent. Documentation/boards/imx/amazon-kindle-4-5.rst:42: WARNING: Enumerated list ends without a blank line; unexpected unindent. Documentation/boards/imx/amazon-kindle-4-5.rst:45: WARNING: Enumerated list ends without a blank line; unexpected unindent. Solve this by fixing the list enumeration and adding blank lines. Signed-off-by: Roland Hieber <rhi@pengutronix.de> --- Documentation/boards/imx/amazon-kindle-4-5.rst | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Documentation/boards/imx/amazon-kindle-4-5.rst b/Documentation/boards/imx/amazon-kindle-4-5.rst index 58f38a058e..26f072e28d 100644 --- a/Documentation/boards/imx/amazon-kindle-4-5.rst +++ b/Documentation/boards/imx/amazon-kindle-4-5.rst @@ -25,35 +25,37 @@ on iomux pullups may significantly reduce your standby-time. Building barebox ---------------- ``make kindle-mx50_defconfig`` should get you a working config. Uploading barebox ----------------- To upload and run a new bootloader, the older devices can be put into USB bootloader mode by the SoC microcode: 1. Connect the Kindle to your host computer with a USB cable. 2. Power down the device by holding the power button until the power LED goes dark (about 10 seconds). -4. Hold the power button, and hold down a device-specific special key: +3. Hold the power button, and hold down a device-specific special key: + * the fiveway down button on the model D01100 * the home button on model D01200 + 4. Then release the power button, but still hold the special key. 5. A new USB device named ``NS Blank CODEX`` should appear on your host computer. You can now release the special button. -7. Finally, upload barebox to the Kindle by using: +6. Finally, upload barebox to the Kindle by using: .. code-block:: console $ scripts/imx/imx-usb-loader barebox-kindle-d01100.img $ scripts/imx/imx-usb-loader barebox-kindle-d01200.img Additionally, a USB serial ACM console will be launched by a barebox init script when: * the cursor select key is pressed during startup of model D01100 * the home button is pressed within a second after startup of model D01200. (If you press the home button during startup, you will enter USB boot mode.) * the EY21 has no keys to press, a USB console will be launched for 10s. -- 2.19.1 _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 1/3] Documentation: i.MX: improve wording, add markup and missing articles 2018-12-10 15:55 [PATCH 1/3] Documentation: i.MX: improve wording, add markup and missing articles Roland Hieber 2018-12-10 15:55 ` [PATCH 2/3] Documentation: state: fix closing brace without opening brace Roland Hieber 2018-12-10 15:55 ` [PATCH 3/3] Documentation: i.MX: Kindle 4/5: fix sphinx warnings Roland Hieber @ 2018-12-13 6:57 ` Sascha Hauer 2018-12-14 10:13 ` Roland Hieber 2 siblings, 1 reply; 11+ messages in thread From: Sascha Hauer @ 2018-12-13 6:57 UTC (permalink / raw) To: Roland Hieber; +Cc: Barebox Mailing List Hi Roland, This one doesn't apply. Could you rebase? Sascha On Mon, Dec 10, 2018 at 04:55:09PM +0100, Roland Hieber wrote: > Signed-off-by: Roland Hieber <rhi@pengutronix.de> > --- > Documentation/boards/imx.rst | 102 +++++++++++++++++++---------------- > 1 file changed, 57 insertions(+), 45 deletions(-) > > diff --git a/Documentation/boards/imx.rst b/Documentation/boards/imx.rst > index 35a180b0dd..2e6a30fd2f 100644 > --- a/Documentation/boards/imx.rst > +++ b/Documentation/boards/imx.rst > @@ -32,114 +32,126 @@ Normally it's not necessary to call this tool manually, it is executed > automatically at the end of the build process. > > The images generated by the build process can be directly written to an > SD card: > > .. code-block:: sh > > # with Multi Image support: > cat images/barebox-freescale-imx51-babbage.img > /dev/sdd > # otherwise: > cat barebox-flash-image > /dev/sdd > > The above will overwrite the MBR (and consequently the partition table) > on the destination SD card. To preserve the MBR while writing the rest > -of the image to the card, use:: > +of the image to the card, use: > + > +.. code-block:: sh > > dd if=images/barebox-freescale-imx51-babbage.img of=/dev/sdd bs=1024 skip=1 seek=1 > > -NOTE: MaskROM on i.MX8 expects image to start at +33KiB mark, so the > +Note that MaskROM on i.MX8 expects the image to start at the +33KiB mark, so the > following command has to be used instead: > > +.. code-block:: sh > + > dd if=images/barebox-nxp-imx8mq-evk.img of=/dev/sdd bs=1024 skip=33 seek=33 > > Or, in case of NAND: > > +.. code-block:: sh > + > dd if=images/barebox-nxp-imx8mq-evk.img of=/dev/nand bs=1024 skip=33 seek=1 > > -The images can also always be started second stage:: > +The images can also always be started as second stage on the target: > + > +.. code-block:: console > > - bootm /mnt/tftp/barebox-freescale-imx51-babbage.img > + barebox@Board Name:/ bootm /mnt/tftp/barebox-freescale-imx51-babbage.img > > Using GPT on i.MX > ^^^^^^^^^^^^^^^^^ > > -For i.MX SoCs that place vendor specific header at +1KiB mark of a > -boot medium, special care needs to be taken when parition that medium > -with GPT. In order to make room for i.MX boot header GPT Partition > +For i.MX SoCs that place a vendor specific header at the +1KiB mark of a > +boot medium, special care needs to be taken when partitioning that medium > +with GPT. In order to make room for the i.MX boot header, the GPT Partition > Entry Array needs to be moved from its typical location, LBA 2, to an > offset past vendor specific information. One way to do this would be > -to use ``-j`` or ``--adjust-main-table`` option of ``sgdisk``. For > -example, the following sequence: > +to use the ``-j`` or ``--adjust-main-table`` option of ``sgdisk``. For > +example, the following sequence > + > +.. code-block:: sh > > sgdisk -Z <block device> > sgdisk -o -j 2048 -n 1:8192:+100M <block device> > > will create a single GPT partition starting at LBA 8192 and would > -place Partition Entry Array starting at LBA 2048 which should leave > -enough room for Barebox/i.MX boot header. Once that is done ``dd`` > +place the Partition Entry Array starting at LBA 2048, which should leave > +enough room for the Barebox/i.MX boot header. Once that is done, the ``dd`` > command above can be used to place Barebox on the same medium. > > Information about the ``imx-image`` tool > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > The imx-image tool can be used to generate imximages from raw binaries. > It requires an configuration file describing how to setup the SDRAM on > a particular board. This mainly consists of a poke table. The recognized > options in this file are: > > Header: > > -+----------------+--------------------------------------------------------------+ > -| soc <soctype> |soctype can be one of imx35, imx51, imx53, imx6, imx7, vf610, | > -| | imx8mq | > -+----------------+--------------------------------------------------------------+ > -| loadaddr <adr> | The address the binary is uploaded to | > -+----------------+--------------------------------------------------------------+ > -| dcdofs <ofs> | The offset of the image header in the image. This should be: | > -| | * ``0x400``: MMC/SD, NAND, serial ROM, PATA, SATA | > -| | * ``0x1000``: NOR Flash | > -| | * ``0x100``: OneNAND | > -+----------------+--------------------------------------------------------------+ > ++--------------------+--------------------------------------------------------------+ > +| ``soc <soctype>`` | soctype can be one of imx35, imx51, imx53, imx6, imx7, vf610,| > +| | imx8mq | > ++--------------------+--------------------------------------------------------------+ > +| ``loadaddr <adr>`` | The address the binary is uploaded to | > ++--------------------+--------------------------------------------------------------+ > +| ``dcdofs <ofs>`` | The offset of the image header in the image. This should be: | > +| | | > +| | * ``0x400``: MMC/SD, NAND, serial ROM, PATA, SATA | > +| | * ``0x1000``: NOR Flash | > +| | * ``0x100``: OneNAND | > ++--------------------+--------------------------------------------------------------+ > > Memory manipulation: > > -+------------------------------------+-----------------------------------------+ > -| wm 8 <addr> <value> | write <value> into byte <addr> | > -+------------------------------------+-----------------------------------------+ > -| wm 16 <addr> <value> | write <value> into short <addr> | > -+------------------------------------+-----------------------------------------+ > -| wm 32 <addr> <value> | write <value> into word <addr> | > -+------------------------------------+-----------------------------------------+ > -| set_bits <width> <addr> <value> | set set bits in <value> in <addr> | > -+------------------------------------+-----------------------------------------+ > -| clear_bits <width> <addr> <value> | clear set bits in <value> in <addr> | > -+------------------------------------+-----------------------------------------+ > -| nop | do nothing (just waste time) | > -+------------------------------------+-----------------------------------------+ > - > -<width> can be of 8, 16 or 32. > ++----------------------------------------+-------------------------------------------------+ > +| ``wm 8 <addr> <value>`` | write ``<value>`` into byte ``<addr>`` | > ++----------------------------------------+-------------------------------------------------+ > +| ``wm 16 <addr> <value>`` | write ``<value>`` into short ``<addr>`` | > ++----------------------------------------+-------------------------------------------------+ > +| ``wm 32 <addr> <value>`` | write ``<value>`` into word ``<addr>`` | > ++----------------------------------------+-------------------------------------------------+ > +| ``set_bits <width> <addr> <value>`` | set set bits in ``<value>`` in ``<addr>`` | > ++----------------------------------------+-------------------------------------------------+ > +| ``clear_bits <width> <addr> <value>`` | clear set bits in ``<value>`` in ``<addr>`` | > ++----------------------------------------+-------------------------------------------------+ > +| ``nop`` | do nothing (just waste time) | > ++----------------------------------------+-------------------------------------------------+ > + > +``<width>`` can be one of 8, 16 or 32. > > Checking conditions: > > -+------------------------------------+-----------------------------------------+ > -| check <width> <cond> <addr> <mask> | Poll until condition becomes true. | > -| | with <cond> being one of: | > -| | * ``until_all_bits_clear`` | > -| | * ``until_all_bits_set`` | > -| | * ``until_any_bit_clear`` | > -| | * ``until_any_bit_set`` | > -+------------------------------------+-----------------------------------------+ > ++----------------------------------------+-----------------------------------------+ > +| ``check <width> <cond> <addr> <mask>`` | Poll until condition becomes true. | > +| | with ``<cond>`` being one of: | > +| | | > +| | * ``until_all_bits_clear`` | > +| | * ``until_all_bits_set`` | > +| | * ``until_any_bit_clear`` | > +| | * ``until_any_bit_set`` | > ++----------------------------------------+-----------------------------------------+ > > Some notes about the mentioned *conditions*. > > - ``until_all_bits_clear`` waits until ``(*addr & mask) == 0`` is true > - ``until_all_bits_set`` waits until ``(*addr & mask) == mask`` is true > - ``until_any_bit_clear`` waits until ``(*addr & mask) != mask`` is true > - ``until_any_bit_set`` waits until ``(*addr & mask) != 0`` is true. > > USB Boot > ^^^^^^^^ > > Most boards can be explicitly configured for USB Boot Mode or fall back > to USB Boot when no other medium can be found. The barebox repository > contains a USB upload tool. As it depends on the libusb development headers, > -- > 2.19.1 > > > _______________________________________________ > barebox mailing list > barebox@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/barebox > -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 1/3] Documentation: i.MX: improve wording, add markup and missing articles 2018-12-13 6:57 ` [PATCH 1/3] Documentation: i.MX: improve wording, add markup and missing articles Sascha Hauer @ 2018-12-14 10:13 ` Roland Hieber 2018-12-17 9:45 ` Sascha Hauer 0 siblings, 1 reply; 11+ messages in thread From: Roland Hieber @ 2018-12-14 10:13 UTC (permalink / raw) To: Sascha Hauer; +Cc: Barebox Mailing List Hmm. It still applies here cleanly on next. Do you want it on master instead? I don't mind having it in next, and if you applied this series on master instead, the conflicts with next will probably be the other way around for the next release. - Roland On Thu, Dec 13, 2018 at 07:57:58AM +0100, Sascha Hauer wrote: > Hi Roland, > > This one doesn't apply. Could you rebase? > > Sascha > > On Mon, Dec 10, 2018 at 04:55:09PM +0100, Roland Hieber wrote: > > Signed-off-by: Roland Hieber <rhi@pengutronix.de> > > --- > > Documentation/boards/imx.rst | 102 +++++++++++++++++++---------------- > > 1 file changed, 57 insertions(+), 45 deletions(-) > > > > diff --git a/Documentation/boards/imx.rst b/Documentation/boards/imx.rst > > index 35a180b0dd..2e6a30fd2f 100644 > > --- a/Documentation/boards/imx.rst > > +++ b/Documentation/boards/imx.rst > > @@ -32,114 +32,126 @@ Normally it's not necessary to call this tool manually, it is executed > > automatically at the end of the build process. > > > > The images generated by the build process can be directly written to an > > SD card: > > > > .. code-block:: sh > > > > # with Multi Image support: > > cat images/barebox-freescale-imx51-babbage.img > /dev/sdd > > # otherwise: > > cat barebox-flash-image > /dev/sdd > > > > The above will overwrite the MBR (and consequently the partition table) > > on the destination SD card. To preserve the MBR while writing the rest > > -of the image to the card, use:: > > +of the image to the card, use: > > + > > +.. code-block:: sh > > > > dd if=images/barebox-freescale-imx51-babbage.img of=/dev/sdd bs=1024 skip=1 seek=1 > > > > -NOTE: MaskROM on i.MX8 expects image to start at +33KiB mark, so the > > +Note that MaskROM on i.MX8 expects the image to start at the +33KiB mark, so the > > following command has to be used instead: > > > > +.. code-block:: sh > > + > > dd if=images/barebox-nxp-imx8mq-evk.img of=/dev/sdd bs=1024 skip=33 seek=33 > > > > Or, in case of NAND: > > > > +.. code-block:: sh > > + > > dd if=images/barebox-nxp-imx8mq-evk.img of=/dev/nand bs=1024 skip=33 seek=1 > > > > -The images can also always be started second stage:: > > +The images can also always be started as second stage on the target: > > + > > +.. code-block:: console > > > > - bootm /mnt/tftp/barebox-freescale-imx51-babbage.img > > + barebox@Board Name:/ bootm /mnt/tftp/barebox-freescale-imx51-babbage.img > > > > Using GPT on i.MX > > ^^^^^^^^^^^^^^^^^ > > > > -For i.MX SoCs that place vendor specific header at +1KiB mark of a > > -boot medium, special care needs to be taken when parition that medium > > -with GPT. In order to make room for i.MX boot header GPT Partition > > +For i.MX SoCs that place a vendor specific header at the +1KiB mark of a > > +boot medium, special care needs to be taken when partitioning that medium > > +with GPT. In order to make room for the i.MX boot header, the GPT Partition > > Entry Array needs to be moved from its typical location, LBA 2, to an > > offset past vendor specific information. One way to do this would be > > -to use ``-j`` or ``--adjust-main-table`` option of ``sgdisk``. For > > -example, the following sequence: > > +to use the ``-j`` or ``--adjust-main-table`` option of ``sgdisk``. For > > +example, the following sequence > > + > > +.. code-block:: sh > > > > sgdisk -Z <block device> > > sgdisk -o -j 2048 -n 1:8192:+100M <block device> > > > > will create a single GPT partition starting at LBA 8192 and would > > -place Partition Entry Array starting at LBA 2048 which should leave > > -enough room for Barebox/i.MX boot header. Once that is done ``dd`` > > +place the Partition Entry Array starting at LBA 2048, which should leave > > +enough room for the Barebox/i.MX boot header. Once that is done, the ``dd`` > > command above can be used to place Barebox on the same medium. > > > > Information about the ``imx-image`` tool > > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > > > The imx-image tool can be used to generate imximages from raw binaries. > > It requires an configuration file describing how to setup the SDRAM on > > a particular board. This mainly consists of a poke table. The recognized > > options in this file are: > > > > Header: > > > > -+----------------+--------------------------------------------------------------+ > > -| soc <soctype> |soctype can be one of imx35, imx51, imx53, imx6, imx7, vf610, | > > -| | imx8mq | > > -+----------------+--------------------------------------------------------------+ > > -| loadaddr <adr> | The address the binary is uploaded to | > > -+----------------+--------------------------------------------------------------+ > > -| dcdofs <ofs> | The offset of the image header in the image. This should be: | > > -| | * ``0x400``: MMC/SD, NAND, serial ROM, PATA, SATA | > > -| | * ``0x1000``: NOR Flash | > > -| | * ``0x100``: OneNAND | > > -+----------------+--------------------------------------------------------------+ > > ++--------------------+--------------------------------------------------------------+ > > +| ``soc <soctype>`` | soctype can be one of imx35, imx51, imx53, imx6, imx7, vf610,| > > +| | imx8mq | > > ++--------------------+--------------------------------------------------------------+ > > +| ``loadaddr <adr>`` | The address the binary is uploaded to | > > ++--------------------+--------------------------------------------------------------+ > > +| ``dcdofs <ofs>`` | The offset of the image header in the image. This should be: | > > +| | | > > +| | * ``0x400``: MMC/SD, NAND, serial ROM, PATA, SATA | > > +| | * ``0x1000``: NOR Flash | > > +| | * ``0x100``: OneNAND | > > ++--------------------+--------------------------------------------------------------+ > > > > Memory manipulation: > > > > -+------------------------------------+-----------------------------------------+ > > -| wm 8 <addr> <value> | write <value> into byte <addr> | > > -+------------------------------------+-----------------------------------------+ > > -| wm 16 <addr> <value> | write <value> into short <addr> | > > -+------------------------------------+-----------------------------------------+ > > -| wm 32 <addr> <value> | write <value> into word <addr> | > > -+------------------------------------+-----------------------------------------+ > > -| set_bits <width> <addr> <value> | set set bits in <value> in <addr> | > > -+------------------------------------+-----------------------------------------+ > > -| clear_bits <width> <addr> <value> | clear set bits in <value> in <addr> | > > -+------------------------------------+-----------------------------------------+ > > -| nop | do nothing (just waste time) | > > -+------------------------------------+-----------------------------------------+ > > - > > -<width> can be of 8, 16 or 32. > > ++----------------------------------------+-------------------------------------------------+ > > +| ``wm 8 <addr> <value>`` | write ``<value>`` into byte ``<addr>`` | > > ++----------------------------------------+-------------------------------------------------+ > > +| ``wm 16 <addr> <value>`` | write ``<value>`` into short ``<addr>`` | > > ++----------------------------------------+-------------------------------------------------+ > > +| ``wm 32 <addr> <value>`` | write ``<value>`` into word ``<addr>`` | > > ++----------------------------------------+-------------------------------------------------+ > > +| ``set_bits <width> <addr> <value>`` | set set bits in ``<value>`` in ``<addr>`` | > > ++----------------------------------------+-------------------------------------------------+ > > +| ``clear_bits <width> <addr> <value>`` | clear set bits in ``<value>`` in ``<addr>`` | > > ++----------------------------------------+-------------------------------------------------+ > > +| ``nop`` | do nothing (just waste time) | > > ++----------------------------------------+-------------------------------------------------+ > > + > > +``<width>`` can be one of 8, 16 or 32. > > > > Checking conditions: > > > > -+------------------------------------+-----------------------------------------+ > > -| check <width> <cond> <addr> <mask> | Poll until condition becomes true. | > > -| | with <cond> being one of: | > > -| | * ``until_all_bits_clear`` | > > -| | * ``until_all_bits_set`` | > > -| | * ``until_any_bit_clear`` | > > -| | * ``until_any_bit_set`` | > > -+------------------------------------+-----------------------------------------+ > > ++----------------------------------------+-----------------------------------------+ > > +| ``check <width> <cond> <addr> <mask>`` | Poll until condition becomes true. | > > +| | with ``<cond>`` being one of: | > > +| | | > > +| | * ``until_all_bits_clear`` | > > +| | * ``until_all_bits_set`` | > > +| | * ``until_any_bit_clear`` | > > +| | * ``until_any_bit_set`` | > > ++----------------------------------------+-----------------------------------------+ > > > > Some notes about the mentioned *conditions*. > > > > - ``until_all_bits_clear`` waits until ``(*addr & mask) == 0`` is true > > - ``until_all_bits_set`` waits until ``(*addr & mask) == mask`` is true > > - ``until_any_bit_clear`` waits until ``(*addr & mask) != mask`` is true > > - ``until_any_bit_set`` waits until ``(*addr & mask) != 0`` is true. > > > > USB Boot > > ^^^^^^^^ > > > > Most boards can be explicitly configured for USB Boot Mode or fall back > > to USB Boot when no other medium can be found. The barebox repository > > contains a USB upload tool. As it depends on the libusb development headers, > > -- > > 2.19.1 > > > > > > _______________________________________________ > > barebox mailing list > > barebox@lists.infradead.org > > http://lists.infradead.org/mailman/listinfo/barebox > > > > -- > Pengutronix e.K. | | > Industrial Linux Solutions | http://www.pengutronix.de/ | > Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | > Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | > -- Roland Hieber | r.hieber@pengutronix.de | Pengutronix e.K. | https://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim | Phone: +49-5121-206917-5086 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 1/3] Documentation: i.MX: improve wording, add markup and missing articles 2018-12-14 10:13 ` Roland Hieber @ 2018-12-17 9:45 ` Sascha Hauer 2019-01-11 11:35 ` Roland Hieber 0 siblings, 1 reply; 11+ messages in thread From: Sascha Hauer @ 2018-12-17 9:45 UTC (permalink / raw) To: Roland Hieber; +Cc: Barebox Mailing List On Fri, Dec 14, 2018 at 11:13:25AM +0100, Roland Hieber wrote: > Hmm. It still applies here cleanly on next. Do you want it on master > instead? I don't mind having it in next, and if you applied this series > on master instead, the conflicts with next will probably be the other > way around for the next release. Right, I found the conflicting patch and applied ontop of it. Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 1/3] Documentation: i.MX: improve wording, add markup and missing articles 2018-12-17 9:45 ` Sascha Hauer @ 2019-01-11 11:35 ` Roland Hieber 2019-01-16 10:15 ` [RESEND] [PATCH 0/2] small doc fixes Roland Hieber 0 siblings, 1 reply; 11+ messages in thread From: Roland Hieber @ 2019-01-11 11:35 UTC (permalink / raw) To: Sascha Hauer; +Cc: Barebox Mailing List On Mon, Dec 17, 2018 at 10:45:15AM +0100, Sascha Hauer wrote: > On Fri, Dec 14, 2018 at 11:13:25AM +0100, Roland Hieber wrote: > > Hmm. It still applies here cleanly on next. Do you want it on master > > instead? I don't mind having it in next, and if you applied this series > > on master instead, the conflicts with next will probably be the other > > way around for the next release. > > Right, I found the conflicting patch and applied ontop of it. I can only find PATCH 1/1 on next, 2 and 3 seem to be lost? Do you want me to respin them? - Roland _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 11+ messages in thread
* [RESEND] [PATCH 0/2] small doc fixes 2019-01-11 11:35 ` Roland Hieber @ 2019-01-16 10:15 ` Roland Hieber 2019-01-16 10:16 ` [RESEND] [PATCH 1/2] Documentation: state: fix closing brace without opening brace Roland Hieber ` (2 more replies) 0 siblings, 3 replies; 11+ messages in thread From: Roland Hieber @ 2019-01-16 10:15 UTC (permalink / raw) To: barebox; +Cc: Roland Hieber Hi Sascha, I'll resend these two, they are not applied yet, and now apply cleanly to master. Roland Hieber (2): Documentation: state: fix closing brace without opening brace Documentation: i.MX: Kindle 4/5: fix sphinx warnings Documentation/boards/imx/amazon-kindle-4-5.rst | 6 ++++-- Documentation/user/state.rst | 1 - 2 files changed, 4 insertions(+), 3 deletions(-) -- 2.20.1 _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 11+ messages in thread
* [RESEND] [PATCH 1/2] Documentation: state: fix closing brace without opening brace 2019-01-16 10:15 ` [RESEND] [PATCH 0/2] small doc fixes Roland Hieber @ 2019-01-16 10:16 ` Roland Hieber 2019-01-16 10:16 ` [RESEND] [PATCH 2/2] Documentation: i.MX: Kindle 4/5: fix sphinx warnings Roland Hieber 2019-01-17 7:39 ` [RESEND] [PATCH 0/2] small doc fixes Sascha Hauer 2 siblings, 0 replies; 11+ messages in thread From: Roland Hieber @ 2019-01-16 10:16 UTC (permalink / raw) To: barebox; +Cc: Roland Hieber Also fix the resulting sphinx warning: Documentation/user/state.rst:650: WARNING: Explicit markup ends without a blank line; unexpected unindent. Signed-off-by: Roland Hieber <rhi@pengutronix.de> --- Documentation/user/state.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/Documentation/user/state.rst b/Documentation/user/state.rst index 89129add77..07743df0cb 100644 --- a/Documentation/user/state.rst +++ b/Documentation/user/state.rst @@ -647,7 +647,6 @@ within the EEPROM. }; }; }; -}; With this 'backend' definition it's possible to define the *state* variable set content, its backend-type and *state* variable layout. -- 2.20.1 _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 11+ messages in thread
* [RESEND] [PATCH 2/2] Documentation: i.MX: Kindle 4/5: fix sphinx warnings 2019-01-16 10:15 ` [RESEND] [PATCH 0/2] small doc fixes Roland Hieber 2019-01-16 10:16 ` [RESEND] [PATCH 1/2] Documentation: state: fix closing brace without opening brace Roland Hieber @ 2019-01-16 10:16 ` Roland Hieber 2019-01-17 7:39 ` [RESEND] [PATCH 0/2] small doc fixes Sascha Hauer 2 siblings, 0 replies; 11+ messages in thread From: Roland Hieber @ 2019-01-16 10:16 UTC (permalink / raw) To: barebox; +Cc: Roland Hieber sphinx warns: Documentation/boards/imx/amazon-kindle-4-5.rst:39: WARNING: Enumerated list ends without a blank line; unexpected unindent. Documentation/boards/imx/amazon-kindle-4-5.rst:42: WARNING: Enumerated list ends without a blank line; unexpected unindent. Documentation/boards/imx/amazon-kindle-4-5.rst:45: WARNING: Enumerated list ends without a blank line; unexpected unindent. Solve this by fixing the list enumeration and adding blank lines. Signed-off-by: Roland Hieber <rhi@pengutronix.de> --- Documentation/boards/imx/amazon-kindle-4-5.rst | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Documentation/boards/imx/amazon-kindle-4-5.rst b/Documentation/boards/imx/amazon-kindle-4-5.rst index 58f38a058e..26f072e28d 100644 --- a/Documentation/boards/imx/amazon-kindle-4-5.rst +++ b/Documentation/boards/imx/amazon-kindle-4-5.rst @@ -36,13 +36,15 @@ USB bootloader mode by the SoC microcode: 1. Connect the Kindle to your host computer with a USB cable. 2. Power down the device by holding the power button until the power LED goes dark (about 10 seconds). -4. Hold the power button, and hold down a device-specific special key: +3. Hold the power button, and hold down a device-specific special key: + * the fiveway down button on the model D01100 * the home button on model D01200 + 4. Then release the power button, but still hold the special key. 5. A new USB device named ``NS Blank CODEX`` should appear on your host computer. You can now release the special button. -7. Finally, upload barebox to the Kindle by using: +6. Finally, upload barebox to the Kindle by using: .. code-block:: console -- 2.20.1 _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [RESEND] [PATCH 0/2] small doc fixes 2019-01-16 10:15 ` [RESEND] [PATCH 0/2] small doc fixes Roland Hieber 2019-01-16 10:16 ` [RESEND] [PATCH 1/2] Documentation: state: fix closing brace without opening brace Roland Hieber 2019-01-16 10:16 ` [RESEND] [PATCH 2/2] Documentation: i.MX: Kindle 4/5: fix sphinx warnings Roland Hieber @ 2019-01-17 7:39 ` Sascha Hauer 2 siblings, 0 replies; 11+ messages in thread From: Sascha Hauer @ 2019-01-17 7:39 UTC (permalink / raw) To: Roland Hieber; +Cc: barebox On Wed, Jan 16, 2019 at 11:15:59AM +0100, Roland Hieber wrote: > Hi Sascha, > > I'll resend these two, they are not applied yet, and now apply cleanly > to master. > > Roland Hieber (2): > Documentation: state: fix closing brace without opening brace > Documentation: i.MX: Kindle 4/5: fix sphinx warnings Applied now, thanks Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2019-01-17 7:39 UTC | newest] Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2018-12-10 15:55 [PATCH 1/3] Documentation: i.MX: improve wording, add markup and missing articles Roland Hieber 2018-12-10 15:55 ` [PATCH 2/3] Documentation: state: fix closing brace without opening brace Roland Hieber 2018-12-10 15:55 ` [PATCH 3/3] Documentation: i.MX: Kindle 4/5: fix sphinx warnings Roland Hieber 2018-12-13 6:57 ` [PATCH 1/3] Documentation: i.MX: improve wording, add markup and missing articles Sascha Hauer 2018-12-14 10:13 ` Roland Hieber 2018-12-17 9:45 ` Sascha Hauer 2019-01-11 11:35 ` Roland Hieber 2019-01-16 10:15 ` [RESEND] [PATCH 0/2] small doc fixes Roland Hieber 2019-01-16 10:16 ` [RESEND] [PATCH 1/2] Documentation: state: fix closing brace without opening brace Roland Hieber 2019-01-16 10:16 ` [RESEND] [PATCH 2/2] Documentation: i.MX: Kindle 4/5: fix sphinx warnings Roland Hieber 2019-01-17 7:39 ` [RESEND] [PATCH 0/2] small doc fixes Sascha Hauer
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox