Browse Source

add SPDX license header to all the files with StarFive copyright

MichaelZhuxx 2 years ago
parent
commit
82e631d844
56 changed files with 946 additions and 67 deletions
  1. 1 0
      boot/bootmain.c
  2. 1 0
      boot/start.S
  3. 1 0
      boot/trap.c
  4. 1 0
      build/Makefile
  5. BIN
      build/ddrinit-2133-210607.bin.out
  6. BIN
      build/ddrinit-2133-210607.elf
  7. 1 0
      build/ddrinit.lds
  8. 833 0
      build/ddrinit.map
  9. 1 0
      common/clkgen_ctrl_macro.h
  10. 1 1
      common/comdef.h
  11. 1 0
      common/ctype.c
  12. 1 0
      common/ctype.h
  13. 16 15
      common/ddr_define.h
  14. 1 0
      common/encoding.h
  15. 1 0
      common/errno.h
  16. 1 0
      common/ezGPIO_fullMux_ctrl_macro.h
  17. 1 0
      common/platform.h
  18. 1 0
      common/rstgen_ctrl_macro.h
  19. 1 0
      common/sys.h
  20. 1 0
      common/syscon_iopad_ctrl_macro.h
  21. 1 0
      common/syscon_sysmain_ctrl_macro.h
  22. 1 0
      common/util.c
  23. 1 0
      common/util.h
  24. 1 0
      common/vic_module_reset_clkgen.h
  25. 1 0
      ddrc_cfg/lpddr4_1066_cl20_bl16/orbit_boot_1066.c
  26. 1 0
      ddrc_cfg/lpddr4_1333_cl24_bl16/orbit_boot_1333.c
  27. 1 0
      ddrc_cfg/lpddr4_1600_cl28_bl16/orbit_boot_1600.c
  28. 1 0
      ddrc_cfg/lpddr4_1600_cl28_bl16/orbit_boot_training.c
  29. 1 0
      ddrc_cfg/lpddr4_800_cl14_bl16/orbit_boot_800.c
  30. 1 0
      ddrphy_cfg/lpddr4_1600_cl28_bl16/regconfig_pi_start.c
  31. 16 15
      ddrphy_cfg/lpddr4_1600_cl28_bl16/regconfig_pi_start_2800.c
  32. 16 15
      ddrphy_cfg/lpddr4_1600_cl28_bl16/regconfig_pi_start_3200.c
  33. 1 1
      ddrphy_cfg/memory/jedec_lpddr4_16gb_3200/regconfig_sim_1066_cl20_bl16/regconfig.h.sim_PHY.h
  34. 1 1
      ddrphy_cfg/memory/jedec_lpddr4_16gb_3200/regconfig_sim_1066_cl20_bl16/regconfig.h.sim_PI.h
  35. 1 1
      ddrphy_cfg/memory/jedec_lpddr4_16gb_3200/regconfig_sim_1333_cl24_bl16/regconfig.h.sim_PHY.h
  36. 1 0
      ddrphy_cfg/memory/jedec_lpddr4_16gb_3200/regconfig_sim_1333_cl24_bl16/regconfig.h.sim_PI.h
  37. 1 1
      ddrphy_cfg/memory/jedec_lpddr4_16gb_3200/regconfig_sim_1600_cl28_bl16/regconfig.h.sim_PHY.h
  38. 1 1
      ddrphy_cfg/memory/jedec_lpddr4_16gb_3200/regconfig_sim_1600_cl28_bl16/regconfig.h.sim_PI.h
  39. 1 1
      ddrphy_cfg/memory/jedec_lpddr4_16gb_3200/regconfig_sim_800_cl14_bl16/regconfig.h.sim_PHY.h
  40. 1 0
      ddrphy_cfg/memory/jedec_lpddr4_16gb_3200/regconfig_sim_800_cl14_bl16/regconfig.h.sim_PI.h
  41. 1 0
      ddrphy_cfg/regconfig.h.sim_PHY.c
  42. 1 0
      ddrphy_cfg/regconfig.h.sim_PI.c
  43. 1 0
      gpio/gpio.c
  44. 1 0
      gpio/gpio.h
  45. 16 15
      sdio/sdio.c
  46. 1 0
      spi/spi.c
  47. 1 0
      spi/spi_flash.c
  48. 1 0
      spi/spi_flash.h
  49. 1 0
      spi/spi_probe.c
  50. 1 0
      timer/timer.c
  51. 1 0
      timer/timer.h
  52. 1 0
      uart/cmd.c
  53. 1 0
      uart/cmd.h
  54. 1 0
      uart/uart.c
  55. 1 0
      uart/uart.h
  56. 1 0
      uart/xmodem.h

+ 1 - 0
boot/bootmain.c

@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  bootmain.c

+ 1 - 0
boot/start.S

@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  start.S

+ 1 - 0
boot/trap.c

@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  trap.c

+ 1 - 0
build/Makefile

@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
 # Copyright (c) 2020 StarFiveTech, Inc
 
 # compiler tool chain

BIN
build/ddrinit-2133-210607.bin.out


BIN
build/ddrinit-2133-210607.elf


+ 1 - 0
build/ddrinit.lds

@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /* Copyright (c) 2020 StarFiveTech, Inc */
 
 OUTPUT_ARCH( "riscv" )

+ 833 - 0
build/ddrinit.map

@@ -0,0 +1,833 @@
+Archive member included to satisfy reference by file (symbol)
+
+/home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-lldiv.o)
+                              ../sdio/mmc.o (lldiv)
+/home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-memset.o)
+                              ../common/util.o (memset)
+/home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-strcmp.o)
+                              ../boot/bootmain.o (strcmp)
+/home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-strtol.o)
+                              ../boot/bootmain.o (strtol)
+/home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-ctype_.o)
+                              /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-strtol.o) (_ctype_)
+/home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-errno.o)
+                              /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-strtol.o) (__errno)
+/home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-impure.o)
+                              /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-strtol.o) (_impure_ptr)
+
+Memory Configuration
+
+Name             Origin             Length             Attributes
+ram              0x0000000018080000 0x0000000000030000 xrw
+*default*        0x0000000000000000 0xffffffffffffffff
+
+Linker script and memory map
+
+LOAD ../boot/start.o
+LOAD ../boot/bootmain.o
+LOAD ../boot/trap.o
+LOAD ../uart/uart.o
+LOAD ../uart/cmd.o
+LOAD ../uart/xmodem.o
+LOAD ../uart/crc16.o
+LOAD ../common/util.o
+LOAD ../common/ctype.o
+LOAD ../gpio/gpio.o
+LOAD ../spi/spi.o
+LOAD ../spi/spi_probe.o
+LOAD ../spi/cadence_qspi.o
+LOAD ../spi/spi_flash.o
+LOAD ../spi/cadence_qspi_apb.o
+LOAD ../timer/timer.o
+LOAD ../sdio/bouncebuf.o
+LOAD ../sdio/dw_mmc.o
+LOAD ../sdio/mmc.o
+LOAD ../sdio/mmc_write.o
+LOAD ../sdio/sdio.o
+LOAD ../gpt/gpt.o
+LOAD ../ddrphy_cfg/regconfig.h.sim_PHY.o
+LOAD ../ddrphy_cfg/regconfig.h.sim_PI.o
+LOAD ../crc32/crc32.o
+LOAD ../ddrc_cfg/lpddr4_1066_cl20_bl16/orbit_boot_1066.o
+LOAD ../ddrphy_cfg/lpddr4_1600_cl28_bl16/regconfig_pi_start.o
+LOAD /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a
+LOAD /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a
+LOAD /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a
+START GROUP
+LOAD /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/rv64imafdc/lp64d/libgcc.a
+LOAD /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a
+LOAD /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libgloss_nano.a
+END GROUP
+                0x0000000000001000                __stack_size = DEFINED (__stack_size)?__stack_size:0x1000
+
+.init           0x0000000018080000       0xcc
+ *(SORT_NONE(.init))
+ .init          0x0000000018080000       0xcc ../boot/start.o
+                0x0000000018080000                _start
+
+.text           0x00000000180800cc    0x14212
+                [!provide]                        PROVIDE (_ftext = .)
+ *(.text.unlikely .text.unlikely.*)
+ *(.text.startup .text.startup.*)
+ *(.text .text.*)
+ .text          0x00000000180800cc        0x0 ../boot/start.o
+ .text          0x00000000180800cc      0x87e ../boot/bootmain.o
+                0x00000000180802fc                start2run32
+                0x0000000018080306                updata_flash
+                0x00000000180804ac                boot_from_chiplink
+                0x00000000180805b0                boot_from_uart
+                0x00000000180805b4                boot_from_sdio
+                0x00000000180805d0                boot_from_spi
+                0x00000000180805fe                BootMain
+ .text          0x000000001808094a       0x34 ../boot/trap.o
+                0x000000001808094a                handle_trap
+                0x000000001808096c                trap_entry
+ .text          0x000000001808097e      0x65a ../uart/uart.o
+                0x000000001808097e                __serial_tstc
+                0x000000001808099e                serial_tstc
+                0x00000000180809be                uart_init
+                0x0000000018080a14                _putc
+                0x0000000018080a3e                rlSendString
+                0x0000000018080a74                CtrlBreak
+                0x0000000018080aa4                serial_getc
+                0x0000000018080acc                serial_gets
+                0x0000000018080b8e                _puts
+                0x0000000018080bc4                print_ubyte_hex
+                0x0000000018080c06                serial_nowait_getc
+                0x0000000018080c32                vnprintf
+                0x0000000018080f0a                printk
+                0x0000000018080f2e                _inbyte
+                0x0000000018080fb0                _outbyte
+ .text          0x0000000018080fd8     0x137a ../uart/cmd.o
+                0x0000000018080fd8                CmdHelpProc
+                0x0000000018081060                StdInit
+                0x0000000018081082                CmdInit
+                0x00000000180810ac                ReadString
+                0x000000001808113c                CmdString
+                0x0000000018081158                piteCmdLine
+                0x00000000180811a4                CmdErrorProc
+                0x0000000018081218                U2Hex
+                0x0000000018081278                A2Int
+                0x0000000018081380                RelayProc
+                0x0000000018081856                LoadProc
+                0x0000000018081946                Do32Proc
+                0x00000000180819fc                ShowHexChar
+                0x0000000018081a54                ShowByte
+                0x0000000018081b8e                ShowShort
+                0x0000000018081ccc                ShowLong
+                0x0000000018081e0a                ShowProc
+                0x000000001808223a                PrintIntHex
+                0x0000000018082286                sys_cmd_main_loop
+                0x0000000018082318                sys_cmd_proc
+ .text          0x0000000018082352      0x4d4 ../uart/xmodem.o
+                0x0000000018082352                xmodemReceive
+                0x00000000180825b4                xmodemTransmit
+ .text          0x0000000018082826       0x3c ../uart/crc16.o
+                0x0000000018082826                crc16_ccitt
+ .text          0x0000000018082862      0x120 ../common/util.o
+                0x0000000018082862                sys_memcpy
+                0x000000001808287a                sys_memcmp
+                0x00000000180828a4                _memcpy
+                0x00000000180828c2                sys_memcpy_32
+                0x00000000180828da                sys_memset
+                0x00000000180828e2                sys_memset32
+                0x00000000180828f4                atoi
+ .text          0x0000000018082982        0x0 ../common/ctype.o
+ .text          0x0000000018082982       0xd6 ../gpio/gpio.o
+                0x0000000018082982                gpio_enable
+                0x0000000018082998                gpio_get_val
+                0x00000000180829c4                get_boot_mode
+                0x00000000180829f2                gpio_init
+ .text          0x0000000018082a58       0x52 ../spi/spi.o
+                0x0000000018082a58                spi_register
+                0x0000000018082a68                spi_unregister
+                0x0000000018082a78                spi_setup_slave
+                0x0000000018082a8c                spi_xfer
+ .text          0x0000000018082aaa      0x126 ../spi/spi_probe.o
+                0x0000000018082aaa                spi_flash_probe_nor
+                0x0000000018082b7c                spi_flash_probe
+ .text          0x0000000018082bd0      0x398 ../spi/cadence_qspi.o
+                0x0000000018082d74                cadence_spi4x_setup_slave
+                0x0000000018082f3a                cadence_qspi_init
+ .text          0x0000000018082f68      0xad4 ../spi/spi_flash.o
+                0x0000000018082fca                spi_flash_cmd
+                0x000000001808302a                spi_flash_cmd_read
+                0x0000000018083084                spi_flash_cmd_write
+                0x00000000180830de                spi_flash_cmd_write_enable
+                0x0000000018083100                spi_flash_cmd_write_status_enable
+                0x0000000018083124                spi_flash_cmd_write_disable
+                0x0000000018083144                spi_flash_cmd_read_status
+                0x0000000018083188                spi_flash_cmd_poll_bit
+                0x0000000018083206                spi_flash_cmd_wait_ready
+                0x000000001808320c                spi_flash_cmd_poll_enable
+                0x000000001808328c                spi_flash_cmd_status_poll_enable
+                0x000000001808330c                spi_flash_cmd_wait_enable
+                0x0000000018083390                spi_flash_write_status
+                0x0000000018083420                spi_flash_write_status_bit
+                0x00000000180834a8                spi_flash_protect
+                0x000000001808353c                spi_flash_cmd_erase
+                0x000000001808365a                spi_flash_erase_mode
+                0x0000000018083684                spi_flash_cmd_write_mode
+                0x0000000018083870                spi_flash_read_common
+                0x00000000180838da                spi_flash_cmd_read_fast
+                0x0000000018083966                spi_flash_read_mode
+ .text          0x0000000018083a3c      0x7da ../spi/cadence_qspi_apb.o
+                0x0000000018083ab6                cadence_qspi_apb_controller_enable
+                0x0000000018083ac4                cadence_qspi_apb_controller_disable
+                0x0000000018083ad0                cadence_qspi_apb_readdata_capture
+                0x0000000018083b08                cadence_qspi_apb_config_baudrate_div
+                0x0000000018083b4c                cadence_qspi_apb_set_clk_mode
+                0x0000000018083b78                cadence_qspi_apb_chipselect
+                0x0000000018083bc2                cadence_qspi_apb_delay
+                0x0000000018083be8                cadence_qspi_apb_controller_init
+                0x0000000018083c56                cadence_qspi_apb_command_read
+                0x0000000018083d00                cadence_qspi_apb_command_write
+                0x0000000018083e0c                cadence_qspi_apb_indirect_read_setup
+                0x0000000018083eb6                cadence_qspi_apb_indirect_read_execute
+                0x0000000018084014                cadence_qspi_apb_indirect_write_setup
+                0x00000000180840aa                cadence_qspi_apb_indirect_write_execute
+ .text          0x0000000018084216      0x128 ../timer/timer.o
+                0x0000000018084216                get_ticks
+                0x0000000018084220                get_timer
+                0x000000001808429c                usec_to_tick
+                0x00000000180842b0                udelay
+                0x00000000180842da                mdelay
+                0x000000001808430a                sdelay
+ .text          0x000000001808433e       0x14 ../sdio/bouncebuf.o
+                0x000000001808433e                bounce_buffer_start
+ .text          0x0000000018084352      0x73a ../sdio/dw_mmc.o
+                0x0000000018084a16                add_dwmci
+ .text          0x0000000018084a8c     0x15dc ../sdio/mmc.o
+                0x0000000018084cee                mmc_mode_name
+                0x0000000018084d14                mmc_send_cmd
+                0x0000000018084d1c                mmc_send_status
+                0x000000001808516e                mmc_set_blocklen
+                0x000000001808519a                mmc_set_clock
+                0x00000000180851dc                mmc_create
+                0x0000000018085260                mmc_get_op_cond
+                0x0000000018085434                mmc_start_init
+                0x000000001808545e                mmc_init
+                0x0000000018086062                mmc_set_dsr
+ .text          0x0000000018086068      0x244 ../sdio/mmc_write.o
+                0x0000000018086068                mmc_berase
+                0x0000000018086196                mmc_bwrite
+ .text          0x00000000180862ac      0x392 ../sdio/sdio.o
+                0x00000000180862ac                boot_sdio_init
+                0x00000000180864fe                boot_load_gpt_partition
+ .text          0x000000001808663e       0x5e ../gpt/gpt.o
+                0x000000001808663e                gpt_find_partition_by_guid
+ .text          0x000000001808669c     0x9fb6 ../ddrphy_cfg/regconfig.h.sim_PHY.o
+                0x000000001808669c                regconfig_h_sim_phy
+ .text          0x0000000018090652     0x19ee ../ddrphy_cfg/regconfig.h.sim_PI.o
+                0x0000000018090652                regconfig_h_sim_pi
+ .text          0x0000000018092040       0x98 ../crc32/crc32.o
+                0x0000000018092040                crc32
+                0x00000000180920c4                crc32_buf
+ .text          0x00000000180920d8      0xb36 ../ddrc_cfg/lpddr4_1066_cl20_bl16/orbit_boot_1066.o
+                0x00000000180920d8                orbit_boot
+ .text          0x0000000018092c0e     0x13aa ../ddrphy_cfg/lpddr4_1600_cl28_bl16/regconfig_pi_start.o
+                0x0000000018092c0e                regconfig_pi_start
+ .text          0x0000000018093fb8        0x0 /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-lldiv.o)
+ .text.lldiv    0x0000000018093fb8       0x1e /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-lldiv.o)
+                0x0000000018093fb8                lldiv
+ .text          0x0000000018093fd6       0xaa /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-memset.o)
+                0x0000000018093fd6                memset
+ .text          0x0000000018094080       0xea /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-strcmp.o)
+                0x0000000018094080                strcmp
+ .text          0x000000001809416a        0x0 /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-strtol.o)
+ .text._strtol_l.constprop.0
+                0x000000001809416a      0x142 /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-strtol.o)
+ .text._strtol_r
+                0x00000000180942ac        0x4 /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-strtol.o)
+                0x00000000180942ac                _strtol_r
+ .text.strtol_l
+                0x00000000180942b0       0x12 /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-strtol.o)
+                0x00000000180942b0                strtol_l
+ .text.strtol   0x00000000180942c2       0x12 /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-strtol.o)
+                0x00000000180942c2                strtol
+ .text          0x00000000180942d4        0x0 /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-ctype_.o)
+ .text          0x00000000180942d4        0x0 /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-errno.o)
+ .text.__errno  0x00000000180942d4        0xa /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-errno.o)
+                0x00000000180942d4                __errno
+ .text          0x00000000180942de        0x0 /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-impure.o)
+ *(.gnu.linkonce.t.*)
+                [!provide]                        PROVIDE (__etext = .)
+                [!provide]                        PROVIDE (_etext = .)
+                [!provide]                        PROVIDE (etext = .)
+
+.rodata         0x00000000180942e0     0x11e9
+ *(.rdata)
+ *(.rodata .rodata.*)
+ .rodata.str1.8
+                0x00000000180942e0      0x2d8 ../boot/bootmain.o
+                                        0x2e0 (size before relaxing)
+ .rodata        0x00000000180945b8       0x50 ../boot/bootmain.o
+ .rodata.str1.8
+                0x0000000018094608       0x1b ../boot/trap.o
+ *fill*         0x0000000018094623        0x5 
+ .rodata.str1.8
+                0x0000000018094628        0x4 ../uart/uart.o
+                                          0xb (size before relaxing)
+ *fill*         0x000000001809462c        0x4 
+ .rodata        0x0000000018094630       0x88 ../uart/uart.o
+ .rodata.str1.8
+                0x00000000180946b8      0x33b ../uart/cmd.o
+                                        0x343 (size before relaxing)
+ *fill*         0x00000000180949f3        0x5 
+ .rodata        0x00000000180949f8       0x80 ../uart/cmd.o
+                0x00000000180949f8                CmdHandle
+ .rodata        0x0000000018094a78      0x200 ../uart/crc16.o
+ .rodata        0x0000000018094c78      0x100 ../common/ctype.o
+                0x0000000018094c78                _ctype
+ .rodata.str1.8
+                0x0000000018094d78       0x1f ../spi/spi_probe.o
+ *fill*         0x0000000018094d97        0x1 
+ .rodata        0x0000000018094d98       0x30 ../spi/spi_probe.o
+ .rodata.str1.8
+                0x0000000018094dc8       0x14 ../spi/cadence_qspi_apb.o
+ *fill*         0x0000000018094ddc        0x4 
+ .rodata.str1.8
+                0x0000000018094de0       0xbf ../sdio/dw_mmc.o
+ *fill*         0x0000000018094e9f        0x1 
+ .rodata        0x0000000018094ea0       0x60 ../sdio/dw_mmc.o
+ .rodata.str1.8
+                0x0000000018094f00      0x1f7 ../sdio/mmc.o
+ *fill*         0x00000000180950f7        0x1 
+ .rodata        0x00000000180950f8      0x1b8 ../sdio/mmc.o
+ .rodata.str1.8
+                0x00000000180952b0       0x7b ../sdio/mmc_write.o
+ *fill*         0x000000001809532b        0x5 
+ .rodata.str1.8
+                0x0000000018095330       0x75 ../sdio/sdio.o
+ *fill*         0x00000000180953a5        0x3 
+ .rodata        0x00000000180953a8       0x20 ../gpt/gpt.o
+                0x00000000180953a8                gpt_guid_sifive_kernel
+                0x00000000180953b8                gpt_guid_sifive_uboot
+ .rodata._ctype_
+                0x00000000180953c8      0x101 /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-ctype_.o)
+                0x00000000180953c8                _ctype_
+ *(.gnu.linkonce.r.*)
+
+.eh_frame
+ *(.eh_frame)
+
+.srodata        0x00000000180954d0       0x20
+ *(.srodata.cst16)
+ *(.srodata.cst8)
+ .srodata.cst8  0x00000000180954d0        0x8 ../sdio/mmc.o
+ .srodata.cst8  0x00000000180954d8        0x8 ../sdio/sdio.o
+ .srodata.cst8  0x00000000180954e0        0x8 /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-strcmp.o)
+ *(.srodata.cst4)
+ *(.srodata.cst2)
+ *(.srodata.*)
+ .srodata._global_impure_ptr
+                0x00000000180954e8        0x8 /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-impure.o)
+                0x00000000180954e8                _global_impure_ptr
+
+.rela.dyn       0x00000000180954f0        0x0
+ .rela.init     0x00000000180954f0        0x0 ../boot/start.o
+ .rela.data.impure_data
+                0x00000000180954f0        0x0 ../boot/start.o
+
+.data           0x00000000180954f0       0xb0
+ *(.data .data.* .gnu.linkonce.d.*)
+ .data          0x00000000180954f0        0x0 ../boot/start.o
+ .data          0x00000000180954f0        0x0 ../boot/bootmain.o
+ .data          0x00000000180954f0        0x0 ../boot/trap.o
+ .data          0x00000000180954f0        0x0 ../uart/uart.o
+ .data          0x00000000180954f0        0x0 ../uart/cmd.o
+ .data          0x00000000180954f0        0x0 ../uart/xmodem.o
+ .data          0x00000000180954f0        0x0 ../uart/crc16.o
+ .data          0x00000000180954f0        0x0 ../common/util.o
+ .data          0x00000000180954f0        0x0 ../common/ctype.o
+ .data          0x00000000180954f0        0x0 ../gpio/gpio.o
+ .data          0x00000000180954f0        0x0 ../spi/spi.o
+ .data          0x00000000180954f0        0x0 ../spi/spi_probe.o
+ .data          0x00000000180954f0        0x0 ../spi/cadence_qspi.o
+ .data          0x00000000180954f0        0x0 ../spi/spi_flash.o
+ .data          0x00000000180954f0        0x0 ../spi/cadence_qspi_apb.o
+ .data          0x00000000180954f0        0x0 ../timer/timer.o
+ .data          0x00000000180954f0        0x0 ../sdio/bouncebuf.o
+ .data          0x00000000180954f0        0x0 ../sdio/dw_mmc.o
+ .data          0x00000000180954f0        0x0 ../sdio/mmc.o
+ .data          0x00000000180954f0        0x0 ../sdio/mmc_write.o
+ .data          0x00000000180954f0        0x0 ../sdio/sdio.o
+ .data          0x00000000180954f0        0x0 ../gpt/gpt.o
+ .data          0x00000000180954f0        0x0 ../ddrphy_cfg/regconfig.h.sim_PHY.o
+ .data          0x00000000180954f0        0x0 ../ddrphy_cfg/regconfig.h.sim_PI.o
+ .data          0x00000000180954f0        0x0 ../crc32/crc32.o
+ .data          0x00000000180954f0        0x0 ../ddrc_cfg/lpddr4_1066_cl20_bl16/orbit_boot_1066.o
+ .data          0x00000000180954f0        0x0 ../ddrphy_cfg/lpddr4_1600_cl28_bl16/regconfig_pi_start.o
+ .data          0x00000000180954f0        0x0 /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-lldiv.o)
+ .data          0x00000000180954f0        0x0 /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-memset.o)
+ .data          0x00000000180954f0        0x0 /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-strcmp.o)
+ .data          0x00000000180954f0        0x0 /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-strtol.o)
+ .data          0x00000000180954f0        0x0 /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-ctype_.o)
+ .data          0x00000000180954f0        0x0 /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-errno.o)
+ .data          0x00000000180954f0        0x0 /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-impure.o)
+ .data.impure_data
+                0x00000000180954f0       0xb0 /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-impure.o)
+                0x00000000180955a0                . = ALIGN (0x8)
+                [!provide]                        PROVIDE (__global_pointer$ = (. + 0x800))
+ *(.tohost)
+
+.sdata          0x00000000180955a0       0x28
+ *(.sdata .sdata.* .gnu.linkonce.s.*)
+ .sdata         0x00000000180955a0       0x18 ../uart/cmd.o
+                0x00000000180955a0                Showlength
+                0x00000000180955a8                showMode
+                0x00000000180955ac                gcurCmd
+                0x00000000180955b0                StdHdl
+ .sdata         0x00000000180955b8        0x4 ../sdio/mmc.o
+ *fill*         0x00000000180955bc        0x4 
+ .sdata._impure_ptr
+                0x00000000180955c0        0x8 /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-impure.o)
+                0x00000000180955c0                _impure_ptr
+                0x00000000180954f0                PROVIDE (_data = ADDR (.data))
+                0x00000000180954f0                PROVIDE (_data_lma = LOADADDR (.data))
+                0x00000000180955c8                PROVIDE (_edata = .)
+                0x00000000180955c8                . = ALIGN (0x8)
+                0x00000000180955c8                PROVIDE (_bss_start = .)
+
+.bss            0x00000000180955c8      0x748
+ *(.sbss*)
+ .sbss          0x00000000180955c8        0x4 ../uart/uart.o
+                0x00000000180955c8                uart_id
+ *fill*         0x00000000180955cc        0x4 
+ .sbss          0x00000000180955d0        0x8 ../uart/cmd.o
+                0x00000000180955d0                pCurShow
+ .sbss          0x00000000180955d8        0x8 ../spi/spi.o
+                0x00000000180955d8                operations
+ .sbss          0x00000000180955e0        0x4 ../spi/spi_probe.o
+ *(.gnu.linkonce.sb.*)
+ *(.bss .bss.*)
+ .bss           0x00000000180955e4        0x0 ../boot/start.o
+ .bss           0x00000000180955e4        0x0 ../boot/bootmain.o
+ .bss           0x00000000180955e4        0x0 ../boot/trap.o
+ .bss           0x00000000180955e4        0x0 ../uart/uart.o
+ .bss           0x00000000180955e4        0x0 ../uart/cmd.o
+ .bss           0x00000000180955e4        0x0 ../uart/xmodem.o
+ .bss           0x00000000180955e4        0x0 ../uart/crc16.o
+ .bss           0x00000000180955e4        0x0 ../common/util.o
+ .bss           0x00000000180955e4        0x0 ../common/ctype.o
+ .bss           0x00000000180955e4        0x0 ../gpio/gpio.o
+ .bss           0x00000000180955e4        0x0 ../spi/spi.o
+ *fill*         0x00000000180955e4        0x4 
+ .bss           0x00000000180955e8       0x38 ../spi/spi_probe.o
+ .bss           0x0000000018095620       0xb0 ../spi/cadence_qspi.o
+                0x0000000018095620                spi_priv
+                0x0000000018095668                cadence_plat
+                0x00000000180956a8                vic_spi_slave
+                0x00000000180956c0                cadence_spi4x_func
+ .bss           0x00000000180956d0        0x0 ../spi/spi_flash.o
+ .bss           0x00000000180956d0        0x0 ../spi/cadence_qspi_apb.o
+ .bss           0x00000000180956d0        0x0 ../timer/timer.o
+ .bss           0x00000000180956d0        0x0 ../sdio/bouncebuf.o
+ .bss           0x00000000180956d0        0x0 ../sdio/dw_mmc.o
+ .bss           0x00000000180956d0        0x0 ../sdio/mmc.o
+ .bss           0x00000000180956d0        0x0 ../sdio/mmc_write.o
+ .bss           0x00000000180956d0      0x240 ../sdio/sdio.o
+                0x00000000180956d0                local_host0
+                0x0000000018095760                local_mmc0
+ .bss           0x0000000018095910        0x0 ../gpt/gpt.o
+ .bss           0x0000000018095910        0x0 ../ddrphy_cfg/regconfig.h.sim_PHY.o
+ .bss           0x0000000018095910        0x0 ../ddrphy_cfg/regconfig.h.sim_PI.o
+ .bss           0x0000000018095910      0x400 ../crc32/crc32.o
+ .bss           0x0000000018095d10        0x0 ../ddrc_cfg/lpddr4_1066_cl20_bl16/orbit_boot_1066.o
+ .bss           0x0000000018095d10        0x0 ../ddrphy_cfg/lpddr4_1600_cl28_bl16/regconfig_pi_start.o
+ .bss           0x0000000018095d10        0x0 /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-lldiv.o)
+ .bss           0x0000000018095d10        0x0 /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-memset.o)
+ .bss           0x0000000018095d10        0x0 /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-strcmp.o)
+ .bss           0x0000000018095d10        0x0 /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-strtol.o)
+ .bss           0x0000000018095d10        0x0 /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-ctype_.o)
+ .bss           0x0000000018095d10        0x0 /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-errno.o)
+ .bss           0x0000000018095d10        0x0 /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-impure.o)
+ *(.gnu.linkonce.b.*)
+ *(COMMON)
+                0x0000000018095d10                . = ALIGN (0x8)
+                [!provide]                        PROVIDE (_ebss = .)
+                [!provide]                        PROVIDE (_end = .)
+                0x0000000018095d10                PROVIDE (_bss_end = .)
+                0x0000000018097d70                PROVIDE (_sp = ALIGN ((MIN ((ORIGIN (ram) + LENGTH (ram)), (_bss_end + 0x2064)) - 0x7), 0x8))
+                [!provide]                        PROVIDE (_heap_end = (_sp - 0x100))
+
+.stack          0x0000000018095d10        0x0
+                0x0000000000000001                ASSERT ((_sp >= (_bss_end + 0x1000)), Error: No room left for the heap and stack)
+OUTPUT(ddrinit-2133-210607.elf elf64-littleriscv)
+
+.riscv.attributes
+                0x0000000000000000       0x39
+ .riscv.attributes
+                0x0000000000000000       0x37 ../boot/start.o
+ .riscv.attributes
+                0x0000000000000037       0x39 ../boot/bootmain.o
+ .riscv.attributes
+                0x0000000000000070       0x39 ../boot/trap.o
+ .riscv.attributes
+                0x00000000000000a9       0x35 ../uart/uart.o
+ .riscv.attributes
+                0x00000000000000de       0x35 ../uart/cmd.o
+ .riscv.attributes
+                0x0000000000000113       0x35 ../uart/xmodem.o
+ .riscv.attributes
+                0x0000000000000148       0x35 ../uart/crc16.o
+ .riscv.attributes
+                0x000000000000017d       0x35 ../common/util.o
+ .riscv.attributes
+                0x00000000000001b2       0x35 ../common/ctype.o
+ .riscv.attributes
+                0x00000000000001e7       0x35 ../gpio/gpio.o
+ .riscv.attributes
+                0x000000000000021c       0x35 ../spi/spi.o
+ .riscv.attributes
+                0x0000000000000251       0x35 ../spi/spi_probe.o
+ .riscv.attributes
+                0x0000000000000286       0x35 ../spi/cadence_qspi.o
+ .riscv.attributes
+                0x00000000000002bb       0x35 ../spi/spi_flash.o
+ .riscv.attributes
+                0x00000000000002f0       0x35 ../spi/cadence_qspi_apb.o
+ .riscv.attributes
+                0x0000000000000325       0x35 ../timer/timer.o
+ .riscv.attributes
+                0x000000000000035a       0x35 ../sdio/bouncebuf.o
+ .riscv.attributes
+                0x000000000000038f       0x35 ../sdio/dw_mmc.o
+ .riscv.attributes
+                0x00000000000003c4       0x35 ../sdio/mmc.o
+ .riscv.attributes
+                0x00000000000003f9       0x35 ../sdio/mmc_write.o
+ .riscv.attributes
+                0x000000000000042e       0x35 ../sdio/sdio.o
+ .riscv.attributes
+                0x0000000000000463       0x35 ../gpt/gpt.o
+ .riscv.attributes
+                0x0000000000000498       0x35 ../ddrphy_cfg/regconfig.h.sim_PHY.o
+ .riscv.attributes
+                0x00000000000004cd       0x35 ../ddrphy_cfg/regconfig.h.sim_PI.o
+ .riscv.attributes
+                0x0000000000000502       0x35 ../crc32/crc32.o
+ .riscv.attributes
+                0x0000000000000537       0x35 ../ddrc_cfg/lpddr4_1066_cl20_bl16/orbit_boot_1066.o
+ .riscv.attributes
+                0x000000000000056c       0x35 ../ddrphy_cfg/lpddr4_1600_cl28_bl16/regconfig_pi_start.o
+ .riscv.attributes
+                0x00000000000005a1       0x35 /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-lldiv.o)
+ .riscv.attributes
+                0x00000000000005d6       0x33 /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-memset.o)
+ .riscv.attributes
+                0x0000000000000609       0x33 /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-strcmp.o)
+ .riscv.attributes
+                0x000000000000063c       0x35 /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-strtol.o)
+ .riscv.attributes
+                0x0000000000000671       0x35 /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-ctype_.o)
+ .riscv.attributes
+                0x00000000000006a6       0x35 /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-errno.o)
+ .riscv.attributes
+                0x00000000000006db       0x35 /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-impure.o)
+
+.comment        0x0000000000000000       0x30
+ .comment       0x0000000000000000       0x30 ../boot/bootmain.o
+                                         0x31 (size before relaxing)
+ .comment       0x0000000000000030       0x31 ../boot/trap.o
+ .comment       0x0000000000000030       0x31 ../uart/uart.o
+ .comment       0x0000000000000030       0x31 ../uart/cmd.o
+ .comment       0x0000000000000030       0x31 ../uart/xmodem.o
+ .comment       0x0000000000000030       0x31 ../uart/crc16.o
+ .comment       0x0000000000000030       0x31 ../common/util.o
+ .comment       0x0000000000000030       0x31 ../common/ctype.o
+ .comment       0x0000000000000030       0x31 ../gpio/gpio.o
+ .comment       0x0000000000000030       0x31 ../spi/spi.o
+ .comment       0x0000000000000030       0x31 ../spi/spi_probe.o
+ .comment       0x0000000000000030       0x31 ../spi/cadence_qspi.o
+ .comment       0x0000000000000030       0x31 ../spi/spi_flash.o
+ .comment       0x0000000000000030       0x31 ../spi/cadence_qspi_apb.o
+ .comment       0x0000000000000030       0x31 ../timer/timer.o
+ .comment       0x0000000000000030       0x31 ../sdio/bouncebuf.o
+ .comment       0x0000000000000030       0x31 ../sdio/dw_mmc.o
+ .comment       0x0000000000000030       0x31 ../sdio/mmc.o
+ .comment       0x0000000000000030       0x31 ../sdio/mmc_write.o
+ .comment       0x0000000000000030       0x31 ../sdio/sdio.o
+ .comment       0x0000000000000030       0x31 ../gpt/gpt.o
+ .comment       0x0000000000000030       0x31 ../ddrphy_cfg/regconfig.h.sim_PHY.o
+ .comment       0x0000000000000030       0x31 ../ddrphy_cfg/regconfig.h.sim_PI.o
+ .comment       0x0000000000000030       0x31 ../crc32/crc32.o
+ .comment       0x0000000000000030       0x31 ../ddrc_cfg/lpddr4_1066_cl20_bl16/orbit_boot_1066.o
+ .comment       0x0000000000000030       0x31 ../ddrphy_cfg/lpddr4_1600_cl28_bl16/regconfig_pi_start.o
+ .comment       0x0000000000000030       0x31 /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-lldiv.o)
+ .comment       0x0000000000000030       0x31 /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-strtol.o)
+ .comment       0x0000000000000030       0x31 /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-ctype_.o)
+ .comment       0x0000000000000030       0x31 /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-errno.o)
+ .comment       0x0000000000000030       0x31 /home/michael/work/toolchain/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/rv64imafdc/lp64d/libc_nano.a(lib_a-impure.o)
+
+.debug_line     0x0000000000000000    0x28dba
+ .debug_line    0x0000000000000000      0x16a ../boot/start.o
+ .debug_line    0x000000000000016a     0x1418 ../boot/bootmain.o
+ .debug_line    0x0000000000001582      0x105 ../boot/trap.o
+ .debug_line    0x0000000000001687     0x178f ../uart/uart.o
+ .debug_line    0x0000000000002e16     0x36a2 ../uart/cmd.o
+ .debug_line    0x00000000000064b8      0xa71 ../uart/xmodem.o
+ .debug_line    0x0000000000006f29      0x138 ../uart/crc16.o
+ .debug_line    0x0000000000007061      0x497 ../common/util.o
+ .debug_line    0x00000000000074f8       0x3d ../common/ctype.o
+ .debug_line    0x0000000000007535      0x3b6 ../gpio/gpio.o
+ .debug_line    0x00000000000078eb      0x197 ../spi/spi.o
+ .debug_line    0x0000000000007a82      0x3a4 ../spi/spi_probe.o
+ .debug_line    0x0000000000007e26      0x8b2 ../spi/cadence_qspi.o
+ .debug_line    0x00000000000086d8     0x1d4b ../spi/spi_flash.o
+ .debug_line    0x000000000000a423     0x2076 ../spi/cadence_qspi_apb.o
+ .debug_line    0x000000000000c499      0x50a ../timer/timer.o
+ .debug_line    0x000000000000c9a3       0xda ../sdio/bouncebuf.o
+ .debug_line    0x000000000000ca7d     0x1c09 ../sdio/dw_mmc.o
+ .debug_line    0x000000000000e686     0x463b ../sdio/mmc.o
+ .debug_line    0x0000000000012cc1      0x6e4 ../sdio/mmc_write.o
+ .debug_line    0x00000000000133a5      0x882 ../sdio/sdio.o
+ .debug_line    0x0000000000013c27      0x14a ../gpt/gpt.o
+ .debug_line    0x0000000000013d71     0xee46 ../ddrphy_cfg/regconfig.h.sim_PHY.o
+ .debug_line    0x0000000000022bb7     0x2148 ../ddrphy_cfg/regconfig.h.sim_PI.o
+ .debug_line    0x0000000000024cff      0x337 ../crc32/crc32.o
+ .debug_line    0x0000000000025036     0x1552 ../ddrc_cfg/lpddr4_1066_cl20_bl16/orbit_boot_1066.o
+ .debug_line    0x0000000000026588     0x2832 ../ddrphy_cfg/lpddr4_1600_cl28_bl16/regconfig_pi_start.o
+
+.debug_info     0x0000000000000000    0x16c61
+ .debug_info    0x0000000000000000       0x2e ../boot/start.o
+ .debug_info    0x000000000000002e     0x1f05 ../boot/bootmain.o
+ .debug_info    0x0000000000001f33      0x1d6 ../boot/trap.o
+ .debug_info    0x0000000000002109     0x143d ../uart/uart.o
+ .debug_info    0x0000000000003546     0x1df7 ../uart/cmd.o
+ .debug_info    0x000000000000533d      0xb2a ../uart/xmodem.o
+ .debug_info    0x0000000000005e67       0xda ../uart/crc16.o
+ .debug_info    0x0000000000005f41      0x3cb ../common/util.o
+ .debug_info    0x000000000000630c       0x78 ../common/ctype.o
+ .debug_info    0x0000000000006384      0x699 ../gpio/gpio.o
+ .debug_info    0x0000000000006a1d      0x318 ../spi/spi.o
+ .debug_info    0x0000000000006d35      0x55e ../spi/spi_probe.o
+ .debug_info    0x0000000000007293      0xbe3 ../spi/cadence_qspi.o
+ .debug_info    0x0000000000007e76     0x3110 ../spi/spi_flash.o
+ .debug_info    0x000000000000af86     0x20bf ../spi/cadence_qspi_apb.o
+ .debug_info    0x000000000000d045      0x61d ../timer/timer.o
+ .debug_info    0x000000000000d662      0x139 ../sdio/bouncebuf.o
+ .debug_info    0x000000000000d79b     0x2acf ../sdio/dw_mmc.o
+ .debug_info    0x000000000001026a     0x394a ../sdio/mmc.o
+ .debug_info    0x0000000000013bb4      0xe33 ../sdio/mmc_write.o
+ .debug_info    0x00000000000149e7     0x16e1 ../sdio/sdio.o
+ .debug_info    0x00000000000160c8      0x388 ../gpt/gpt.o
+ .debug_info    0x0000000000016450       0xe8 ../ddrphy_cfg/regconfig.h.sim_PHY.o
+ .debug_info    0x0000000000016538       0xd0 ../ddrphy_cfg/regconfig.h.sim_PI.o
+ .debug_info    0x0000000000016608      0x22c ../crc32/crc32.o
+ .debug_info    0x0000000000016834      0x33d ../ddrc_cfg/lpddr4_1066_cl20_bl16/orbit_boot_1066.o
+ .debug_info    0x0000000000016b71       0xf0 ../ddrphy_cfg/lpddr4_1600_cl28_bl16/regconfig_pi_start.o
+
+.debug_abbrev   0x0000000000000000     0x3bc9
+ .debug_abbrev  0x0000000000000000       0x14 ../boot/start.o
+ .debug_abbrev  0x0000000000000014      0x4cc ../boot/bootmain.o
+ .debug_abbrev  0x00000000000004e0      0x10a ../boot/trap.o
+ .debug_abbrev  0x00000000000005ea      0x3d3 ../uart/uart.o
+ .debug_abbrev  0x00000000000009bd      0x3e6 ../uart/cmd.o
+ .debug_abbrev  0x0000000000000da3      0x229 ../uart/xmodem.o
+ .debug_abbrev  0x0000000000000fcc       0xb3 ../uart/crc16.o
+ .debug_abbrev  0x000000000000107f      0x1a1 ../common/util.o
+ .debug_abbrev  0x0000000000001220       0x5d ../common/ctype.o
+ .debug_abbrev  0x000000000000127d      0x1d6 ../gpio/gpio.o
+ .debug_abbrev  0x0000000000001453      0x164 ../spi/spi.o
+ .debug_abbrev  0x00000000000015b7      0x219 ../spi/spi_probe.o
+ .debug_abbrev  0x00000000000017d0      0x2cd ../spi/cadence_qspi.o
+ .debug_abbrev  0x0000000000001a9d      0x3ef ../spi/spi_flash.o
+ .debug_abbrev  0x0000000000001e8c      0x398 ../spi/cadence_qspi_apb.o
+ .debug_abbrev  0x0000000000002224      0x24b ../timer/timer.o
+ .debug_abbrev  0x000000000000246f       0xdd ../sdio/bouncebuf.o
+ .debug_abbrev  0x000000000000254c      0x501 ../sdio/dw_mmc.o
+ .debug_abbrev  0x0000000000002a4d      0x5b8 ../sdio/mmc.o
+ .debug_abbrev  0x0000000000003005      0x2bd ../sdio/mmc_write.o
+ .debug_abbrev  0x00000000000032c2      0x3d3 ../sdio/sdio.o
+ .debug_abbrev  0x0000000000003695      0x14d ../gpt/gpt.o
+ .debug_abbrev  0x00000000000037e2       0x84 ../ddrphy_cfg/regconfig.h.sim_PHY.o
+ .debug_abbrev  0x0000000000003866       0x73 ../ddrphy_cfg/regconfig.h.sim_PI.o
+ .debug_abbrev  0x00000000000038d9      0x184 ../crc32/crc32.o
+ .debug_abbrev  0x0000000000003a5d       0xe8 ../ddrc_cfg/lpddr4_1066_cl20_bl16/orbit_boot_1066.o
+ .debug_abbrev  0x0000000000003b45       0x84 ../ddrphy_cfg/lpddr4_1600_cl28_bl16/regconfig_pi_start.o
+
+.debug_aranges  0x0000000000000000      0x500
+ .debug_aranges
+                0x0000000000000000       0x30 ../boot/start.o
+ .debug_aranges
+                0x0000000000000030       0x30 ../boot/bootmain.o
+ .debug_aranges
+                0x0000000000000060       0x30 ../boot/trap.o
+ .debug_aranges
+                0x0000000000000090       0x30 ../uart/uart.o
+ .debug_aranges
+                0x00000000000000c0       0x30 ../uart/cmd.o
+ .debug_aranges
+                0x00000000000000f0       0x30 ../uart/xmodem.o
+ .debug_aranges
+                0x0000000000000120       0x30 ../uart/crc16.o
+ .debug_aranges
+                0x0000000000000150       0x30 ../common/util.o
+ .debug_aranges
+                0x0000000000000180       0x20 ../common/ctype.o
+ .debug_aranges
+                0x00000000000001a0       0x30 ../gpio/gpio.o
+ .debug_aranges
+                0x00000000000001d0       0x30 ../spi/spi.o
+ .debug_aranges
+                0x0000000000000200       0x30 ../spi/spi_probe.o
+ .debug_aranges
+                0x0000000000000230       0x30 ../spi/cadence_qspi.o
+ .debug_aranges
+                0x0000000000000260       0x30 ../spi/spi_flash.o
+ .debug_aranges
+                0x0000000000000290       0x30 ../spi/cadence_qspi_apb.o
+ .debug_aranges
+                0x00000000000002c0       0x30 ../timer/timer.o
+ .debug_aranges
+                0x00000000000002f0       0x30 ../sdio/bouncebuf.o
+ .debug_aranges
+                0x0000000000000320       0x30 ../sdio/dw_mmc.o
+ .debug_aranges
+                0x0000000000000350       0x30 ../sdio/mmc.o
+ .debug_aranges
+                0x0000000000000380       0x30 ../sdio/mmc_write.o
+ .debug_aranges
+                0x00000000000003b0       0x30 ../sdio/sdio.o
+ .debug_aranges
+                0x00000000000003e0       0x30 ../gpt/gpt.o
+ .debug_aranges
+                0x0000000000000410       0x30 ../ddrphy_cfg/regconfig.h.sim_PHY.o
+ .debug_aranges
+                0x0000000000000440       0x30 ../ddrphy_cfg/regconfig.h.sim_PI.o
+ .debug_aranges
+                0x0000000000000470       0x30 ../crc32/crc32.o
+ .debug_aranges
+                0x00000000000004a0       0x30 ../ddrc_cfg/lpddr4_1066_cl20_bl16/orbit_boot_1066.o
+ .debug_aranges
+                0x00000000000004d0       0x30 ../ddrphy_cfg/lpddr4_1600_cl28_bl16/regconfig_pi_start.o
+
+.debug_str      0x0000000000000000     0x23b8
+ .debug_str     0x0000000000000000       0x54 ../boot/start.o
+ .debug_str     0x0000000000000054      0x440 ../boot/bootmain.o
+                                        0x57d (size before relaxing)
+ .debug_str     0x0000000000000494       0x42 ../boot/trap.o
+                                        0x13b (size before relaxing)
+ .debug_str     0x00000000000004d6      0x11b ../uart/uart.o
+                                        0x285 (size before relaxing)
+ .debug_str     0x00000000000005f1      0x229 ../uart/cmd.o
+                                        0x3a6 (size before relaxing)
+ .debug_str     0x000000000000081a       0xb2 ../uart/xmodem.o
+                                        0x19d (size before relaxing)
+ .debug_str     0x00000000000008cc       0x21 ../uart/crc16.o
+                                         0xe0 (size before relaxing)
+ .debug_str     0x00000000000008ed       0x78 ../common/util.o
+                                        0x19f (size before relaxing)
+ .debug_str     0x0000000000000965       0x12 ../common/ctype.o
+                                         0xc7 (size before relaxing)
+ .debug_str     0x0000000000000977       0x58 ../gpio/gpio.o
+                                        0x1b0 (size before relaxing)
+ .debug_str     0x00000000000009cf       0x74 ../spi/spi.o
+                                        0x1ae (size before relaxing)
+ .debug_str     0x0000000000000a43       0xe1 ../spi/spi_probe.o
+                                        0x27f (size before relaxing)
+ .debug_str     0x0000000000000b24      0x392 ../spi/cadence_qspi.o
+                                        0x565 (size before relaxing)
+ .debug_str     0x0000000000000eb6      0x2b3 ../spi/spi_flash.o
+                                        0x472 (size before relaxing)
+ .debug_str     0x0000000000001169      0x25f ../spi/cadence_qspi_apb.o
+                                        0x619 (size before relaxing)
+ .debug_str     0x00000000000013c8       0x8a ../timer/timer.o
+                                        0x1ac (size before relaxing)
+ .debug_str     0x0000000000001452       0x4e ../sdio/bouncebuf.o
+                                        0x151 (size before relaxing)
+ .debug_str     0x00000000000014a0      0x695 ../sdio/dw_mmc.o
+                                        0x8d3 (size before relaxing)
+ .debug_str     0x0000000000001b35      0x45c ../sdio/mmc.o
+                                        0xb3c (size before relaxing)
+ .debug_str     0x0000000000001f91       0x8a ../sdio/mmc_write.o
+                                        0x735 (size before relaxing)
+ .debug_str     0x000000000000201b      0x213 ../sdio/sdio.o
+                                        0x96a (size before relaxing)
+ .debug_str     0x000000000000222e       0x75 ../gpt/gpt.o
+                                        0x300 (size before relaxing)
+ .debug_str     0x00000000000022a3       0x24 ../ddrphy_cfg/regconfig.h.sim_PHY.o
+                                        0x170 (size before relaxing)
+ .debug_str     0x00000000000022c7       0x23 ../ddrphy_cfg/regconfig.h.sim_PI.o
+                                        0x16e (size before relaxing)
+ .debug_str     0x00000000000022ea       0x61 ../crc32/crc32.o
+                                        0x18c (size before relaxing)
+ .debug_str     0x000000000000234b       0x34 ../ddrc_cfg/lpddr4_1066_cl20_bl16/orbit_boot_1066.o
+                                        0x1ad (size before relaxing)
+ .debug_str     0x000000000000237f       0x39 ../ddrphy_cfg/lpddr4_1600_cl28_bl16/regconfig_pi_start.o
+                                        0x18c (size before relaxing)
+
+.debug_loc      0x0000000000000000    0x1e10a
+ .debug_loc     0x0000000000000000     0x17b8 ../boot/bootmain.o
+ .debug_loc     0x00000000000017b8       0xfe ../boot/trap.o
+ .debug_loc     0x00000000000018b6     0x1d02 ../uart/uart.o
+ .debug_loc     0x00000000000035b8     0x41f8 ../uart/cmd.o
+ .debug_loc     0x00000000000077b0      0xc27 ../uart/xmodem.o
+ .debug_loc     0x00000000000083d7      0x106 ../uart/crc16.o
+ .debug_loc     0x00000000000084dd      0x70d ../common/util.o
+ .debug_loc     0x0000000000008bea      0x7b4 ../gpio/gpio.o
+ .debug_loc     0x000000000000939e      0x454 ../spi/spi.o
+ .debug_loc     0x00000000000097f2      0x411 ../spi/spi_probe.o
+ .debug_loc     0x0000000000009c03      0xb32 ../spi/cadence_qspi.o
+ .debug_loc     0x000000000000a735     0x5d16 ../spi/spi_flash.o
+ .debug_loc     0x000000000001044b     0x3317 ../spi/cadence_qspi_apb.o
+ .debug_loc     0x0000000000013762      0x59d ../timer/timer.o
+ .debug_loc     0x0000000000013cff       0x39 ../sdio/bouncebuf.o
+ .debug_loc     0x0000000000013d38     0x2f8b ../sdio/dw_mmc.o
+ .debug_loc     0x0000000000016cc3     0x491d ../sdio/mmc.o
+ .debug_loc     0x000000000001b5e0      0x6b5 ../sdio/mmc_write.o
+ .debug_loc     0x000000000001bc95      0xc56 ../sdio/sdio.o
+ .debug_loc     0x000000000001c8eb      0x211 ../gpt/gpt.o
+ .debug_loc     0x000000000001cafc       0xab ../ddrphy_cfg/regconfig.h.sim_PHY.o
+ .debug_loc     0x000000000001cba7       0xab ../ddrphy_cfg/regconfig.h.sim_PI.o
+ .debug_loc     0x000000000001cc52      0x1ed ../crc32/crc32.o
+ .debug_loc     0x000000000001ce3f      0x52f ../ddrc_cfg/lpddr4_1066_cl20_bl16/orbit_boot_1066.o
+ .debug_loc     0x000000000001d36e      0xd9c ../ddrphy_cfg/lpddr4_1600_cl28_bl16/regconfig_pi_start.o
+
+.debug_ranges   0x0000000000000000     0x6e60
+ .debug_ranges  0x0000000000000000      0x5e0 ../boot/bootmain.o
+ .debug_ranges  0x00000000000005e0      0xa60 ../uart/uart.o
+ .debug_ranges  0x0000000000001040      0x6b0 ../uart/cmd.o
+ .debug_ranges  0x00000000000016f0      0x3e0 ../uart/xmodem.o
+ .debug_ranges  0x0000000000001ad0       0x60 ../common/util.o
+ .debug_ranges  0x0000000000001b30      0x160 ../gpio/gpio.o
+ .debug_ranges  0x0000000000001c90       0x50 ../spi/cadence_qspi.o
+ .debug_ranges  0x0000000000001ce0     0x12e0 ../spi/spi_flash.o
+ .debug_ranges  0x0000000000002fc0      0xa90 ../spi/cadence_qspi_apb.o
+ .debug_ranges  0x0000000000003a50      0x1a0 ../timer/timer.o
+ .debug_ranges  0x0000000000003bf0       0x30 ../sdio/bouncebuf.o
+ .debug_ranges  0x0000000000003c20      0xcd0 ../sdio/dw_mmc.o
+ .debug_ranges  0x00000000000048f0     0x1af0 ../sdio/mmc.o
+ .debug_ranges  0x00000000000063e0      0x130 ../sdio/mmc_write.o
+ .debug_ranges  0x0000000000006510      0x680 ../sdio/sdio.o
+ .debug_ranges  0x0000000000006b90       0x80 ../gpt/gpt.o
+ .debug_ranges  0x0000000000006c10       0xd0 ../crc32/crc32.o
+ .debug_ranges  0x0000000000006ce0      0x180 ../ddrc_cfg/lpddr4_1066_cl20_bl16/orbit_boot_1066.o
+
+.debug_frame    0x0000000000000000     0x1e30
+ .debug_frame   0x0000000000000000      0x290 ../boot/bootmain.o
+ .debug_frame   0x0000000000000290       0x50 ../boot/trap.o
+ .debug_frame   0x00000000000002e0      0x240 ../uart/uart.o
+ .debug_frame   0x0000000000000520      0x480 ../uart/cmd.o
+ .debug_frame   0x00000000000009a0       0xc8 ../uart/xmodem.o
+ .debug_frame   0x0000000000000a68       0x28 ../uart/crc16.o
+ .debug_frame   0x0000000000000a90       0xb8 ../common/util.o
+ .debug_frame   0x0000000000000b48       0x70 ../gpio/gpio.o
+ .debug_frame   0x0000000000000bb8       0x70 ../spi/spi.o
+ .debug_frame   0x0000000000000c28       0x60 ../spi/spi_probe.o
+ .debug_frame   0x0000000000000c88      0x108 ../spi/cadence_qspi.o
+ .debug_frame   0x0000000000000d90      0x530 ../spi/spi_flash.o
+ .debug_frame   0x00000000000012c0      0x268 ../spi/cadence_qspi_apb.o
+ .debug_frame   0x0000000000001528       0xa0 ../timer/timer.o
+ .debug_frame   0x00000000000015c8       0x28 ../sdio/bouncebuf.o
+ .debug_frame   0x00000000000015f0      0x148 ../sdio/dw_mmc.o
+ .debug_frame   0x0000000000001738      0x398 ../sdio/mmc.o
+ .debug_frame   0x0000000000001ad0       0xc0 ../sdio/mmc_write.o
+ .debug_frame   0x0000000000001b90       0x90 ../sdio/sdio.o
+ .debug_frame   0x0000000000001c20       0x38 ../gpt/gpt.o
+ .debug_frame   0x0000000000001c58       0x70 ../ddrphy_cfg/regconfig.h.sim_PHY.o
+ .debug_frame   0x0000000000001cc8       0x40 ../ddrphy_cfg/regconfig.h.sim_PI.o
+ .debug_frame   0x0000000000001d08       0x50 ../crc32/crc32.o
+ .debug_frame   0x0000000000001d58       0x70 ../ddrc_cfg/lpddr4_1066_cl20_bl16/orbit_boot_1066.o
+ .debug_frame   0x0000000000001dc8       0x68 ../ddrphy_cfg/lpddr4_1600_cl28_bl16/regconfig_pi_start.o

+ 1 - 0
common/clkgen_ctrl_macro.h

@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  clkgen_ctrl_macro.h

+ 1 - 1
common/comdef.h

@@ -1,4 +1,4 @@
-
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  comdef.h

+ 1 - 0
common/ctype.c

@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  ctype.c

+ 1 - 0
common/ctype.h

@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  ctype.h

+ 16 - 15
common/ddr_define.h

@@ -1,20 +1,21 @@
-/**
-  ******************************************************************************
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/**
+  ******************************************************************************
   * @file  ddr_define.h
-  * @author  StarFive Technology
-  * @version  V1.0
+  * @author  StarFive Technology
+  * @version  V1.0
   * @date  07/20/2020
-  * @brief
-  ******************************************************************************
-  * @copy
-  *
-  * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
-  * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
-  * TIME. AS A RESULT, STARFIVE SHALL NOT BE HELD LIABLE FOR ANY
-  * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
-  * FROM THE CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
-  * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
-  *
+  * @brief
+  ******************************************************************************
+  * @copy
+  *
+  * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
+  * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
+  * TIME. AS A RESULT, STARFIVE SHALL NOT BE HELD LIABLE FOR ANY
+  * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
+  * FROM THE CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
+  * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
+  *
   *  COPYRIGHT 2020 Shanghai StarFive Technology Co., Ltd.
   */
 

+ 1 - 0
common/encoding.h

@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  encoding.h

+ 1 - 0
common/errno.h

@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  errno.h

+ 1 - 0
common/ezGPIO_fullMux_ctrl_macro.h

@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  ezGPIO_fullMux_ctrl_macro.h

+ 1 - 0
common/platform.h

@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  platform.h

+ 1 - 0
common/rstgen_ctrl_macro.h

@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  rstgen_ctrl_macro.h

+ 1 - 0
common/sys.h

@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  sys.h

+ 1 - 0
common/syscon_iopad_ctrl_macro.h

@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  syscon_iopad_ctrl_macro.h

+ 1 - 0
common/syscon_sysmain_ctrl_macro.h

@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  syscon_sysmain_ctrl_macro.h

+ 1 - 0
common/util.c

@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  util.c

+ 1 - 0
common/util.h

@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  util.h

+ 1 - 0
common/vic_module_reset_clkgen.h

@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  vic_module_reset_clkgen.h

+ 1 - 0
ddrc_cfg/lpddr4_1066_cl20_bl16/orbit_boot_1066.c

@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  orbit_boot_1066.c

+ 1 - 0
ddrc_cfg/lpddr4_1333_cl24_bl16/orbit_boot_1333.c

@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  orbit_boot_1333.c

