U-Boot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH v2 0/8] arm: hikey: hi6220: Various fixups
@ 2015-09-10 20:55 Peter Griffin
  2015-09-10 20:55 ` [U-Boot] [PATCH v2 1/8] ARM: hikey: Update README with various corrections Peter Griffin
                   ` (7 more replies)
  0 siblings, 8 replies; 24+ messages in thread
From: Peter Griffin @ 2015-09-10 20:55 UTC (permalink / raw)
  To: u-boot

Hi folks,

This series fixes a few issues with the recently merged 96boards hikey
u-boot port.

It updates the README with some issues Simon found whilst attempting to
follow my instructions. Also it now includes the ATF makefile referenced
from the README to avoid an external URL as per Simons suggestion.
Some of the other links for nvme.img and mcuimage firmwares have also
been updated and added to match the latest ATF code.

This series also migrates over to DM_SERIAL for the serial ports, and
changes the default UART to UART3, which matches the latest hikey ATF
code on github, and fixes a few issues I found whilst doing that.
The UART used is howwever configurable, for those wishing to continue
using UART0.

kind regards,

Peter.

Changes since v1:
 - No longer adding CONFIG_ENV_SIZE (Fabio)
 - Make UART configurable (Tom)
 - Rebase onto v2015.10-rc3 (Peter)

Peter Griffin (8):
  ARM: hikey: Update README with various corrections
  ARM: hikey: Add ATF makefile referenced by README
  ARM: hikey: Use linux/sizes.h for malloc size
  ARM: hi6220: Add UART0 and UART3 base addresses
  ARM: hikey: Remove resetting gd->flags in board_init()
  ARM: hikey: Select DM, DM_GPIO from Kconfig
  ARM: hikey: hi6220: Migrate over to DM_SERIAL and use UART3 by
    default.
  ARM: hikey: Adjust SDRAM_1_SIZE to 0x3EFFFFFF

 arch/arm/Kconfig                          |   4 +-
 arch/arm/include/asm/arch-hi6220/hi6220.h |   3 +
 board/hisilicon/hikey/Kconfig             |   7 ++
 board/hisilicon/hikey/README              | 197 ++++++++++++++++++++++--------
 board/hisilicon/hikey/build-tf.mak        |  42 +++++++
 board/hisilicon/hikey/hikey.c             |  45 ++++++-
 configs/hikey_defconfig                   |   1 +
 include/configs/hikey.h                   |  20 ++-
 8 files changed, 255 insertions(+), 64 deletions(-)
 create mode 100644 board/hisilicon/hikey/build-tf.mak

-- 
1.9.1

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [U-Boot] [PATCH v2 1/8] ARM: hikey: Update README with various corrections
  2015-09-10 20:55 [U-Boot] [PATCH v2 0/8] arm: hikey: hi6220: Various fixups Peter Griffin
