Browse Source

Merge tag 'arc-for-2018.11' of git://git.denx.de/u-boot-arc

Just 2 non-functinal changes:

 1. Rename of EMDK to EMSDP so it matches real marketing name
 2. Add essential README for IoTDK
Tom Rini 5 years ago
parent
commit
99431c1c21

+ 3 - 3
arch/arc/Kconfig

@@ -150,8 +150,8 @@ config TARGET_AXS101
 config TARGET_AXS103
 config TARGET_AXS103
 	bool "Support Synopsys Designware SDP board AXS103"
 	bool "Support Synopsys Designware SDP board AXS103"
 
 
-config TARGET_EMDK
-	bool "Synopsys EM Development kit"
+config TARGET_EMSDP
+	bool "Synopsys EM Software Development Platform"
 	select CPU_ARCEM6
 	select CPU_ARCEM6
 
 
 config TARGET_HSDK
 config TARGET_HSDK
@@ -166,7 +166,7 @@ endchoice
 source "board/abilis/tb100/Kconfig"
 source "board/abilis/tb100/Kconfig"
 source "board/synopsys/Kconfig"
 source "board/synopsys/Kconfig"
 source "board/synopsys/axs10x/Kconfig"
 source "board/synopsys/axs10x/Kconfig"
-source "board/synopsys/emdk/Kconfig"
+source "board/synopsys/emsdp/Kconfig"
 source "board/synopsys/hsdk/Kconfig"
 source "board/synopsys/hsdk/Kconfig"
 source "board/synopsys/iot_devkit/Kconfig"
 source "board/synopsys/iot_devkit/Kconfig"
 
 

+ 1 - 1
arch/arc/dts/Makefile

@@ -4,7 +4,7 @@ dtb-$(CONFIG_TARGET_AXS101) +=  axs101.dtb
 dtb-$(CONFIG_TARGET_AXS103) +=  axs103.dtb
 dtb-$(CONFIG_TARGET_AXS103) +=  axs103.dtb
 dtb-$(CONFIG_TARGET_NSIM) +=  nsim.dtb
 dtb-$(CONFIG_TARGET_NSIM) +=  nsim.dtb
 dtb-$(CONFIG_TARGET_TB100) +=  abilis_tb100.dtb
 dtb-$(CONFIG_TARGET_TB100) +=  abilis_tb100.dtb
-dtb-$(CONFIG_TARGET_EMDK) +=  emdk.dtb
+dtb-$(CONFIG_TARGET_EMSDP) +=  emsdp.dtb
 dtb-$(CONFIG_TARGET_HSDK) +=  hsdk.dtb
 dtb-$(CONFIG_TARGET_HSDK) +=  hsdk.dtb
 dtb-$(CONFIG_TARGET_IOT_DEVKIT) +=  iot_devkit.dtb
 dtb-$(CONFIG_TARGET_IOT_DEVKIT) +=  iot_devkit.dtb
 
 

+ 1 - 1
arch/arc/dts/emdk.dts → arch/arc/dts/emsdp.dts

@@ -7,7 +7,7 @@
 #include "skeleton.dtsi"
 #include "skeleton.dtsi"
 
 
 / {
 / {
-	model = "snps,emdk";
+	model = "snps,emsdp";
 
 
 	#address-cells = <1>;
 	#address-cells = <1>;
 	#size-cells = <1>;
 	#size-cells = <1>;

+ 3 - 3
board/synopsys/emdk/Kconfig → board/synopsys/emsdp/Kconfig

@@ -1,12 +1,12 @@
-if TARGET_EMDK
+if TARGET_EMSDP
 
 
 config SYS_BOARD
 config SYS_BOARD
-	default "emdk"
+	default "emsdp"
 
 
 config SYS_VENDOR
 config SYS_VENDOR
 	default "synopsys"
 	default "synopsys"
 
 
 config SYS_CONFIG_NAME
 config SYS_CONFIG_NAME
-	default "emdk"
+	default "emsdp"
 
 
 endif
 endif

+ 3 - 2
board/synopsys/emdk/MAINTAINERS → board/synopsys/emsdp/MAINTAINERS

@@ -1,5 +1,6 @@
 EM DEVELOPMENT KIT BOARD
 EM DEVELOPMENT KIT BOARD
 M:	Alexey Brodkin <abrodkin@synopsys.com>
 M:	Alexey Brodkin <abrodkin@synopsys.com>
 S:	Maintained
 S:	Maintained
-F:	board/synopsys/emdk/
-F:	configs/emdk_defconfig
+F:	arch/arc/dts/emsdp.dts
+F:	board/synopsys/emsdp/
+F:	configs/emsdp_defconfig

+ 1 - 1
board/synopsys/emdk/Makefile → board/synopsys/emsdp/Makefile

@@ -4,4 +4,4 @@
 # SPDX-License-Identifier:	GPL-2.0+
 # SPDX-License-Identifier:	GPL-2.0+
 #
 #
 
 
-obj-y	+= emdk.o
+obj-y	+= emsdp.o

+ 6 - 5
board/synopsys/emdk/README → board/synopsys/emsdp/README

@@ -1,11 +1,12 @@
 ================================================================================
 ================================================================================
-Useful notes on bulding and using of U-Boot on ARC EM Development Kit (AKA EMDK)
+Useful notes on bulding and using of U-Boot on
+ARC EM Software Development Platform (AKA EMSDP)
 ================================================================================
 ================================================================================
 
 
    BOARD OVERVIEW
    BOARD OVERVIEW
 
 
-   The DesignWare ARC EM Development Kit is FPGA-bases platform for rapid
-   software development on the ARC EM family of processors.
+   The DesignWare ARC EM Software Development Platform is FPGA-bases platform
+   for rapid software development on the ARC EM family of processors.
 
 
    Since this board is based on FPGA it's possible to load and use different
    Since this board is based on FPGA it's possible to load and use different
    versions of ARC EM CPUs. U-Boot is built to be run on the simplest
    versions of ARC EM CPUs. U-Boot is built to be run on the simplest
@@ -50,7 +51,7 @@ Useful notes on bulding and using of U-Boot on ARC EM Development Kit (AKA EMDK)
 
 
    1. Configure U-Boot:
    1. Configure U-Boot:
       ------------------------->8----------------------
       ------------------------->8----------------------
-      make emdk_defconfig
+      make emsdp_defconfig
       ------------------------->8----------------------
       ------------------------->8----------------------
 
 
    2. To build Elf file (for example to be used with host debugger via JTAG
    2. To build Elf file (for example to be used with host debugger via JTAG
@@ -69,7 +70,7 @@ Useful notes on bulding and using of U-Boot on ARC EM Development Kit (AKA EMDK)
 
 
    EXECUTING U-BOOT
    EXECUTING U-BOOT
 
 
-   1. The EMDK board is supposed to auto-start U-Boot image stored in ROM on
+   1. The EMSDP board is supposed to auto-start U-Boot image stored in ROM on
       power-on. For that make sure VCCIO DIP-switches are all in "off" state.
       power-on. For that make sure VCCIO DIP-switches are all in "off" state.
 
 
    2. Though it is possible to load U-Boot as a simple Elf file via JTAG right
    2. Though it is possible to load U-Boot as a simple Elf file via JTAG right

+ 9 - 9
board/synopsys/emdk/emdk.c → board/synopsys/emsdp/emsdp.c

@@ -55,7 +55,7 @@ void reset_cpu(ulong addr)
 		; /* loop forever till reset */
 		; /* loop forever till reset */
 }
 }
 
 
-static int do_emdk_rom(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
+static int do_emsdp_rom(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
 {
 {
 	u32 creg_boot = readl((u32 *)(CREG_BASE + CREG_BOOT_OFFSET));
 	u32 creg_boot = readl((u32 *)(CREG_BASE + CREG_BOOT_OFFSET));
 
 
@@ -71,17 +71,17 @@ static int do_emdk_rom(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
 	return CMD_RET_SUCCESS;
 	return CMD_RET_SUCCESS;
 }
 }
 
 
-cmd_tbl_t cmd_emdk[] = {
-	U_BOOT_CMD_MKENT(rom, 2, 0, do_emdk_rom, "", ""),
+cmd_tbl_t cmd_emsdp[] = {
+	U_BOOT_CMD_MKENT(rom, 2, 0, do_emsdp_rom, "", ""),
 };
 };
 
 
-static int do_emdk(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
+static int do_emsdp(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
 {
 {
 	cmd_tbl_t *c;
 	cmd_tbl_t *c;
 
 
-	c = find_cmd_tbl(argv[1], cmd_emdk, ARRAY_SIZE(cmd_emdk));
+	c = find_cmd_tbl(argv[1], cmd_emsdp, ARRAY_SIZE(cmd_emsdp));
 
 
-	/* Strip off leading 'emdk' command */
+	/* Strip off leading 'emsdp' command */
 	argc--;
 	argc--;
 	argv++;
 	argv++;
 
 
@@ -92,8 +92,8 @@ static int do_emdk(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
 }
 }
 
 
 U_BOOT_CMD(
 U_BOOT_CMD(
-	emdk, CONFIG_SYS_MAXARGS, 0, do_emdk,
-	"Synopsys EMDK specific commands",
+	emsdp, CONFIG_SYS_MAXARGS, 0, do_emsdp,
+	"Synopsys EMSDP specific commands",
 	"rom unlock - Unlock non-volatile memory for writing\n"
 	"rom unlock - Unlock non-volatile memory for writing\n"
-	"emdk rom lock - Lock non-volatile memory to prevent writing\n"
+	"emsdp rom lock - Lock non-volatile memory to prevent writing\n"
 );
 );

+ 145 - 0
board/synopsys/iot_devkit/README

@@ -0,0 +1,145 @@
+================================================================================
+Useful notes on bulding and using of U-Boot on
+ARC IoT Development Kit (AKA IoTDK)
+================================================================================
+
+   BOARD OVERVIEW
+
+   The DesignWare ARC IoT Development Kit is a versatile platform that includes
+   the necessary hardware and software to accelerate software development and
+   debugging of sensor fusion, voice recognition and face detection designs.
+
+   The ARC IoT Development Kit includes a silicon implementation of the
+   ARC Data Fusion IP Subsystem running at 144 MHz on SMIC's
+   55-nm ultra-low power process, and a rich set of peripherals commonly used
+   in IoT designs such as USB, UART, SPI, I2C, PWM, SDIO and ADCs.
+
+   The board is shipped with pre-installed U-Boot in non-volatile memory
+   (eFlash) so on power-on user sees U-Boot start header and command line
+   prompt which might be used for U-Boot environment fine-tuning, manual
+   loading and execution of user application binaries etc.
+
+   The board has the following features useful for U-Boot:
+    * On-board 2-channel FTDI TTL-to-USB converter
+      - The first channel is used for serial debug port (which makes it possible
+        to use a serial connection on pretty much any host machine be it
+        Windows, Linux or Mac).
+        On Linux machine typucally FTDI serial port would be /dev/ttyUSB0.
+        There's no HW flow-control and baud-rate is 115200.
+
+      - The second channel is used for built-in Digilent USB JTAG probe.
+        That means no extra hardware is required to access ARC core from a
+        debugger on development host. Both proprietary MetaWare debugger and
+        open source OpenOCD + GDB client are supported.
+
+      - Also with help of this FTDI chip it is possible to reset entire
+        board with help of a special `rff-ftdi-reset` utility, see:
+        https://github.com/foss-for-synopsys-dwc-arc-processors/rff-ftdi-reset
+
+    * Micro SD-card slot
+      - U-Boot expects to see the very first partition on the card formatted as
+        FAT file-system and uses it for keeping its environment in `uboot.env`
+        file. Note uboot.env is not just a text file but it is auto-generated
+        file created by U-Boot on invocation of `saveenv` command.
+        It contains a checksum which makes this saved environment invalid in
+        case of maual modification.
+
+      - There might be more useful files on that first FAT partition like
+        user applications, data files etc.
+
+    * USB OTG connector
+      - U-Boot may access USB mass-storage devices attached to this connector.
+        Note only FAT file-system is supported. It might be used for storing
+        user application binaries as well as micro SD-card mentioned above.
+
+    * The following memories are avaialble on the board:
+      - eFlash:	256 KiB @ 0x0000_0000
+        A non-volatile memory from which ARC core may execute code directly.
+        Still is is not direcly writable, thus this is not an ordinary RAM.
+
+      - ICCM:	256 KiB @ 0x2000_0000
+        Instruction Closely Coupled Memory - fast on-chip memory primary used
+        for code being executed, still data could be placed in this memory too.
+        In that sense it's just a general purpose RAM.
+
+      - SRAM:	128 KiB @ 0x3000_0000
+        On-chip SRAM. From user perspective is the same as ICCM above.
+
+      - DCCM:	128 KiB @ 0x8000_0000
+        Data Closely Coupled Memory is similar to ICCM with a major difference -
+        ARC core cannot execute code from DCCM. So this is very special RAM
+        only suitable for data.
+
+   BUILDING U-BOOT
+
+   1. Configure U-Boot:
+      ------------------------->8----------------------
+      make iot_devkit_defconfig
+      ------------------------->8----------------------
+
+   2. To build Elf file (for example to be used with host debugger via JTAG
+      connection to the target board):
+      ------------------------->8----------------------
+      make mdbtrick
+      ------------------------->8----------------------
+
+      This will produce `u-boot` Elf file.
+
+   3. To build binary image to be put in "ROM":
+      ------------------------->8----------------------
+      make u-boot.bin
+      ------------------------->8----------------------
+
+
+   EXECUTING U-BOOT
+
+   1. The IoTDK board is supposed to auto-start U-Boot image stored in eFlash on
+      power-on. Note it's possible to update that image - follow instructions in
+      user's manual.
+
+   2. Though it is possible to load and start U-Boot as a simple Elf file
+      via JTAG right in ICCM. For that it's required to re-configure U-Boot
+      so it gets linked to ICCM address 0x2000_0000 (remember eFlash is not
+      direcly writable).
+      Run U-Boot's configuration utility with "make menuconfig", go to
+      "Boot images" and change "Text Base" from default 0x00000000 to
+      0x20000000. Exit & save new configuration. Now run "make mdbtrick" to
+      build new Elf.
+
+      2.1. In case of proprietary MetaWare debugger run:
+      ------------------------->8----------------------
+      mdb -digilent u-boot
+      ------------------------->8----------------------
+
+   USING U-BOOT
+
+   Note due to limited memory size it's supposed that user will run binary
+   images of their applications instead of loading Elf files.
+
+   1. To load and start application binary from micro SD-card execute
+      the following commands in U-Boot's shell:
+      ------------------------->8----------------------
+      fatload mmc 0 0x20000000 yourapp.bin
+      go 0x20000000
+      ------------------------->8----------------------
+
+   2. To load and start application binary from USB mass-storage device execute
+      the following commands in U-Boot's shell:
+      ------------------------->8----------------------
+      usb start
+      fatload usb 0x20000000 yourapp.bin
+      go 0x20000000
+      ------------------------->8----------------------
+
+   3. To have a sequence of commands executed on U-Boot start put those
+      commands in "bootcmd" with semicolon between them.
+      For example to get (1) done automatically:
+      ------------------------->8----------------------
+      setenv bootcmd fatload mmc 0 0x20000000 yourapp.bin\; go 0x20000000
+      saveenv
+      ------------------------->8----------------------
+
+   4. To reboot the board just run:
+      ------------------------->8----------------------
+      reset
+      ------------------------->8----------------------

+ 3 - 3
configs/emdk_defconfig → configs/emsdp_defconfig

@@ -1,13 +1,13 @@
 CONFIG_ARC=y
 CONFIG_ARC=y
 CONFIG_ISA_ARCV2=y
 CONFIG_ISA_ARCV2=y
 CONFIG_CPU_ARCEM6=y
 CONFIG_CPU_ARCEM6=y
-CONFIG_TARGET_EMDK=y
+CONFIG_TARGET_EMSDP=y
 CONFIG_SYS_TEXT_BASE=0x00000000
 CONFIG_SYS_TEXT_BASE=0x00000000
 CONFIG_SYS_CLK_FREQ=40000000
 CONFIG_SYS_CLK_FREQ=40000000
 # CONFIG_ARCH_FIXUP_FDT_MEMORY is not set
 # CONFIG_ARCH_FIXUP_FDT_MEMORY is not set
 CONFIG_VERSION_VARIABLE=y
 CONFIG_VERSION_VARIABLE=y
 CONFIG_HUSH_PARSER=y
 CONFIG_HUSH_PARSER=y
-CONFIG_SYS_PROMPT="emdk# "
+CONFIG_SYS_PROMPT="emsdp# "
 # CONFIG_CMD_BOOTD is not set
 # CONFIG_CMD_BOOTD is not set
 # CONFIG_CMD_XIMG is not set
 # CONFIG_CMD_XIMG is not set
 CONFIG_CMD_MMC=y
 CONFIG_CMD_MMC=y
@@ -15,7 +15,7 @@ CONFIG_CMD_CACHE=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FAT=y
 CONFIG_OF_CONTROL=y
 CONFIG_OF_CONTROL=y
 CONFIG_OF_EMBED=y
 CONFIG_OF_EMBED=y
-CONFIG_DEFAULT_DEVICE_TREE="emdk"
+CONFIG_DEFAULT_DEVICE_TREE="emsdp"
 CONFIG_ENV_IS_IN_FAT=y
 CONFIG_ENV_IS_IN_FAT=y
 CONFIG_ENV_FAT_INTERFACE="mmc"
 CONFIG_ENV_FAT_INTERFACE="mmc"
 CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
 CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"

+ 5 - 5
include/configs/emdk.h → include/configs/emsdp.h

@@ -3,8 +3,8 @@
  * Copyright (C) 2018 Synopsys, Inc. All rights reserved.
  * Copyright (C) 2018 Synopsys, Inc. All rights reserved.
  */
  */
 
 
-#ifndef _CONFIG_EMDK_H_
-#define _CONFIG_EMDK_H_
+#ifndef _CONFIG_EMSDP_H_
+#define _CONFIG_EMSDP_H_
 
 
 #include <linux/sizes.h>
 #include <linux/sizes.h>
 
 
@@ -30,11 +30,11 @@
 
 
 #define CONFIG_EXTRA_ENV_SETTINGS \
 #define CONFIG_EXTRA_ENV_SETTINGS \
 	"upgrade_image=u-boot.bin\0" \
 	"upgrade_image=u-boot.bin\0" \
-	"upgrade=emdk rom unlock && " \
+	"upgrade=emsdp rom unlock && " \
 		"fatload mmc 0 ${loadaddr} ${upgrade_image} && " \
 		"fatload mmc 0 ${loadaddr} ${upgrade_image} && " \
 		"cp.b ${loadaddr} 0 ${filesize} && " \
 		"cp.b ${loadaddr} 0 ${filesize} && " \
 		"dcache flush && " \
 		"dcache flush && " \
-		"emdk rom lock\0"
+		"emsdp rom lock\0"
 
 
-#endif /* _CONFIG_EMDK_H_ */
+#endif /* _CONFIG_EMSDP_H_ */