+ 1 - 0
ddrc_cfg/lpddr4_1600_cl28_bl16/orbit_boot_1600.c

@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  orbit_boot_1600.c

+ 1 - 0
ddrc_cfg/lpddr4_1600_cl28_bl16/orbit_boot_training.c

@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  orbit_boot_training.c

+ 1 - 0
ddrc_cfg/lpddr4_800_cl14_bl16/orbit_boot_800.c

@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  orbit_boot_800.c

+ 1 - 0
ddrphy_cfg/lpddr4_1600_cl28_bl16/regconfig_pi_start.c

@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  regconfig_pi_start.c

+ 16 - 15
ddrphy_cfg/lpddr4_1600_cl28_bl16/regconfig_pi_start_2800.c

@@ -1,20 +1,21 @@
-/**
-  ******************************************************************************
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/**
+  ******************************************************************************
   * @file  regconfig_pi_start_2800.c
-  * @author  StarFive Technology
-  * @version  V1.0
+  * @author  StarFive Technology
+  * @version  V1.0
   * @date  07/20/2020
-  * @brief
-  ******************************************************************************
-  * @copy
-  *
-  * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
-  * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
-  * TIME. AS A RESULT, STARFIVE SHALL NOT BE HELD LIABLE FOR ANY
-  * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
-  * FROM THE CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
-  * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
-  *
+  * @brief
+  ******************************************************************************
+  * @copy
+  *
+  * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
+  * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
+  * TIME. AS A RESULT, STARFIVE SHALL NOT BE HELD LIABLE FOR ANY
+  * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
+  * FROM THE CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
+  * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
+  *
   *  COPYRIGHT 2020 Shanghai StarFive Technology Co., Ltd.
   */
 