@ 2015-09-10 20:55 ` Peter Griffin
  2015-09-28 21:07   ` [U-Boot] [U-Boot, v2, " Tom Rini
  2015-09-10 20:55 ` [U-Boot] [PATCH v2 2/8] ARM: hikey: Add ATF makefile referenced by README Peter Griffin
                   ` (6 subsequent siblings)
  7 siblings, 1 reply; 24+ messages in thread
From: Peter Griffin @ 2015-09-10 20:55 UTC (permalink / raw)
  To: u-boot

The README had a few mistakes, and one of the URL's
had changed. Also update the boot log with the latest
boot trace from ATF, which now includes the mcuimage.bin.

Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
---
 board/hisilicon/hikey/README | 197 ++++++++++++++++++++++++++++++++-----------
 1 file changed, 147 insertions(+), 50 deletions(-)

diff --git a/board/hisilicon/hikey/README b/board/hisilicon/hikey/README
index 25c8143..36adbdb 100644
--- a/board/hisilicon/hikey/README
+++ b/board/hisilicon/hikey/README
@@ -25,8 +25,12 @@ Currently the u-boot port supports: -
 Compile u-boot
 ==============
 
-make CROSS_COMPILE=aarch64-linux-gnu- hikey_config
-make CROSS_COMPILE=aarch64-linux-gnu-
+  > mkdir -p ./aarch64/bin
+  > cd ./aarch64
+  > git clone http://git.denx.de/u-boot.git
+  > make CROSS_COMPILE=aarch64-linux-gnu- hikey_config
+  > make CROSS_COMPILE=aarch64-linux-gnu-
+  > cp u-boot.bin ./aarch64/bin/u-boot-hikey.bin
 
 ARM Trusted Firmware (ATF) & l-loader
 =====================================
@@ -34,27 +38,34 @@ ARM Trusted Firmware (ATF) & l-loader
 This u-boot port has been tested with l-loader, booting ATF, which then boots
 u-boot as the bl33.bin executable.
 
+Get the BL30 mcu binary.
+  > wget -P aarch64/bin https://builds.96boards.org/releases/hikey/linaro/binaries/15.05/mcuimage.bin
+
 1. Get ATF source code
-git clone https://github.com/96boards/arm-trusted-firmware.git
+  > cd ./aarch64
+  > git clone https://github.com/96boards/arm-trusted-firmware.git
+  > cd ./arm-trusted-firmware
 
-2. Compile ATF I use the makefile here
-http://people.linaro.org/~peter.griffin/hikey/hikey-u-boot-release_r1/build-tf.mak
+2. Compile ATF, I use the build-tf.mak in the directory with this README, and copy it to ATF directory
+  > cp ../u-boot/board/hisilicon/hikey/build-tf.mak .
+  > make -f  build-tf.mak build
 
 3. Get l-loader
-git clone https://github.com/96boards/l-loader.git
-
-4. Make sym links to ATF bip / fip binaries
-ln -s /home/griffinp/aarch64/bl1-hikey.bin bl1.bin
-ln -s /home/griffinp/aarch64/fip-hikey.bin fip.bin
+  > cd ../
+  > git clone https://github.com/96boards/l-loader.git
+  > cd ./l-loader
 
-arm-linux-gnueabihf-gcc -c -o start.o start.S
-arm-linux-gnueabihf-gcc -c -o debug.o debug.S
-arm-linux-gnueabihf-ld -Bstatic -Tl-loader.lds -Ttext 0xf9800800 start.o debug.o -o loader
-arm-linux-gnueabihf-objcopy -O binary loader temp
+4. Make sym links to ATF bl1 / fip binaries
+  > ln -s ../bin/bl1-hikey.bin bl1.bin
+  > ln -s ../bin/fip-hikey.bin fip.bin
 
-python gen_loader.py -o l-loader.bin --img_loader=temp --img_bl1=bl1.bin
-sudo bash -x generate_ptable.sh
-python gen_loader.py -o ptable.img --img_prm_ptable=prm_ptable.img --img_sec_ptable=sec_ptable.img
+  > arm-linux-gnueabihf-gcc -c -o start.o start.S
+  > arm-linux-gnueabihf-gcc -c -o debug.o debug.S
+  > arm-linux-gnueabihf-ld -Bstatic -Tl-loader.lds -Ttext 0xf9800800 start.o debug.o -o loader
+  > arm-linux-gnueabihf-objcopy -O binary loader temp
+  > python gen_loader.py -o ../bin/l-loader.bin --img_loader=temp --img_bl1=bl1.bin
+  > sudo bash -x generate_ptable.sh
+  > python gen_loader.py -o ../bin/ptable.img --img_prm_ptable=./prm_ptable.img --img_sec_ptable=./sec_ptable.img
 
 These instructions are adapted from
 https://github.com/96boards/documentation/wiki/HiKeyUEFI
@@ -62,37 +73,49 @@ https://github.com/96boards/documentation/wiki/HiKeyUEFI
 FLASHING
 ========
 
-1. Connect jumper J2 to go into recovery mode and flash l-loader.bin with
-   fastboot using the hisi-idt.py utility
+1. Connect the second jumper on J15 BOOT SEL, to go into recovery mode and flash l-loader.bin with
+fastboot using the hisi-idt.py utility.
+
+  > cd ../
+  > git clone https://github.com/96boards/burn-boot.git
 
-> git clone https://github.com/96boards/burn-boot.git
-> sudo python /home/griffinp/Software/hikey/burn-boot/hisi-idt.py -d /dev/ttyUSB0 --img1=/tmp/l-loader.bin
+The command below assumes HiKey enumerated as the first USB serial port
+  > sudo ./burn-boot/hisi-idt.py -d /dev/ttyUSB0 --img1=./bin/l-loader.bin
 
-2. Once LED 0 comes on solid, it should be detected as a fastboot device
-   (on some boards I've found this to be unreliable)
+2. Once LED 0 comes on solid, it should be detected as a fastboot device by plugging a USB A to mini B
+   cable from your PC to the USB OTG port of HiKey (on some boards I've found this to be unreliable).
 
-sudo fastboot devices
+  > sudo fastboot devices
+
+0123456789ABCDEF	fastboot
 
 3. Flash the images
-wget https://builds.96boards.org/releases/hikey/nvme.img
-sudo fastboot flash ptable ptable.img
-sudo fastboot flash fastboot fip.bin
-sudo fastboot flash nvme nvme.img
+  > wget -P aarch64/bin wget https://builds.96boards.org/releases/hikey/linaro/binaries/latest/nvme.img
+  > sudo fastboot flash ptable ./bin/ptable.img
+  > sudo fastboot flash fastboot ./bin/fip-hikey.bin
+  > sudo fastboot flash nvme ./bin/nvme.img
 
-4. Disconnect jumper J2, and reset the board and you will now (hopefully)
+4. Disconnect second jumper on J15 BOOT SEL, and reset the board and you will now (hopefully)
    have ATF, booting u-boot from eMMC. On 'new' boards I've had to do the
    flashing twice in the past to avoid an ATF error.
 
+   Note: To get USB host working, also disconnect the USB OTG cable used for flashing. Otherwise you
+   will get 'dwc_otg_core_host_init: Timeout!' errors.
+
 See working boot trace below: -
 
-debug EMMC boot: print init OK
 debug EMMC boot: send RST_N .
 debug EMMC boot: start eMMC boot......
 load fastboot1!
+
 Switch to aarch64 mode. CPU0 executes at 0xf9801000!
+
+INFO:    BL1: 0xf9810000 - 0xf9817000 [size = 28672]
 NOTICE:  Booting Trusted Firmware
-NOTICE:  BL1: v1.1(release):a0c0399
-NOTICE:  BL1: Built : 13:23:48, May 22 2015
+NOTICE:  BL1: v1.1(debug):e8b7174
+NOTICE:  BL1: Built : 19:16:44, Sep  8 2015
+INFO:    BL1: RAM 0xf9810000 - 0xf9817000
+NOTICE:  syspll frequency:1190494208Hz
 NOTICE:  succeed to init lpddr3 rank0 dram phy
 INFO:    lpddr3_freq_init, set ddrc 533mhz
 INFO:    init ddr3 rank0
@@ -101,7 +124,14 @@ INFO:    lpddr3_freq_init, set ddrc 800mhz
 INFO:    init ddr3 rank0
 INFO:    ddr3 rank1 init pass
 INFO:    Elpida DDR
+INFO:    ddr test value:0xa5a55a5a
+INFO:    Hisilicon HiKey platform is initialized
+INFO:    Using FIP
+INFO:    Loading file 'bl2.bin' at address 0xf9818000
+INFO:    File 'bl2.bin' loaded: 0xf9818000 - 0xf9821100
 NOTICE:  BL1: Booting BL2
+INFO:    BL1: BL2 address = 0xf9818000
+INFO:    BL1: BL2 spsr = 0x3c5
 INFO:    [BDID] [fff91c18] midr: 0x410fd033
 INFO:    [BDID] [fff91c1c] board type: 0
 INFO:    [BDID] [fff91c20] board id: 0x2b
@@ -112,24 +142,78 @@ INFO:    acpu_dvfs_set_freq: support freq num is 5
 INFO:    acpu_dvfs_set_freq: start prof is 0x4
 INFO:    acpu_dvfs_set_freq: magic is 0x5a5ac5c5
 INFO:    acpu_dvfs_set_freq: voltage:
-INFO:      - 0: 0x3a
-INFO:      - 1: 0x3a
-INFO:      - 2: 0x4a
-INFO:      - 3: 0x5b
-INFO:      - 4: 0x6b
-NOTICE:  acpu_dvfs_set_freq: set acpu freq success!NOTICE:  BL2: v1.1(debug):a0c0399
-NOTICE:  BL2: Built : 10:19:28, May 27 2015
+INFO:      - 0: 0x49
+INFO:      - 1: 0x49
+INFO:      - 2: 0x50
+INFO:      - 3: 0x60
+INFO:      - 4: 0x78
+NOTICE:  acpu_dvfs_set_freq: set acpu freq success!NOTICE:  BL2: v1.1(debug):e8b7174
+NOTICE:  BL2: Built : 19:16:46, Sep  8 2015
 INFO:    BL2: Loading BL3-0
 INFO:    Using FIP
-WARNING: Failed to access image 'bl30.bin' (-1)
-ERROR:   Failed to load BL3-0 (-1)
-ERROR:   Please burn mcu image:
-ERROR:     sudo fastboot flash mcuimage mcuimage.bin
+INFO:    Loading file 'bl30.bin' at address 0x1000000
+INFO:    Skip reserving memory: 0x1000000 - 0x1023270
+INFO:    File 'bl30.bin' loaded: 0x1000000 - 0x1023270
+INFO:    bl2_plat_handle_bl30: [1000000] 3a334d43 34313032 2f38302f 30203133
+INFO:    bl2_plat_handle_bl30: [10000c8] 0 0 b 0
+INFO:    bl2_plat_handle_bl30: [1000190] 17 0 0 0
+INFO:    bl2_plat_handle_bl30: [1023260] 0 0 0 0
+INFO:    hisi_mcu_load_image: mcu sections 0:
+INFO:    hisi_mcu_load_image:  src  = 0x1000200
+INFO:    hisi_mcu_load_image:  dst  = 0xf6000000
+INFO:    hisi_mcu_load_image:  size = 512
+INFO:    hisi_mcu_load_image:  [SRC 0x1000200] 0x7600 0x201 0x1eae1 0x1ea71
+INFO:    hisi_mcu_load_image:  [DST 0xf6000000] 0x7600 0x201 0x1eae1 0x1ea71
+INFO:    hisi_mcu_load_image: mcu sections 1:
+INFO:    hisi_mcu_load_image:  src  = 0x1000400
+INFO:    hisi_mcu_load_image:  dst  = 0xf6000200
+INFO:    hisi_mcu_load_image:  size = 27828
+INFO:    hisi_mcu_load_image:  [SRC 0x1000400] 0xbf00bf00 0x4815b672 0x48154780 0x60014915
+INFO:    hisi_mcu_load_image:  [DST 0xf6000200] 0xbf00bf00 0x4815b672 0x48154780 0x60014915
+INFO:    hisi_mcu_load_image: mcu sections 2:
+INFO:    hisi_mcu_load_image:  src  = 0x10070b4
+INFO:    hisi_mcu_load_image:  dst  = 0xf6007200
+INFO:    hisi_mcu_load_image:  size = 1024
+INFO:    hisi_mcu_load_image:  [SRC 0x10070b4] 0x55 0x0 0x0 0x0
+INFO:    hisi_mcu_load_image:  [DST 0xf6007200] 0x55 0x0 0x0 0x0
+INFO:    hisi_mcu_load_image: mcu sections 3:
+INFO:    hisi_mcu_load_image:  src  = 0x10074b4
+INFO:    hisi_mcu_load_image:  dst  = 0xfff8e000
+INFO:    hisi_mcu_load_image:  size = 12704
+INFO:    hisi_mcu_load_image:  [SRC 0x10074b4] 0x55 0x0 0x0 0x0
+INFO:    hisi_mcu_load_image:  [DST 0xfff8e000] 0x55 0x0 0x0 0x0
+INFO:    hisi_mcu_load_image: mcu sections 4:
+INFO:    hisi_mcu_load_image:  src  = 0x100a654
+INFO:    hisi_mcu_load_image:  dst  = 0x5e00000
+INFO:    hisi_mcu_load_image:  size = 82912
+INFO:    hisi_mcu_load_image:  [SRC 0x100a654] 0x4ff0e92d 0x2cc5f645 0x2600b0ab 0x2c7cf6c0
+INFO:    hisi_mcu_load_image:  [DST 0x5e00000] 0x4ff0e92d 0x2cc5f645 0x2600b0ab 0x2c7cf6c0
+INFO:    hisi_mcu_load_image: mcu sections 5:
+INFO:    hisi_mcu_load_image:  src  = 0x101ea34
+INFO:    hisi_mcu_load_image:  dst  = 0x5e143e0
+INFO:    hisi_mcu_load_image:  size = 12816
+INFO:    hisi_mcu_load_image:  [SRC 0x101ea34] 0x33323130 0x37363534 0x42413938 0x46454443
+INFO:    hisi_mcu_load_image:  [DST 0x5e143e0] 0x33323130 0x37363534 0x42413938 0x46454443
+INFO:    hisi_mcu_load_image: mcu sections 6:
+INFO:    hisi_mcu_load_image:  src  = 0x1021c44
+INFO:    hisi_mcu_load_image:  dst  = 0x5e1c1d0
+INFO:    hisi_mcu_load_image:  size = 3060
+INFO:    hisi_mcu_load_image:  [SRC 0x1021c44] 0x0 0x0 0x0 0x0
+INFO:    hisi_mcu_load_image:  [DST 0x5e1c1d0] 0x0 0x0 0x0 0x0
+INFO:    hisi_mcu_load_image: mcu sections 7:
+INFO:    hisi_mcu_load_image:  src  = 0x1022838
+INFO:    hisi_mcu_load_image:  dst  = 0x5e1cdc4
+INFO:    hisi_mcu_load_image:  size = 2616
+INFO:    hisi_mcu_load_image:  [SRC 0x1022838] 0xf80000a0 0x0 0xf80000ac 0x0
+INFO:    hisi_mcu_load_image:  [DST 0x5e1cdc4] 0xf80000a0 0x0 0xf80000ac 0x0
+INFO:    hisi_mcu_start_run: AO_SC_SYS_CTRL2=0
+INFO:    bl2_plat_handle_bl30: mcu pc is 42933301
+INFO:    bl2_plat_handle_bl30: AO_SC_PERIPH_CLKSTAT4	is 39018f09
 INFO:    BL2: TrustZone: protecting 16777216 bytes of memory at 0x3f000000
 INFO:    BL2: Loading BL3-1
 INFO:    Using FIP
 INFO:    Loading file 'bl31.bin' at address 0xf9858000
-INFO:    File 'bl31.bin' loaded: 0xf9858000 - 0xf9860010
+INFO:    File 'bl31.bin' loaded: 0xf9858000 - 0xf9861010
 INFO:    BL2: Loading BL3-2
 INFO:    Using FIP
 WARNING: Failed to access image 'bl32.bin' (-1)
@@ -137,24 +221,37 @@ WARNING: Failed to load BL3-2 (-1)
 INFO:    BL2: Loading BL3-3
 INFO:    Using FIP
 INFO:    Loading file 'bl33.bin' at address 0x35000000
-INFO:    File 'bl33.bin' loaded: 0x35000000 - 0x35042938
+INFO:    File 'bl33.bin' loaded: 0x35000000 - 0x3504c468
 NOTICE:  BL1: Booting BL3-1
-NOTICE:  BL3-1: v1.1(debug):a0c0399
-NOTICE:  BL3-1: Built : 10:19:31, May 27 2015
+INFO:    BL1: BL3-1 address = 0xf9858000
+INFO:    BL1: BL3-1 spsr = 0x3cd
+INFO:    BL1: BL3-1 params address = 0xf9821920
+INFO:    BL1: BL3-1 plat params address = 0x0
+NOTICE:  BL3-1: v1.1(debug):e8b7174
+NOTICE:  BL3-1: Built : 19:16:49, Sep  8 2015
 INFO:    BL3-1: Initializing runtime services
 INFO:    BL3-1: Preparing for EL3 exit to normal world
 INFO:    BL3-1: Next image address = 0x35000000
 INFO:    BL3-1: Next image spsr = 0x3c9
 
-
-U-Boot 2015.04-00007-g1b3d379-dirty (May 27 2015 - 10:18:16) hikey
+U-Boot 2015.10-rc2 (Sep 08 2015 - 20:29:33 +0100)hikey
 
 DRAM:  1008 MiB
-MMC:   sd_card_detect: SD card present
+HI6553 PMIC init
+MMC:   config_sd_carddetect: SD card not present
 HiKey DWMMC: 0, HiKey DWMMC: 1
+Card did not respond to voltage select!
+** Bad device mmc 1 **
+Using default environment
+
 In:    serial
 Out:   serial
 Err:   serial
 Net:   Net Initialization Skipped
 No ethernet found.
 Hit any key to stop autoboot:  0
+starting USB...
+USB0:   Core Release: 3.00a
+scanning bus 0 for devices... 2 USB Device(s) found
+       scanning usb for storage devices... 0 Storage Device(s) found
+       scanning usb for ethernet devices... 0 Ethernet Device(s) found
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [U-Boot] [PATCH v2 2/8] ARM: hikey: Add ATF makefile referenced by README
  2015-09-10 20:55 [U-Boot] [PATCH v2 0/8] arm: hikey: hi6220: Various fixups Peter Griffin
  2015-09-10 20:55 ` [U-Boot] [PATCH v2 1/8] ARM: hikey: Update README with various corrections Peter Griffin
@ 2015-09-10 20:55 ` Peter Griffin
  2015-09-24 21:09   ` Tom Rini
  2015-09-28 21:07   ` [U-Boot] [U-Boot, v2, " Tom Rini
  2015-09-10 20:55 ` [U-Boot] [PATCH v2 3/8] ARM: hikey: Use linux/sizes.h for malloc size Peter Griffin
                   ` (5 subsequent siblings)
  7 siblings, 2 replies; 24+ messages in thread
From: Peter Griffin @ 2015-09-10 20:55 UTC (permalink / raw)
  To: u-boot

Rather than relying on an external URL in the README
include the Makefile in the hikey directory.

Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
---
 board/hisilicon/hikey/build-tf.mak | 42 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)
 create mode 100644 board/hisilicon/hikey/build-tf.mak

diff --git a/board/hisilicon/hikey/build-tf.mak b/board/hisilicon/hikey/build-tf.mak
new file mode 100644
index 0000000..cebb34b
--- /dev/null
+++ b/board/hisilicon/hikey/build-tf.mak
@@ -0,0 +1,42 @@
+CROSS_COMPILE	:= aarch64-linux-gnu-
+output_dir	:= $(PWD)/../bin
+makejobs	:= $(shell grep '^processor' /proc/cpuinfo | sort -u | wc -l)
+makethreads	:= $(shell dc -e "$(makejobs) 1 + p")
+make_options	:= GCC49_AARCH64_PREFIX=$CROSS_COMPILE \
+		-j$(makethreads) -l$(makejobs)
+
+BL30_HIKEY	:= $(output_dir)/mcuimage.bin
+BL33_HIKEY	:= $(output_dir)/u-boot-hikey.bin
+
+.PHONY: help
+help:
+	@echo "****  Common Makefile  ****"
+	@echo "example:"
+	@echo "make -f build-tf.mak build"
+
+.PHONY: have-crosscompiler
+have-crosscompiler:
+	@echo -n "Check that $(CROSS_COMPILE)gcc is available..."
+	@which $(CROSS_COMPILE)gcc > /dev/null ; \
+	if [ ! $$? -eq 0 ] ; then \
+	   echo "ERROR: cross-compiler $(CROSS_COMPILE)gcc not in PATH=$$PATH!" ; \
+	   echo "ABORTING." ; \
+	   exit 1 ; \
+	else \
+	   echo "OK" ;\
+	fi
+
+build: have-crosscompiler FORCE
+	@echo "Build TF for Hikey..."
+	rm -rf build/
+	CROSS_COMPILE=$(CROSS_COMPILE) \
+	make all fip \
+	BL30=$(BL30_HIKEY) \
+	BL33=$(BL33_HIKEY) \
+	DEBUG=1 \
+	PLAT=hikey
+	@echo "Copy resulting binaries..."
+	cp build/hikey/debug/bl1.bin $(output_dir)/bl1-hikey.bin
+	cp build/hikey/debug/fip.bin $(output_dir)/fip-hikey.bin
+
+FORCE:
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [U-Boot] [PATCH v2 3/8] ARM: hikey: Use linux/sizes.h for malloc size
  2015-09-10 20:55 [U-Boot] [PATCH v2 0/8] arm: hikey: hi6220: Various fixups Peter Griffin
  2015-09-10 20:55 ` [U-Boot] [PATCH v2 1/8] ARM: hikey: Update README with various corrections Peter Griffin
  2015-09-10 20:55 ` [U-Boot] [PATCH v2 2/8] ARM: hikey: Add ATF makefile referenced by README Peter Griffin
@ 2015-09-10 20:55 ` Peter Griffin
  2015-09-18  4:03   ` Simon Glass
  2015-09-28 21:07   ` [U-Boot] [U-Boot, v2, " Tom Rini
  2015-09-10 20:55 ` [U-Boot] [PATCH v2 4/8] ARM: hi6220: Add UART0 and UART3 base addresses Peter Griffin
                   ` (4 subsequent siblings)
  7 siblings, 2 replies; 24+ messages in thread
From: Peter Griffin @ 2015-09-10 20:55 UTC (permalink / raw)
  To: u-boot

Use the #defines in linux/sizes for malloc size as it is
more readable.

Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
---
 include/configs/hikey.h | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/include/configs/hikey.h b/include/configs/hikey.h
index 8ff9077..7666bf9 100644
--- a/include/configs/hikey.h
+++ b/include/configs/hikey.h
@@ -12,6 +12,8 @@
 #ifndef __HIKEY_H
 #define __HIKEY_H
 
+#include <linux/sizes.h>
+
 /* We use generic board for hikey */
 #define CONFIG_SYS_GENERIC_BOARD
 #define CONFIG_POWER
@@ -55,7 +57,7 @@
 #define GICC_BASE			0xf6802000
 
 /* Size of malloc() pool */
-#define CONFIG_SYS_MALLOC_LEN		(CONFIG_ENV_SIZE + (8 << 20))
+#define CONFIG_SYS_MALLOC_LEN		(CONFIG_ENV_SIZE + SZ_8M)
 
 /* PL011 Serial Configuration */
 #define CONFIG_PL011_SERIAL
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [U-Boot] [PATCH v2 4/8] ARM: hi6220: Add UART0 and UART3 base addresses
  2015-09-10 20:55 [U-Boot] [PATCH v2 0/8] arm: hikey: hi6220: Various fixups Peter Griffin
                   ` (2 preceding siblings ...)
  2015-09-10 20:55 ` [U-Boot] [PATCH v2 3/8] ARM: hikey: Use linux/sizes.h for malloc size Peter Griffin
@ 2015-09-10 20:55 ` Peter Griffin
  2015-09-18  4:03   ` Simon Glass
  2015-09-28 21:07   ` [U-Boot] [U-Boot, v2, " Tom Rini
  2015-09-10 20:55 ` [U-Boot] [PATCH v2 5/8] ARM: hikey: Remove resetting gd->flags in board_init() Peter Griffin
                   ` (3 subsequent siblings)
  7 siblings, 2 replies; 24+ messages in thread
From: Peter Griffin @ 2015-09-10 20:55 UTC (permalink / raw)
  To: u-boot

Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
---
 arch/arm/include/asm/arch-hi6220/hi6220.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/arch/arm/include/asm/arch-hi6220/hi6220.h b/arch/arm/include/asm/arch-hi6220/hi6220.h
index 4b987c2..3a12c75 100644
--- a/arch/arm/include/asm/arch-hi6220/hi6220.h
+++ b/arch/arm/include/asm/arch-hi6220/hi6220.h
@@ -13,6 +13,9 @@
 #define HI6220_MMC0_BASE			0xF723D000
 #define HI6220_MMC1_BASE			0xF723E000
 
+#define HI6220_UART0_BASE			0xF8015000
+#define HI6220_UART3_BASE			0xF7113000
+
 #define HI6220_PMUSSI_BASE			0xF8000000
 
 #define HI6220_PERI_BASE			0xF7030000
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [U-Boot] [PATCH v2 5/8] ARM: hikey: Remove resetting gd->flags in board_init()
  2015-09-10 20:55 [U-Boot] [PATCH v2 0/8] arm: hikey: hi6220: Various fixups Peter Griffin
                   ` (3 preceding siblings ...)
  2015-09-10 20:55 ` [U-Boot] [PATCH v2 4/8] ARM: hi6220: Add UART0 and UART3 base addresses Peter Griffin
@ 2015-09-10 20:55 ` Peter Griffin
  2015-09-18  4:04   ` Simon Glass
  2015-09-28 21:08   ` [U-Boot] [U-Boot, v2, " Tom Rini
  2015-09-10 20:55 ` [U-Boot] [PATCH v2 6/8] ARM: hikey: Select DM, DM_GPIO from Kconfig Peter Griffin
                   ` (2 subsequent siblings)
  7 siblings, 2 replies; 24+ messages in thread
From: Peter Griffin @ 2015-09-10 20:55 UTC (permalink / raw)
  To: u-boot

This causes exceptions and other strange behaviour
when enabling CONFIG_SYS_MALLOC_F_LEN which is required to
migrate the serial driver over to DM_SERIAL.

As GD_FLG_FULL_MALLOC_INIT flag gets reset, after relocation
we don't end up using the full malloc which ultimately ends up
causing a synchronus abort.

Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
---
 board/hisilicon/hikey/hikey.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/board/hisilicon/hikey/hikey.c b/board/hisilicon/hikey/hikey.c
index 8c1271b..9948747 100644
--- a/board/hisilicon/hikey/hikey.c
+++ b/board/hisilicon/hikey/hikey.c
@@ -269,8 +269,6 @@ int misc_init_r(void)
 
 int board_init(void)
 {
-	gd->flags = 0;
-
 	return 0;
 }
 
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [U-Boot] [PATCH v2 6/8] ARM: hikey: Select DM, DM_GPIO from Kconfig
  2015-09-10 20:55 [U-Boot] [PATCH v2 0/8] arm: hikey: hi6220: Various fixups Peter Griffin
                   ` (4 preceding siblings ...)
  2015-09-10 20:55 ` [U-Boot] [PATCH v2 5/8] ARM: hikey: Remove resetting gd->flags in board_init() Peter Griffin
@ 2015-09-10 20:55 ` Peter Griffin
  2015-09-18  4:04   ` Simon Glass
  2015-09-28 21:08   ` [U-Boot] [U-Boot, v2, " Tom Rini
  2015-09-10 20:55 ` [U-Boot] [PATCH v2 7/8] ARM: hikey: hi6220: Migrate over to DM_SERIAL and use UART3 by default Peter Griffin
  2015-09-10 20:55 ` [U-Boot] [PATCH v2 8/8] ARM: hikey: Adjust SDRAM_1_SIZE to 0x3EFFFFFF Peter Griffin
  7 siblings, 2 replies; 24+ messages in thread
From: Peter Griffin @ 2015-09-10 20:55 UTC (permalink / raw)
  To: u-boot

Most platforms enable these options from Kconfig rather
than the configs header file.

Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
---
 arch/arm/Kconfig        | 2 ++
 include/configs/hikey.h | 2 --
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 8085a24..9c2b3ab 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -648,6 +648,8 @@ config TARGET_LS2085ARDB
 config TARGET_HIKEY
 	bool "Support HiKey 96boards Consumer Edition Platform"
 	select ARM64
+	select DM
+	select DM_GPIO
 	  help
 	  Support for HiKey 96boards platform. It features a HI6220
 	  SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM.
diff --git a/include/configs/hikey.h b/include/configs/hikey.h
index 7666bf9..ae8187a 100644
--- a/include/configs/hikey.h
+++ b/include/configs/hikey.h
@@ -83,9 +83,7 @@
 #endif
 
 #define CONFIG_HIKEY_GPIO
-#define CONFIG_DM_GPIO
 #define CONFIG_CMD_GPIO
-#define CONFIG_DM
 
 /* SD/MMC configuration */
 #define CONFIG_GENERIC_MMC
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [U-Boot] [PATCH v2 7/8] ARM: hikey: hi6220: Migrate over to DM_SERIAL and use UART3 by default.
  2015-09-10 20:55 [U-Boot] [PATCH v2 0/8] arm: hikey: hi6220: Various fixups Peter Griffin
                   ` (5 preceding siblings ...)
  2015-09-10 20:55 ` [U-Boot] [PATCH v2 6/8] ARM: hikey: Select DM, DM_GPIO from Kconfig Peter Griffin
@ 2015-09-10 20:55 ` Peter Griffin
  2015-09-18  4:04   ` Simon Glass
  2015-09-28 21:08   ` [U-Boot] [U-Boot, v2, " Tom Rini
  2015-09-10 20:55 ` [U-Boot] [PATCH v2 8/8] ARM: hikey: Adjust SDRAM_1_SIZE to 0x3EFFFFFF Peter Griffin
  7 siblings, 2 replies; 24+ messages in thread
From: Peter Griffin @ 2015-09-10 20:55 UTC (permalink / raw)
  To: u-boot

Use DM for the pl01x serial driver on hikey. Also allow UART0 or
UART3 to be chosen via Kconfig.

By default we now output to UART3 as the latest version of ATF outputs
to this UART. Also UART3 comes out on the LS connector, as opposed to
UART0 which goes to a unpopulated header.

As part of this change we also enable CONFIG_BOARD_EARLY_INIT_F and
call the pinmux configuration code for the UART. Before we were
relying on ATF having already configured the pin configuration.

NB: Upstream Linux kernel doesn't yet support UART3, so serial console
will still be output on UART0 when booting a upstream kernel.

Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
---
 arch/arm/Kconfig              |  2 +-
 board/hisilicon/hikey/Kconfig |  7 +++++++
 board/hisilicon/hikey/hikey.c | 43 +++++++++++++++++++++++++++++++++++++++++++
 configs/hikey_defconfig       |  1 +
 include/configs/hikey.h       | 11 ++++-------
 5 files changed, 56 insertions(+), 8 deletions(-)

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 9c2b3ab..5bb568d 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -650,6 +650,7 @@ config TARGET_HIKEY
 	select ARM64
 	select DM
 	select DM_GPIO
+	select DM_SERIAL
 	  help
 	  Support for HiKey 96boards platform. It features a HI6220
 	  SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM.
@@ -658,7 +659,6 @@ config TARGET_LS1021AQDS
 	bool "Support ls1021aqds"
 	select CPU_V7
 	select SUPPORT_SPL
-
 config TARGET_LS1021ATWR
 	bool "Support ls1021atwr"
 	select CPU_V7
diff --git a/board/hisilicon/hikey/Kconfig b/board/hisilicon/hikey/Kconfig
index f7f1055..9171502 100644
--- a/board/hisilicon/hikey/Kconfig
+++ b/board/hisilicon/hikey/Kconfig
@@ -12,4 +12,11 @@ config SYS_SOC
 config SYS_CONFIG_NAME
 	default "hikey"
 
+config CONS_INDEX
+	int "UART used for console"
+	range 1 4
+	default 4
+	help
+	  The hi6220 SoC has 5 UARTs. For example to use UART0 enter 1 here.
+
 endif
diff --git a/board/hisilicon/hikey/hikey.c b/board/hisilicon/hikey/hikey.c
index 9948747..c4ae40b 100644
--- a/board/hisilicon/hikey/hikey.c
+++ b/board/hisilicon/hikey/hikey.c
@@ -6,6 +6,7 @@
  */
 #include <common.h>
 #include <dm.h>
+#include <dm/platform_data/serial_pl01x.h>
 #include <errno.h>
 #include <malloc.h>
 #include <netdev.h>
@@ -69,6 +70,48 @@ U_BOOT_DEVICES(hi6220_gpios) = {
 
 DECLARE_GLOBAL_DATA_PTR;
 
+static const struct pl01x_serial_platdata serial_platdata = {
+#if CONFIG_CONS_INDEX == 1
+	.base = HI6220_UART0_BASE,
+#elif CONFIG_CONS_INDEX == 4
+	.base = HI6220_UART3_BASE,
+#else
+#error "Unsuported console index value."
+#endif
+	.type = TYPE_PL011,
+	.clock = 19200000
+};
+
+U_BOOT_DEVICE(hikey_seriala) = {
+	.name = "serial_pl01x",
+	.platdata = &serial_platdata,
+};
+
+#ifdef CONFIG_BOARD_EARLY_INIT_F
+int board_uart_init(void)
+{
+	switch (CONFIG_CONS_INDEX) {
+	case 1:
+		hi6220_pinmux_config(PERIPH_ID_UART0);
+		break;
+	case 4:
+		hi6220_pinmux_config(PERIPH_ID_UART3);
+		break;
+	default:
+		debug("%s: Unsupported UART selected\n", __func__);
+		return -1;
+	}
+
+	return 0;
+}
+
+int board_early_init_f(void)
+{
+	board_uart_init();
+	return 0;
+}
+#endif
+
 struct peri_sc_periph_regs *peri_sc =
 	(struct peri_sc_periph_regs *)HI6220_PERI_BASE;
 
diff --git a/configs/hikey_defconfig b/configs/hikey_defconfig
index aa4fb0d..ee67c29 100644
--- a/configs/hikey_defconfig
+++ b/configs/hikey_defconfig
@@ -2,4 +2,5 @@
 CONFIG_ARM=y
 CONFIG_TARGET_HIKEY=y
 CONFIG_NET=y
+CONFIG_SYS_MALLOC_F_LEN=0x2000
 # CONFIG_CMD_IMLS is not set
diff --git a/include/configs/hikey.h b/include/configs/hikey.h
index ae8187a..b7c22e8 100644
--- a/include/configs/hikey.h
+++ b/include/configs/hikey.h
@@ -31,6 +31,8 @@
 /* Flat Device Tree Definitions */
 #define CONFIG_OF_LIBFDT
 
+#define CONFIG_BOARD_EARLY_INIT_F
+
 /* Physical Memory Map */
 
 /* CONFIG_SYS_TEXT_BASE needs to align with where ATF loads bl33.bin */
@@ -59,13 +61,8 @@
 /* Size of malloc() pool */
 #define CONFIG_SYS_MALLOC_LEN		(CONFIG_ENV_SIZE + SZ_8M)
 
-/* PL011 Serial Configuration */
-#define CONFIG_PL011_SERIAL
-
-#define CONFIG_PL011_CLOCK		19200000
-#define CONFIG_PL01x_PORTS		{(void *)0xF8015000}
-#define CONFIG_CONS_INDEX		0
-
+/* Serial port PL010/PL011 through the device model */
+#define CONFIG_PL01X_SERIAL
 #define CONFIG_BAUDRATE			115200
 
 #define CONFIG_CMD_USB
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [U-Boot] [PATCH v2 8/8] ARM: hikey: Adjust SDRAM_1_SIZE to 0x3EFFFFFF
  2015-09-10 20:55 [U-Boot] [PATCH v2 0/8] arm: hikey: hi6220: Various fixups Peter Griffin
                   ` (6 preceding siblings ...)
  2015-09-10 20:55 ` [U-Boot] [PATCH v2 7/8] ARM: hikey: hi6220: Migrate over to DM_SERIAL and use UART3 by default Peter Griffin
@ 2015-09-10 20:55 ` Peter Griffin
  2015-09-18  4:04   ` Simon Glass
  2015-09-28 21:08   ` [U-Boot] [U-Boot, v2, " Tom Rini
  7 siblings, 2 replies; 24+ messages in thread
From: Peter Griffin @ 2015-09-10 20:55 UTC (permalink / raw)
  To: u-boot

DRAM region 0x3f000000 - 0x3fffffff is reserved for OP-TEE. Touching
0x3f000000 memory location from unsecure world causes the board
to hang.

Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
---
 include/configs/hikey.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/include/configs/hikey.h b/include/configs/hikey.h
index b7c22e8..3af0213 100644
--- a/include/configs/hikey.h
+++ b/include/configs/hikey.h
@@ -42,7 +42,8 @@
 #define PHYS_SDRAM_1			0x00000000
 
 /* 1008 MB (the last 16Mb are secured for TrustZone by ATF*/
-#define PHYS_SDRAM_1_SIZE		0x3f000000
+#define PHYS_SDRAM_1_SIZE		0x3EFFFFFF
+
 #define CONFIG_SYS_SDRAM_BASE		PHYS_SDRAM_1
 
 #define CONFIG_SYS_INIT_RAM_SIZE	0x1000
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [U-Boot] [PATCH v2 3/8] ARM: hikey: Use linux/sizes.h for malloc size
  2015-09-10 20:55 ` [U-Boot] [PATCH v2 3/8] ARM: hikey: Use linux/sizes.h for malloc size Peter Griffin
@ 2015-09-18  4:03   ` Simon Glass
  2015-09-28 21:07   ` [U-Boot] [U-Boot, v2, " Tom Rini
  1 sibling, 0 replies; 24+ messages in thread
From: Simon Glass @ 2015-09-18  4:03 UTC (permalink / raw)
  To: u-boot

On 10 September 2015 at 14:55, Peter Griffin <peter.griffin@linaro.org> wrote:
> Use the #defines in linux/sizes for malloc size as it is
> more readable.

Debatable, but it's your board :-)

Reviewed-by: Simon Glass <sjg@chromium.org>

>
> Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
> ---
>  include/configs/hikey.h | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [U-Boot] [PATCH v2 4/8] ARM: hi6220: Add UART0 and UART3 base addresses
  2015-09-10 20:55 ` [U-Boot] [PATCH v2 4/8] ARM: hi6220: Add UART0 and UART3 base addresses Peter Griffin
@ 2015-09-18  4:03   ` Simon Glass
  2015-09-28 21:07   ` [U-Boot] [U-Boot, v2, " Tom Rini
  1 sibling, 0 replies; 24+ messages in thread
From: Simon Glass @ 2015-09-18  4:03 UTC (permalink / raw)
  To: u-boot

On 10 September 2015 at 14:55, Peter Griffin <peter.griffin@linaro.org> wrote:
> Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
> ---
>  arch/arm/include/asm/arch-hi6220/hi6220.h | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/arch/arm/include/asm/arch-hi6220/hi6220.h b/arch/arm/include/asm/arch-hi6220/hi6220.h
> index 4b987c2..3a12c75 100644
> --- a/arch/arm/include/asm/arch-hi6220/hi6220.h
> +++ b/arch/arm/include/asm/arch-hi6220/hi6220.h
> @@ -13,6 +13,9 @@
>  #define HI6220_MMC0_BASE                       0xF723D000
>  #define HI6220_MMC1_BASE                       0xF723E000
>
> +#define HI6220_UART0_BASE                      0xF8015000
> +#define HI6220_UART3_BASE                      0xF7113000
> +
>  #define HI6220_PMUSSI_BASE                     0xF8000000
>
>  #define HI6220_PERI_BASE                       0xF7030000
> --
> 1.9.1
>

Reviewed-by: Simon Glass <sjg@chromium.org>

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [U-Boot] [PATCH v2 5/8] ARM: hikey: Remove resetting gd->flags in board_init()
  2015-09-10 20:55 ` [U-Boot] [PATCH v2 5/8] ARM: hikey: Remove resetting gd->flags in board_init() Peter Griffin
@ 2015-09-18  4:04   ` Simon Glass
  2015-09-28 21:08   ` [U-Boot] [U-Boot, v2, " Tom Rini
  1 sibling, 0 replies; 24+ messages in thread
From: Simon Glass @ 2015-09-18  4:04 UTC (permalink / raw)
  To: u-boot

On 10 September 2015 at 14:55, Peter Griffin <peter.griffin@linaro.org> wrote:
> This causes exceptions and other strange behaviour
> when enabling CONFIG_SYS_MALLOC_F_LEN which is required to
> migrate the serial driver over to DM_SERIAL.
>
> As GD_FLG_FULL_MALLOC_INIT flag gets reset, after relocation
> we don't end up using the full malloc which ultimately ends up
> causing a synchronus abort.
>
> Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
> ---
>  board/hisilicon/hikey/hikey.c | 2 --
>  1 file changed, 2 deletions(-)

Reviewed-by: Simon Glass <sjg@chromium.org>

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [U-Boot] [PATCH v2 6/8] ARM: hikey: Select DM, DM_GPIO from Kconfig
  2015-09-10 20:55 ` [U-Boot] [PATCH v2 6/8] ARM: hikey: Select DM, DM_GPIO from Kconfig Peter Griffin
@ 2015-09-18  4:04   ` Simon Glass
  2015-09-28 21:08   ` [U-Boot] [U-Boot, v2, " Tom Rini
  1 sibling, 0 replies; 24+ messages in thread
From: Simon Glass @ 2015-09-18  4:04 UTC (permalink / raw)
  To: u-boot

On 10 September 2015 at 14:55, Peter Griffin <peter.griffin@linaro.org> wrote:
> Most platforms enable these options from Kconfig rather
> than the configs header file.
>
> Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
> ---
>  arch/arm/Kconfig        | 2 ++
>  include/configs/hikey.h | 2 --
>  2 files changed, 2 insertions(+), 2 deletions(-)

Reviewed-by: Simon Glass <sjg@chromium.org>

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [U-Boot] [PATCH v2 7/8] ARM: hikey: hi6220: Migrate over to DM_SERIAL and use UART3 by default.
  2015-09-10 20:55 ` [U-Boot] [PATCH v2 7/8] ARM: hikey: hi6220: Migrate over to DM_SERIAL and use UART3 by default Peter Griffin
@ 2015-09-18  4:04   ` Simon Glass
  2015-09-28 21:08   ` [U-Boot] [U-Boot, v2, " Tom Rini
  1 sibling, 0 replies; 24+ messages in thread
From: Simon Glass @ 2015-09-18  4:04 UTC (permalink / raw)
  To: u-boot

Hi Peter,

On 10 September 2015 at 14:55, Peter Griffin <peter.griffin@linaro.org> wrote:
> Use DM for the pl01x serial driver on hikey. Also allow UART0 or
> UART3 to be chosen via Kconfig.
>
> By default we now output to UART3 as the latest version of ATF outputs
> to this UART. Also UART3 comes out on the LS connector, as opposed to
> UART0 which goes to a unpopulated header.
>
> As part of this change we also enable CONFIG_BOARD_EARLY_INIT_F and
> call the pinmux configuration code for the UART. Before we were
> relying on ATF having already configured the pin configuration.
>
> NB: Upstream Linux kernel doesn't yet support UART3, so serial console
> will still be output on UART0 when booting a upstream kernel.
>
> Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
> ---
>  arch/arm/Kconfig              |  2 +-
>  board/hisilicon/hikey/Kconfig |  7 +++++++
>  board/hisilicon/hikey/hikey.c | 43 +++++++++++++++++++++++++++++++++++++++++++
>  configs/hikey_defconfig       |  1 +
>  include/configs/hikey.h       | 11 ++++-------
>  5 files changed, 56 insertions(+), 8 deletions(-)

Reviewed-by: Simon Glass <sjg@chromium.org>

>
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index 9c2b3ab..5bb568d 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -650,6 +650,7 @@ config TARGET_HIKEY
>         select ARM64
>         select DM
>         select DM_GPIO
> +       select DM_SERIAL
>           help
>           Support for HiKey 96boards platform. It features a HI6220
>           SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM.
> @@ -658,7 +659,6 @@ config TARGET_LS1021AQDS
>         bool "Support ls1021aqds"
>         select CPU_V7
>         select SUPPORT_SPL
> -
>  config TARGET_LS1021ATWR
>         bool "Support ls1021atwr"
>         select CPU_V7
> diff --git a/board/hisilicon/hikey/Kconfig b/board/hisilicon/hikey/Kconfig
> index f7f1055..9171502 100644
> --- a/board/hisilicon/hikey/Kconfig
> +++ b/board/hisilicon/hikey/Kconfig
> @@ -12,4 +12,11 @@ config SYS_SOC
>  config SYS_CONFIG_NAME
>         default "hikey"
>
> +config CONS_INDEX
> +       int "UART used for console"
> +       range 1 4
> +       default 4
> +       help
> +         The hi6220 SoC has 5 UARTs. For example to use UART0 enter 1 here.
> +

I was hoping to kill off this option but since you are not using
device tree yet I think it makes sense.

>  endif
> diff --git a/board/hisilicon/hikey/hikey.c b/board/hisilicon/hikey/hikey.c
> index 9948747..c4ae40b 100644
> --- a/board/hisilicon/hikey/hikey.c
> +++ b/board/hisilicon/hikey/hikey.c
> @@ -6,6 +6,7 @@
>   */
>  #include <common.h>
>  #include <dm.h>
> +#include <dm/platform_data/serial_pl01x.h>
>  #include <errno.h>
>  #include <malloc.h>
>  #include <netdev.h>
> @@ -69,6 +70,48 @@ U_BOOT_DEVICES(hi6220_gpios) = {
>
>  DECLARE_GLOBAL_DATA_PTR;
>
> +static const struct pl01x_serial_platdata serial_platdata = {
> +#if CONFIG_CONS_INDEX == 1
> +       .base = HI6220_UART0_BASE,
> +#elif CONFIG_CONS_INDEX == 4
> +       .base = HI6220_UART3_BASE,
> +#else
> +#error "Unsuported console index value."
> +#endif
> +       .type = TYPE_PL011,
> +       .clock = 19200000
> +};
> +
> +U_BOOT_DEVICE(hikey_seriala) = {
> +       .name = "serial_pl01x",
> +       .platdata = &serial_platdata,
> +};
> +
> +#ifdef CONFIG_BOARD_EARLY_INIT_F
> +int board_uart_init(void)
> +{
> +       switch (CONFIG_CONS_INDEX) {
> +       case 1:
> +               hi6220_pinmux_config(PERIPH_ID_UART0);
> +               break;
> +       case 4:
> +               hi6220_pinmux_config(PERIPH_ID_UART3);
> +               break;
> +       default:
> +               debug("%s: Unsupported UART selected\n", __func__);
> +               return -1;
> +       }
> +
> +       return 0;
> +}
> +
> +int board_early_init_f(void)
> +{
> +       board_uart_init();
> +       return 0;
> +}
> +#endif
> +
>  struct peri_sc_periph_regs *peri_sc =
>         (struct peri_sc_periph_regs *)HI6220_PERI_BASE;
>
> diff --git a/configs/hikey_defconfig b/configs/hikey_defconfig
> index aa4fb0d..ee67c29 100644
> --- a/configs/hikey_defconfig
> +++ b/configs/hikey_defconfig
> @@ -2,4 +2,5 @@
>  CONFIG_ARM=y
>  CONFIG_TARGET_HIKEY=y
>  CONFIG_NET=y
> +CONFIG_SYS_MALLOC_F_LEN=0x2000
>  # CONFIG_CMD_IMLS is not set
> diff --git a/include/configs/hikey.h b/include/configs/hikey.h
> index ae8187a..b7c22e8 100644
> --- a/include/configs/hikey.h
> +++ b/include/configs/hikey.h
> @@ -31,6 +31,8 @@
>  /* Flat Device Tree Definitions */
>  #define CONFIG_OF_LIBFDT
>
> +#define CONFIG_BOARD_EARLY_INIT_F
> +
>  /* Physical Memory Map */
>
>  /* CONFIG_SYS_TEXT_BASE needs to align with where ATF loads bl33.bin */
> @@ -59,13 +61,8 @@
>  /* Size of malloc() pool */
>  #define CONFIG_SYS_MALLOC_LEN          (CONFIG_ENV_SIZE + SZ_8M)
>
> -/* PL011 Serial Configuration */
> -#define CONFIG_PL011_SERIAL
> -
> -#define CONFIG_PL011_CLOCK             19200000
> -#define CONFIG_PL01x_PORTS             {(void *)0xF8015000}
> -#define CONFIG_CONS_INDEX              0
> -
> +/* Serial port PL010/PL011 through the device model */
> +#define CONFIG_PL01X_SERIAL
>  #define CONFIG_BAUDRATE                        115200
>
>  #define CONFIG_CMD_USB
> --
> 1.9.1
>

Regards,
Simon

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [U-Boot] [PATCH v2 8/8] ARM: hikey: Adjust SDRAM_1_SIZE to 0x3EFFFFFF
  2015-09-10 20:55 ` [U-Boot] [PATCH v2 8/8] ARM: hikey: Adjust SDRAM_1_SIZE to 0x3EFFFFFF Peter Griffin
@ 2015-09-18  4:04   ` Simon Glass
  2015-09-28 21:08   ` [U-Boot] [U-Boot, v2, " Tom Rini
  1 sibling, 0 replies; 24+ messages in thread
From: Simon Glass @ 2015-09-18  4:04 UTC (permalink / raw)
  To: u-boot

On 10 September 2015 at 14:55, Peter Griffin <peter.griffin@linaro.org> wrote:
> DRAM region 0x3f000000 - 0x3fffffff is reserved for OP-TEE. Touching
> 0x3f000000 memory location from unsecure world causes the board
> to hang.
>
> Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
> ---
>  include/configs/hikey.h | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)

Reviewed-by: Simon Glass <sjg@chromium.org>

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [U-Boot] [PATCH v2 2/8] ARM: hikey: Add ATF makefile referenced by README
  2015-09-10 20:55 ` [U-Boot] [PATCH v2 2/8] ARM: hikey: Add ATF makefile referenced by README Peter Griffin
@ 2015-09-24 21:09   ` Tom Rini
  2015-09-28 21:07   ` [U-Boot] [U-Boot, v2, " Tom Rini
  1 sibling, 0 replies; 24+ messages in thread
From: Tom Rini @ 2015-09-24 21:09 UTC (permalink / raw)
  To: u-boot

On Thu, Sep 10, 2015 at 09:55:12PM +0100, Peter Griffin wrote:

> Rather than relying on an external URL in the README
> include the Makefile in the hikey directory.
> 
> Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
> ---
>  board/hisilicon/hikey/build-tf.mak | 42 ++++++++++++++++++++++++++++++++++++++
>  1 file changed, 42 insertions(+)
>  create mode 100644 board/hisilicon/hikey/build-tf.mak
> 
> diff --git a/board/hisilicon/hikey/build-tf.mak b/board/hisilicon/hikey/build-tf.mak
> new file mode 100644
> index 0000000..cebb34b
> --- /dev/null
> +++ b/board/hisilicon/hikey/build-tf.mak
> @@ -0,0 +1,42 @@
> +CROSS_COMPILE	:= aarch64-linux-gnu-
> +output_dir	:= $(PWD)/../bin
> +makejobs	:= $(shell grep '^processor' /proc/cpuinfo | sort -u | wc -l)
> +makethreads	:= $(shell dc -e "$(makejobs) 1 + p")
> +make_options	:= GCC49_AARCH64_PREFIX=$CROSS_COMPILE \
> +		-j$(makethreads) -l$(makejobs)
> +
> +BL30_HIKEY	:= $(output_dir)/mcuimage.bin
> +BL33_HIKEY	:= $(output_dir)/u-boot-hikey.bin
> +
> +.PHONY: help
> +help:
> +	@echo "****  Common Makefile  ****"
> +	@echo "example:"
> +	@echo "make -f build-tf.mak build"
> +
> +.PHONY: have-crosscompiler
> +have-crosscompiler:
> +	@echo -n "Check that $(CROSS_COMPILE)gcc is available..."
> +	@which $(CROSS_COMPILE)gcc > /dev/null ; \
> +	if [ ! $$? -eq 0 ] ; then \
> +	   echo "ERROR: cross-compiler $(CROSS_COMPILE)gcc not in PATH=$$PATH!" ; \
> +	   echo "ABORTING." ; \
> +	   exit 1 ; \
> +	else \
> +	   echo "OK" ;\
> +	fi
> +
> +build: have-crosscompiler FORCE
> +	@echo "Build TF for Hikey..."
> +	rm -rf build/
> +	CROSS_COMPILE=$(CROSS_COMPILE) \
> +	make all fip \
> +	BL30=$(BL30_HIKEY) \
> +	BL33=$(BL33_HIKEY) \
> +	DEBUG=1 \
> +	PLAT=hikey
> +	@echo "Copy resulting binaries..."
> +	cp build/hikey/debug/bl1.bin $(output_dir)/bl1-hikey.bin
> +	cp build/hikey/debug/fip.bin $(output_dir)/fip-hikey.bin
> +
> +FORCE:

For the record, I'm not super happy about including makefiles/scripts
for other projects.  This seems complex enough that we need to handle
the case for now at least, so, yeah, OK, we'll do it like this for now.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150924/de8bc477/attachment.sig>

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [U-Boot] [U-Boot, v2, 1/8] ARM: hikey: Update README with various corrections
  2015-09-10 20:55 ` [U-Boot] [PATCH v2 1/8] ARM: hikey: Update README with various corrections Peter Griffin
@ 2015-09-28 21:07   ` Tom Rini
  0 siblings, 0 replies; 24+ messages in thread
From: Tom Rini @ 2015-09-28 21:07 UTC (permalink / raw)
  To: u-boot

On Thu, Sep 10, 2015 at 09:55:11PM +0100, Peter Griffin wrote:

> The README had a few mistakes, and one of the URL's
> had changed. Also update the boot log with the latest
> boot trace from ATF, which now includes the mcuimage.bin.
> 
> Signed-off-by: Peter Griffin <peter.griffin@linaro.org>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150928/a8f47b6e/attachment.sig>

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [U-Boot] [U-Boot, v2, 2/8] ARM: hikey: Add ATF makefile referenced by README
  2015-09-10 20:55 ` [U-Boot] [PATCH v2 2/8] ARM: hikey: Add ATF makefile referenced by README Peter Griffin
  2015-09-24 21:09   ` Tom Rini
@ 2015-09-28 21:07   ` Tom Rini
  1 sibling, 0 replies; 24+ messages in thread
From: Tom Rini @ 2015-09-28 21:07 UTC (permalink / raw)
  To: u-boot

On Thu, Sep 10, 2015 at 09:55:12PM +0100, Peter Griffin wrote:

> Rather than relying on an external URL in the README
> include the Makefile in the hikey directory.
> 
> Signed-off-by: Peter Griffin <peter.griffin@linaro.org>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150928/86dc8a96/attachment.sig>

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [U-Boot] [U-Boot, v2, 3/8] ARM: hikey: Use linux/sizes.h for malloc size
  2015-09-10 20:55 ` [U-Boot] [PATCH v2 3/8] ARM: hikey: Use linux/sizes.h for malloc size Peter Griffin
  2015-09-18  4:03   ` Simon Glass
@ 2015-09-28 21:07   ` Tom Rini
  1 sibling, 0 replies; 24+ messages in thread
From: Tom Rini @ 2015-09-28 21:07 UTC (permalink / raw)
  To: u-boot

On Thu, Sep 10, 2015 at 09:55:13PM +0100, Peter Griffin wrote:

> Use the #defines in linux/sizes for malloc size as it is
> more readable.
> 
> Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
> Reviewed-by: Simon Glass <sjg@chromium.org>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150928/9af7aca3/attachment.sig>

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [U-Boot] [U-Boot, v2, 4/8] ARM: hi6220: Add UART0 and UART3 base addresses
  2015-09-10 20:55 ` [U-Boot] [PATCH v2 4/8] ARM: hi6220: Add UART0 and UART3 base addresses Peter Griffin
  2015-09-18  4:03   ` Simon Glass
@ 2015-09-28 21:07   ` Tom Rini
  1 sibling, 0 replies; 24+ messages in thread
From: Tom Rini @ 2015-09-28 21:07 UTC (permalink / raw)
  To: u-boot

On Thu, Sep 10, 2015 at 09:55:14PM +0100, Peter Griffin wrote:

> Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
> Reviewed-by: Simon Glass <sjg@chromium.org>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150928/a1fc6ef8/attachment.sig>

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [U-Boot] [U-Boot, v2, 5/8] ARM: hikey: Remove resetting gd->flags in board_init()
  2015-09-10 20:55 ` [U-Boot] [PATCH v2 5/8] ARM: hikey: Remove resetting gd->flags in board_init() Peter Griffin
  2015-09-18  4:04   ` Simon Glass
@ 2015-09-28 21:08   ` Tom Rini
  1 sibling, 0 replies; 24+ messages in thread
From: Tom Rini @ 2015-09-28 21:08 UTC (permalink / raw)
  To: u-boot

On Thu, Sep 10, 2015 at 09:55:15PM +0100, Peter Griffin wrote:

> This causes exceptions and other strange behaviour
> when enabling CONFIG_SYS_MALLOC_F_LEN which is required to
> migrate the serial driver over to DM_SERIAL.
> 
> As GD_FLG_FULL_MALLOC_INIT flag gets reset, after relocation
> we don't end up using the full malloc which ultimately ends up
> causing a synchronus abort.
> 
> Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
> Reviewed-by: Simon Glass <sjg@chromium.org>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150928/36146379/attachment.sig>

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [U-Boot] [U-Boot, v2, 6/8] ARM: hikey: Select DM, DM_GPIO from Kconfig
  2015-09-10 20:55 ` [U-Boot] [PATCH v2 6/8] ARM: hikey: Select DM, DM_GPIO from Kconfig Peter Griffin
  2015-09-18  4:04   ` Simon Glass
@ 2015-09-28 21:08   ` Tom Rini
  1 sibling, 0 replies; 24+ messages in thread
From: Tom Rini @ 2015-09-28 21:08 UTC (permalink / raw)
  To: u-boot

On Thu, Sep 10, 2015 at 09:55:16PM +0100, Peter Griffin wrote:

> Most platforms enable these options from Kconfig rather
> than the configs header file.
> 
> Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
> Reviewed-by: Simon Glass <sjg@chromium.org>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150928/256434e0/attachment.sig>

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [U-Boot] [U-Boot, v2, 7/8] ARM: hikey: hi6220: Migrate over to DM_SERIAL and use UART3 by default.
  2015-09-10 20:55 ` [U-Boot] [PATCH v2 7/8] ARM: hikey: hi6220: Migrate over to DM_SERIAL and use UART3 by default Peter Griffin
  2015-09-18  4:04   ` Simon Glass
@ 2015-09-28 21:08   ` Tom Rini
  1 sibling, 0 replies; 24+ messages in thread
From: Tom Rini @ 2015-09-28 21:08 UTC (permalink / raw)
  To: u-boot

On Thu, Sep 10, 2015 at 09:55:17PM +0100, Peter Griffin wrote:

> Use DM for the pl01x serial driver on hikey. Also allow UART0 or
> UART3 to be chosen via Kconfig.
> 
> By default we now output to UART3 as the latest version of ATF outputs
> to this UART. Also UART3 comes out on the LS connector, as opposed to
> UART0 which goes to a unpopulated header.
> 
> As part of this change we also enable CONFIG_BOARD_EARLY_INIT_F and
> call the pinmux configuration code for the UART. Before we were
> relying on ATF having already configured the pin configuration.
> 
> NB: Upstream Linux kernel doesn't yet support UART3, so serial console
> will still be output on UART0 when booting a upstream kernel.
> 
> Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
> Reviewed-by: Simon Glass <sjg@chromium.org>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150928/991742e6/attachment.sig>

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [U-Boot] [U-Boot, v2, 8/8] ARM: hikey: Adjust SDRAM_1_SIZE to 0x3EFFFFFF
  2015-09-10 20:55 ` [U-Boot] [PATCH v2 8/8] ARM: hikey: Adjust SDRAM_1_SIZE to 0x3EFFFFFF Peter Griffin
  2015-09-18  4:04   ` Simon Glass
@ 2015-09-28 21:08   ` Tom Rini
  1 sibling, 0 replies; 24+ messages in thread
From: Tom Rini @ 2015-09-28 21:08 UTC (permalink / raw)
  To: u-boot

On Thu, Sep 10, 2015 at 09:55:18PM +0100, Peter Griffin wrote:

> DRAM region 0x3f000000 - 0x3fffffff is reserved for OP-TEE. Touching
> 0x3f000000 memory location from unsecure world causes the board
> to hang.
> 
> Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
> Reviewed-by: Simon Glass <sjg@chromium.org>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150928/7e2aaaea/attachment.sig>

^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2015-09-28 21:08 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-10 20:55 [U-Boot] [PATCH v2 0/8] arm: hikey: hi6220: Various fixups Peter Griffin
2015-09-10 20:55 ` [U-Boot] [PATCH v2 1/8] ARM: hikey: Update README with various corrections Peter Griffin
2015-09-28 21:07   ` [U-Boot] [U-Boot, v2, " Tom Rini
2015-09-10 20:55 ` [U-Boot] [PATCH v2 2/8] ARM: hikey: Add ATF makefile referenced by README Peter Griffin
2015-09-24 21:09   ` Tom Rini
2015-09-28 21:07   ` [U-Boot] [U-Boot, v2, " Tom Rini
2015-09-10 20:55 ` [U-Boot] [PATCH v2 3/8] ARM: hikey: Use linux/sizes.h for malloc size Peter Griffin
2015-09-18  4:03   ` Simon Glass
2015-09-28 21:07   ` [U-Boot] [U-Boot, v2, " Tom Rini
2015-09-10 20:55 ` [U-Boot] [PATCH v2 4/8] ARM: hi6220: Add UART0 and UART3 base addresses Peter Griffin
2015-09-18  4:03   ` Simon Glass
2015-09-28 21:07   ` [U-Boot] [U-Boot, v2, " Tom Rini
2015-09-10 20:55 ` [U-Boot] [PATCH v2 5/8] ARM: hikey: Remove resetting gd->flags in board_init() Peter Griffin
2015-09-18  4:04   ` Simon Glass
2015-09-28 21:08   ` [U-Boot] [U-Boot, v2, " Tom Rini
2015-09-10 20:55 ` [U-Boot] [PATCH v2 6/8] ARM: hikey: Select DM, DM_GPIO from Kconfig Peter Griffin
2015-09-18  4:04   ` Simon Glass
2015-09-28 21:08   ` [U-Boot] [U-Boot, v2, " Tom Rini
2015-09-10 20:55 ` [U-Boot] [PATCH v2 7/8] ARM: hikey: hi6220: Migrate over to DM_SERIAL and use UART3 by default Peter Griffin
2015-09-18  4:04   ` Simon Glass
2015-09-28 21:08   ` [U-Boot] [U-Boot, v2, " Tom Rini
2015-09-10 20:55 ` [U-Boot] [PATCH v2 8/8] ARM: hikey: Adjust SDRAM_1_SIZE to 0x3EFFFFFF Peter Griffin
2015-09-18  4:04   ` Simon Glass
2015-09-28 21:08   ` [U-Boot] [U-Boot, v2, " Tom Rini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox