xref: /openbmc/u-boot/doc/README.uniphier (revision c57a9a6350f60f5f9ae18d0c55efcd79b2204be3)
17168da16SMasahiro YamadaU-Boot for UniPhier SoC family
27168da16SMasahiro Yamada==============================
37168da16SMasahiro Yamada
47168da16SMasahiro Yamada
57168da16SMasahiro YamadaTested toolchains
67168da16SMasahiro Yamada-----------------
77168da16SMasahiro Yamada
87168da16SMasahiro Yamada (a) Ubuntu packages  (CROSS_COMPILE=arm-linux-gnueabi-)
97168da16SMasahiro Yamada
107168da16SMasahiro Yamada  If you are building U-Boot on Ubuntu, its standard package is recommended.
117168da16SMasahiro Yamada  You can install it as follows:
127168da16SMasahiro Yamada
137168da16SMasahiro Yamada    $ sudo apt-get install gcc-arm-linux-gnueabi-
147168da16SMasahiro Yamada
157168da16SMasahiro Yamada (b) Linaro compilers  (CROSS_COMPILE=arm-linux-gnueabihf-)
167168da16SMasahiro Yamada
177168da16SMasahiro Yamada  You can download pre-built toolchains from:
187168da16SMasahiro Yamada
197168da16SMasahiro Yamada    http://www.linaro.org/downloads/
207168da16SMasahiro Yamada
217168da16SMasahiro Yamada (c) kernel.org compilers  (CROSS_COMPILE=arm-unknown-linux-gnueabi-)
227168da16SMasahiro Yamada
237168da16SMasahiro Yamada  You can download pre-built toolchains from:
247168da16SMasahiro Yamada
257168da16SMasahiro Yamada    ftp://www.kernel.org/pub/tools/crosstool/files/bin/
267168da16SMasahiro Yamada
277168da16SMasahiro Yamada
287168da16SMasahiro YamadaCompile the source
297168da16SMasahiro Yamada------------------
307168da16SMasahiro Yamada
313365b4ebSMasahiro YamadaPH1-sLD3:
323365b4ebSMasahiro Yamada    $ make ph1_sld3_defconfig
337168da16SMasahiro Yamada    $ make CROSS_COMPILE=arm-linux-gnueabi-
347168da16SMasahiro Yamada
357168da16SMasahiro YamadaPH1-LD4:
367168da16SMasahiro Yamada    $ make ph1_ld4_defconfig
377168da16SMasahiro Yamada    $ make CROSS_COMPILE=arm-linux-gnueabi-
387168da16SMasahiro Yamada
393365b4ebSMasahiro YamadaPH1-Pro4:
403365b4ebSMasahiro Yamada    $ make ph1_pro4_defconfig
413365b4ebSMasahiro Yamada    $ make CROSS_COMPILE=arm-linux-gnueabi-
423365b4ebSMasahiro Yamada
437168da16SMasahiro YamadaPH1-sLD8:
447168da16SMasahiro Yamada    $ make ph1_sld8_defconfig
457168da16SMasahiro Yamada    $ make CROSS_COMPILE=arm-linux-gnueabi-
467168da16SMasahiro Yamada
4728f40d4aSMasahiro YamadaPH1-Pro5:
4828f40d4aSMasahiro Yamada    $ make ph1_pro5_defconfig
4928f40d4aSMasahiro Yamada    $ make CROSS_COMPILE=arm-linux-gnueabi-
5028f40d4aSMasahiro Yamada
51019df879SMasahiro YamadaProXstream2:
52019df879SMasahiro Yamada    $ make pxs2_defconfig
53019df879SMasahiro Yamada    $ make CROSS_COMPILE=arm-linux-gnueabi-
54019df879SMasahiro Yamada
55019df879SMasahiro YamadaPH1-LD6b:
56019df879SMasahiro Yamada    $ make ph1_ld6b_defconfig
57019df879SMasahiro Yamada    $ make CROSS_COMPILE=arm-linux-gnueabi-
58019df879SMasahiro Yamada
597168da16SMasahiro YamadaYou may wish to change the "CROSS_COMPILE=arm-linux-gnueabi-"
607168da16SMasahiro Yamadato use your favorite compiler.
617168da16SMasahiro Yamada
627168da16SMasahiro Yamada
637168da16SMasahiro YamadaBurn U-Boot images to NAND
647168da16SMasahiro Yamada--------------------------
657168da16SMasahiro Yamada
667168da16SMasahiro YamadaWrite two files to the NAND device as follows:
67f4e190e3SMasahiro Yamada - spl/u-boot-spl-dtb.bin at the offset address 0x00000000
687168da16SMasahiro Yamada - u-boot-dtb.img         at the offset address 0x00010000
697168da16SMasahiro Yamada
707168da16SMasahiro YamadaIf a TFTP server is available, the images can be easily updated.
71f4e190e3SMasahiro YamadaJust copy the u-boot-spl-dtb.bin and u-boot-dtb.img to the TFTP public
72f4e190e3SMasahiro Yamadadirectory, and then run the following command at the U-Boot command line:
737168da16SMasahiro Yamada
747168da16SMasahiro Yamada  => run nandupdate
757168da16SMasahiro Yamada
767168da16SMasahiro Yamada
777168da16SMasahiro YamadaUniPhier specific commands
787168da16SMasahiro Yamada--------------------------
797168da16SMasahiro Yamada
807168da16SMasahiro Yamada - pinmon (enabled by CONFIG_CMD_PINMON)
817168da16SMasahiro Yamada     shows the boot mode pins that has been latched at the power-on reset
827168da16SMasahiro Yamada
837168da16SMasahiro Yamada - ddrphy (enabled by CONFIG_CMD_DDRPHY_DUMP)
847168da16SMasahiro Yamada     shows the DDR PHY parameters set by the PHY training
857168da16SMasahiro Yamada
867168da16SMasahiro Yamada
877168da16SMasahiro YamadaSupported devices
887168da16SMasahiro Yamada-----------------
897168da16SMasahiro Yamada
907168da16SMasahiro Yamada - UART (on-chip)
917168da16SMasahiro Yamada - NAND
921e7df7c4SMasahiro Yamada - USB 2.0 (EHCI)
931e7df7c4SMasahiro Yamada - USB 3.0 (xHCI)
947168da16SMasahiro Yamada - LAN (on-board SMSC9118)
957168da16SMasahiro Yamada - I2C
967168da16SMasahiro Yamada - EEPROM (connected to the on-board I2C bus)
977168da16SMasahiro Yamada - Support card (SRAM, NOR flash, some peripherals)
987168da16SMasahiro Yamada
997168da16SMasahiro Yamada
10062102beeSMasahiro YamadaMicro Support Card
10162102beeSMasahiro Yamada------------------
10262102beeSMasahiro Yamada
10362102beeSMasahiro YamadaThe recommended bit switch settings are as follows:
10462102beeSMasahiro Yamada
10562102beeSMasahiro Yamada SW2    OFF(1)/ON(0)   Description
10662102beeSMasahiro Yamada ------------------------------------------
10762102beeSMasahiro Yamada bit 1   <----         BKSZ[0]
10862102beeSMasahiro Yamada bit 2   ---->         BKSZ[1]
10962102beeSMasahiro Yamada bit 3   <----         SoC Bus Width 16/32
11062102beeSMasahiro Yamada bit 4   <----         SERIAL_SEL[0]
11162102beeSMasahiro Yamada bit 5   ---->         SERIAL_SEL[1]
11262102beeSMasahiro Yamada bit 6   ---->         BOOTSWAP_EN
11362102beeSMasahiro Yamada bit 7   <----         CS1/CS5
11462102beeSMasahiro Yamada bit 8   <----         SOC_SERIAL_DISABLE
11562102beeSMasahiro Yamada
11662102beeSMasahiro Yamada SW8    OFF(1)/ON(0)   Description
11762102beeSMasahiro Yamada ------------------------------------------
11862102beeSMasahiro Yamada bit 1    ---->        CS1_SPLIT
11962102beeSMasahiro Yamada bit 2    <----        CASE9_ON
12062102beeSMasahiro Yamada bit 3    <----        CASE10_ON
12162102beeSMasahiro Yamada bit 4  Don't Care     Reserve
12262102beeSMasahiro Yamada bit 5  Don't Care     Reserve
12362102beeSMasahiro Yamada bit 6  Don't Care     Reserve
12462102beeSMasahiro Yamada bit 7    ---->        BURST_EN
12562102beeSMasahiro Yamada bit 8    ---->        FLASHBUS32_16
12662102beeSMasahiro Yamada
12762102beeSMasahiro YamadaThe BKSZ[1:0] specifies the address range of memory slot and peripherals
12862102beeSMasahiro Yamadaas follows:
12962102beeSMasahiro Yamada
13062102beeSMasahiro Yamada BKSZ    Description              RAM slot            Peripherals
13162102beeSMasahiro Yamada --------------------------------------------------------------------
132*c57a9a63SMasahiro Yamada 0b00   15MB RAM / 1MB Peri    00000000-00efffff    00f00000-00ffffff
133*c57a9a63SMasahiro Yamada 0b01   31MB RAM / 1MB Peri    00000000-01efffff    01f00000-01ffffff
134*c57a9a63SMasahiro Yamada 0b10   64MB RAM / 1MB Peri    00000000-03efffff    03f00000-03ffffff
135*c57a9a63SMasahiro Yamada 0b11  127MB RAM / 1MB Peri    00000000-07efffff    07f00000-07ffffff
13662102beeSMasahiro Yamada
13762102beeSMasahiro YamadaSet BSKZ[1:0] to 0b01 for U-Boot.
13862102beeSMasahiro YamadaThis mode is the most handy because EA[24] is always supported by the save pin
13962102beeSMasahiro Yamadamode of the system bus.  On the other hand, EA[25] is not supported for some
14062102beeSMasahiro Yamadanewer SoCs.  Even if it is, EA[25] is not connected on most of the boards.
14162102beeSMasahiro Yamada
1427168da16SMasahiro Yamada--
14362102beeSMasahiro YamadaMasahiro Yamada <yamada.masahiro@socionext.com>
144f4e190e3SMasahiro YamadaAug. 2015
145