+ 16 - 15
ddrphy_cfg/lpddr4_1600_cl28_bl16/regconfig_pi_start_3200.c

@@ -1,20 +1,21 @@
-/**
-  ******************************************************************************
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/**
+  ******************************************************************************
   * @file  regconfig_pi_start_3200.c
-  * @author  StarFive Technology
-  * @version  V1.0
+  * @author  StarFive Technology
+  * @version  V1.0
   * @date  07/20/2020
-  * @brief
-  ******************************************************************************
-  * @copy
-  *
-  * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
-  * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
-  * TIME. AS A RESULT, STARFIVE SHALL NOT BE HELD LIABLE FOR ANY
-  * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
-  * FROM THE CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
-  * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
-  *
+  * @brief
+  ******************************************************************************
+  * @copy
+  *
+  * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
+  * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
+  * TIME. AS A RESULT, STARFIVE SHALL NOT BE HELD LIABLE FOR ANY
+  * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
+  * FROM THE CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
+  * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
+  *
   *  COPYRIGHT 2020 Shanghai StarFive Technology Co., Ltd.
   */
 

+ 1 - 1
ddrphy_cfg/memory/jedec_lpddr4_16gb_3200/regconfig_sim_1066_cl20_bl16/regconfig.h.sim_PHY.h

@@ -1,4 +1,4 @@
-
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  regconfig.h.sim_PHY.h

+ 1 - 1
ddrphy_cfg/memory/jedec_lpddr4_16gb_3200/regconfig_sim_1066_cl20_bl16/regconfig.h.sim_PI.h

@@ -1,4 +1,4 @@
-
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  regconfig.h.sim_PI.h

+ 1 - 1
ddrphy_cfg/memory/jedec_lpddr4_16gb_3200/regconfig_sim_1333_cl24_bl16/regconfig.h.sim_PHY.h

@@ -1,4 +1,4 @@
-
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  regconfig.h.sim_PHY.h

+ 1 - 0
ddrphy_cfg/memory/jedec_lpddr4_16gb_3200/regconfig_sim_1333_cl24_bl16/regconfig.h.sim_PI.h

@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  regconfig.h.sim_PI.h

+ 1 - 1
ddrphy_cfg/memory/jedec_lpddr4_16gb_3200/regconfig_sim_1600_cl28_bl16/regconfig.h.sim_PHY.h

@@ -1,4 +1,4 @@
-
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  regconfig.h.sim_PHY.h

+ 1 - 1
ddrphy_cfg/memory/jedec_lpddr4_16gb_3200/regconfig_sim_1600_cl28_bl16/regconfig.h.sim_PI.h

@@ -1,4 +1,4 @@
-
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  regconfig.h.sim_PI.h

+ 1 - 1
ddrphy_cfg/memory/jedec_lpddr4_16gb_3200/regconfig_sim_800_cl14_bl16/regconfig.h.sim_PHY.h

@@ -1,4 +1,4 @@
-
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  regconfig.h.sim_PHY.h

+ 1 - 0
ddrphy_cfg/memory/jedec_lpddr4_16gb_3200/regconfig_sim_800_cl14_bl16/regconfig.h.sim_PI.h

@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  regconfig.h.sim_PI.h

+ 1 - 0
ddrphy_cfg/regconfig.h.sim_PHY.c

@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  regconfig.h.sim_PHY.c

+ 1 - 0
ddrphy_cfg/regconfig.h.sim_PI.c

@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  regconfig.h.sim_PI.c

+ 1 - 0
gpio/gpio.c

@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  gpio.c

+ 1 - 0
gpio/gpio.h

@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  gpio.h

+ 16 - 15
sdio/sdio.c

@@ -1,20 +1,21 @@
-/**
-  ******************************************************************************
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/**
+  ******************************************************************************
   * @file  sdio.c
-  * @author  StarFive Technology
-  * @version  V1.0
+  * @author  StarFive Technology
+  * @version  V1.0
   * @date  07/24/2020
-  * @brief
-  ******************************************************************************
-  * @copy
-  *
-  * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
-  * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
-  * TIME. AS A RESULT, STARFIVE SHALL NOT BE HELD LIABLE FOR ANY
-  * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
-  * FROM THE CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
-  * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
-  *
+  * @brief
+  ******************************************************************************
+  * @copy
+  *
+  * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
+  * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
+  * TIME. AS A RESULT, STARFIVE SHALL NOT BE HELD LIABLE FOR ANY
+  * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
+  * FROM THE CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
+  * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
+  *
   *  COPYRIGHT 2020 Shanghai StarFive Technology Co., Ltd.
   */
 

+ 1 - 0
spi/spi.c

@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  spi.c

+ 1 - 0
spi/spi_flash.c

@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  spi_flash.c

+ 1 - 0
spi/spi_flash.h

@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  spi_flash.h

+ 1 - 0
spi/spi_probe.c

@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  spi_probe.c

+ 1 - 0
timer/timer.c

@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  timer.c

+ 1 - 0
timer/timer.h

@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  timer.h

+ 1 - 0
uart/cmd.c

@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  cmd.c

+ 1 - 0
uart/cmd.h

@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  cmd.h

+ 1 - 0
uart/uart.c

@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  uart.c

+ 1 - 0
uart/uart.h

@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /**
   ******************************************************************************
   * @file  uart.h

+ 1 - 0
uart/xmodem.h

@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*=====================================================
 Copyright (c) 2020 by StarFiveTech Incorporated. All Rights Reserved.
 FileName: xmodem.h