├── LICENSE ├── boot ├── bootmain.c ├── start.S └── trap.c ├── common ├── clkgen_ctrl_macro.h ├── comdef.h ├── ctype.c ├── ctype.h ├── ddr_define.h ├── div64.h ├── encoding.h ├── errno.h ├── ezGPIO_fullMux_ctrl_macro.h ├── platform.h ├── rstgen_ctrl_macro.h ├── sizes.h ├── sys.h ├── syscon_iopad_ctrl_macro.h ├── syscon_sysmain_ctrl_macro.h ├── util.c ├── util.h └── vic_module_reset_clkgen.h ├── crc32 ├── crc32.c └── crc32.h ├── ddrc_cfg ├── lpddr4_1066_cl20_bl16 │ └── orbit_boot_1066.c ├── lpddr4_1333_cl24_bl16 │ └── orbit_boot_1333.c ├── lpddr4_1600_cl28_bl16 │ ├── .orbit_boot_training.C.swo │ ├── .orbit_boot_training.C.swp │ ├── orbit_boot_1600.c │ ├── orbit_boot_8g16x.v_r3 │ ├── orbit_boot_training.C_r4 │ ├── orbit_boot_training.c │ ├── orbit_boot_training.c_origin │ ├── orbit_boot_training.v │ └── orbit_boot_training.v_r4 └── lpddr4_800_cl14_bl16 │ └── orbit_boot_800.c ├── ddrphy_cfg ├── lpddr4_1600_cl28_bl16 │ ├── regconfig_pi_start.c │ ├── regconfig_pi_start_2800.c │ └── regconfig_pi_start_3200.c ├── memory │ └── jedec_lpddr4_16gb_3200 │ │ ├── regconfig_sim_1066_cl20_bl16 │ │ ├── regconfig.h.sim_PHY.h │ │ └── regconfig.h.sim_PI.h │ │ ├── regconfig_sim_1333_cl24_bl16 │ │ ├── regconfig.h.sim_PHY.h │ │ └── regconfig.h.sim_PI.h │ │ ├── regconfig_sim_1600_cl28_bl16 │ │ ├── regconfig.h.sim_PHY.h │ │ └── regconfig.h.sim_PI.h │ │ └── regconfig_sim_800_cl14_bl16 │ │ ├── regconfig.h.sim_PHY.h │ │ └── regconfig.h.sim_PI.h ├── regconfig.h.sim_PHY.c └── regconfig.h.sim_PI.c ├── gpio ├── gpio.c └── gpio.h ├── gpt ├── gpt.c └── gpt.h ├── readme.md ├── sdio ├── bouncebuf.c ├── bouncebuf.h ├── dw_mmc.c ├── dwmmc.h ├── mmc.c ├── mmc.h ├── mmc_private.h ├── mmc_write.c └── sdio.c ├── spi ├── cadence_qspi.c ├── cadence_qspi.h ├── cadence_qspi_apb.c ├── spi.c ├── spi.h ├── spi_flash.c ├── spi_flash.h ├── spi_flash_internal.h └── spi_probe.c ├── timer ├── timer.c └── timer.h └── uart ├── cmd.c ├── cmd.h ├── crc16.c ├── crc16.h ├── uart.c ├── uart.h ├── xmodem.c └── xmodem.h /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/LICENSE -------------------------------------------------------------------------------- /boot/bootmain.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/boot/bootmain.c -------------------------------------------------------------------------------- /boot/start.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/boot/start.S -------------------------------------------------------------------------------- /boot/trap.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/boot/trap.c -------------------------------------------------------------------------------- /common/clkgen_ctrl_macro.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/common/clkgen_ctrl_macro.h -------------------------------------------------------------------------------- /common/comdef.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/common/comdef.h -------------------------------------------------------------------------------- /common/ctype.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/common/ctype.c -------------------------------------------------------------------------------- /common/ctype.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/common/ctype.h -------------------------------------------------------------------------------- /common/ddr_define.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/common/ddr_define.h -------------------------------------------------------------------------------- /common/div64.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/common/div64.h -------------------------------------------------------------------------------- /common/encoding.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/common/encoding.h -------------------------------------------------------------------------------- /common/errno.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/common/errno.h -------------------------------------------------------------------------------- /common/ezGPIO_fullMux_ctrl_macro.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/common/ezGPIO_fullMux_ctrl_macro.h -------------------------------------------------------------------------------- /common/platform.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/common/platform.h -------------------------------------------------------------------------------- /common/rstgen_ctrl_macro.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/common/rstgen_ctrl_macro.h -------------------------------------------------------------------------------- /common/sizes.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/common/sizes.h -------------------------------------------------------------------------------- /common/sys.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/common/sys.h -------------------------------------------------------------------------------- /common/syscon_iopad_ctrl_macro.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/common/syscon_iopad_ctrl_macro.h -------------------------------------------------------------------------------- /common/syscon_sysmain_ctrl_macro.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/common/syscon_sysmain_ctrl_macro.h -------------------------------------------------------------------------------- /common/util.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/common/util.c -------------------------------------------------------------------------------- /common/util.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/common/util.h -------------------------------------------------------------------------------- /common/vic_module_reset_clkgen.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/common/vic_module_reset_clkgen.h -------------------------------------------------------------------------------- /crc32/crc32.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/crc32/crc32.c -------------------------------------------------------------------------------- /crc32/crc32.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/crc32/crc32.h -------------------------------------------------------------------------------- /ddrc_cfg/lpddr4_1066_cl20_bl16/orbit_boot_1066.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/ddrc_cfg/lpddr4_1066_cl20_bl16/orbit_boot_1066.c -------------------------------------------------------------------------------- /ddrc_cfg/lpddr4_1333_cl24_bl16/orbit_boot_1333.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/ddrc_cfg/lpddr4_1333_cl24_bl16/orbit_boot_1333.c -------------------------------------------------------------------------------- /ddrc_cfg/lpddr4_1600_cl28_bl16/.orbit_boot_training.C.swo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/ddrc_cfg/lpddr4_1600_cl28_bl16/.orbit_boot_training.C.swo -------------------------------------------------------------------------------- /ddrc_cfg/lpddr4_1600_cl28_bl16/.orbit_boot_training.C.swp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/ddrc_cfg/lpddr4_1600_cl28_bl16/.orbit_boot_training.C.swp -------------------------------------------------------------------------------- /ddrc_cfg/lpddr4_1600_cl28_bl16/orbit_boot_1600.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/ddrc_cfg/lpddr4_1600_cl28_bl16/orbit_boot_1600.c -------------------------------------------------------------------------------- /ddrc_cfg/lpddr4_1600_cl28_bl16/orbit_boot_8g16x.v_r3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/ddrc_cfg/lpddr4_1600_cl28_bl16/orbit_boot_8g16x.v_r3 -------------------------------------------------------------------------------- /ddrc_cfg/lpddr4_1600_cl28_bl16/orbit_boot_training.C_r4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/ddrc_cfg/lpddr4_1600_cl28_bl16/orbit_boot_training.C_r4 -------------------------------------------------------------------------------- /ddrc_cfg/lpddr4_1600_cl28_bl16/orbit_boot_training.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/ddrc_cfg/lpddr4_1600_cl28_bl16/orbit_boot_training.c -------------------------------------------------------------------------------- /ddrc_cfg/lpddr4_1600_cl28_bl16/orbit_boot_training.c_origin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/ddrc_cfg/lpddr4_1600_cl28_bl16/orbit_boot_training.c_origin -------------------------------------------------------------------------------- /ddrc_cfg/lpddr4_1600_cl28_bl16/orbit_boot_training.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/ddrc_cfg/lpddr4_1600_cl28_bl16/orbit_boot_training.v -------------------------------------------------------------------------------- /ddrc_cfg/lpddr4_1600_cl28_bl16/orbit_boot_training.v_r4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/ddrc_cfg/lpddr4_1600_cl28_bl16/orbit_boot_training.v_r4 -------------------------------------------------------------------------------- /ddrc_cfg/lpddr4_800_cl14_bl16/orbit_boot_800.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/ddrc_cfg/lpddr4_800_cl14_bl16/orbit_boot_800.c -------------------------------------------------------------------------------- /ddrphy_cfg/lpddr4_1600_cl28_bl16/regconfig_pi_start.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/ddrphy_cfg/lpddr4_1600_cl28_bl16/regconfig_pi_start.c -------------------------------------------------------------------------------- /ddrphy_cfg/lpddr4_1600_cl28_bl16/regconfig_pi_start_2800.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/ddrphy_cfg/lpddr4_1600_cl28_bl16/regconfig_pi_start_2800.c -------------------------------------------------------------------------------- /ddrphy_cfg/lpddr4_1600_cl28_bl16/regconfig_pi_start_3200.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/ddrphy_cfg/lpddr4_1600_cl28_bl16/regconfig_pi_start_3200.c -------------------------------------------------------------------------------- /ddrphy_cfg/memory/jedec_lpddr4_16gb_3200/regconfig_sim_1066_cl20_bl16/regconfig.h.sim_PHY.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/ddrphy_cfg/memory/jedec_lpddr4_16gb_3200/regconfig_sim_1066_cl20_bl16/regconfig.h.sim_PHY.h -------------------------------------------------------------------------------- /ddrphy_cfg/memory/jedec_lpddr4_16gb_3200/regconfig_sim_1066_cl20_bl16/regconfig.h.sim_PI.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/ddrphy_cfg/memory/jedec_lpddr4_16gb_3200/regconfig_sim_1066_cl20_bl16/regconfig.h.sim_PI.h -------------------------------------------------------------------------------- /ddrphy_cfg/memory/jedec_lpddr4_16gb_3200/regconfig_sim_1333_cl24_bl16/regconfig.h.sim_PHY.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/ddrphy_cfg/memory/jedec_lpddr4_16gb_3200/regconfig_sim_1333_cl24_bl16/regconfig.h.sim_PHY.h -------------------------------------------------------------------------------- /ddrphy_cfg/memory/jedec_lpddr4_16gb_3200/regconfig_sim_1333_cl24_bl16/regconfig.h.sim_PI.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/ddrphy_cfg/memory/jedec_lpddr4_16gb_3200/regconfig_sim_1333_cl24_bl16/regconfig.h.sim_PI.h -------------------------------------------------------------------------------- /ddrphy_cfg/memory/jedec_lpddr4_16gb_3200/regconfig_sim_1600_cl28_bl16/regconfig.h.sim_PHY.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/ddrphy_cfg/memory/jedec_lpddr4_16gb_3200/regconfig_sim_1600_cl28_bl16/regconfig.h.sim_PHY.h -------------------------------------------------------------------------------- /ddrphy_cfg/memory/jedec_lpddr4_16gb_3200/regconfig_sim_1600_cl28_bl16/regconfig.h.sim_PI.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/ddrphy_cfg/memory/jedec_lpddr4_16gb_3200/regconfig_sim_1600_cl28_bl16/regconfig.h.sim_PI.h -------------------------------------------------------------------------------- /ddrphy_cfg/memory/jedec_lpddr4_16gb_3200/regconfig_sim_800_cl14_bl16/regconfig.h.sim_PHY.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/ddrphy_cfg/memory/jedec_lpddr4_16gb_3200/regconfig_sim_800_cl14_bl16/regconfig.h.sim_PHY.h -------------------------------------------------------------------------------- /ddrphy_cfg/memory/jedec_lpddr4_16gb_3200/regconfig_sim_800_cl14_bl16/regconfig.h.sim_PI.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/ddrphy_cfg/memory/jedec_lpddr4_16gb_3200/regconfig_sim_800_cl14_bl16/regconfig.h.sim_PI.h -------------------------------------------------------------------------------- /ddrphy_cfg/regconfig.h.sim_PHY.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/ddrphy_cfg/regconfig.h.sim_PHY.c -------------------------------------------------------------------------------- /ddrphy_cfg/regconfig.h.sim_PI.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/ddrphy_cfg/regconfig.h.sim_PI.c -------------------------------------------------------------------------------- /gpio/gpio.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/gpio/gpio.c -------------------------------------------------------------------------------- /gpio/gpio.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/gpio/gpio.h -------------------------------------------------------------------------------- /gpt/gpt.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/gpt/gpt.c -------------------------------------------------------------------------------- /gpt/gpt.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/gpt/gpt.h -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/readme.md -------------------------------------------------------------------------------- /sdio/bouncebuf.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/sdio/bouncebuf.c -------------------------------------------------------------------------------- /sdio/bouncebuf.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/sdio/bouncebuf.h -------------------------------------------------------------------------------- /sdio/dw_mmc.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/sdio/dw_mmc.c -------------------------------------------------------------------------------- /sdio/dwmmc.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/sdio/dwmmc.h -------------------------------------------------------------------------------- /sdio/mmc.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/sdio/mmc.c -------------------------------------------------------------------------------- /sdio/mmc.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/sdio/mmc.h -------------------------------------------------------------------------------- /sdio/mmc_private.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/sdio/mmc_private.h -------------------------------------------------------------------------------- /sdio/mmc_write.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/sdio/mmc_write.c -------------------------------------------------------------------------------- /sdio/sdio.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/sdio/sdio.c -------------------------------------------------------------------------------- /spi/cadence_qspi.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/spi/cadence_qspi.c -------------------------------------------------------------------------------- /spi/cadence_qspi.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/spi/cadence_qspi.h -------------------------------------------------------------------------------- /spi/cadence_qspi_apb.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/spi/cadence_qspi_apb.c -------------------------------------------------------------------------------- /spi/spi.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/spi/spi.c -------------------------------------------------------------------------------- /spi/spi.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/spi/spi.h -------------------------------------------------------------------------------- /spi/spi_flash.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/spi/spi_flash.c -------------------------------------------------------------------------------- /spi/spi_flash.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/spi/spi_flash.h -------------------------------------------------------------------------------- /spi/spi_flash_internal.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/spi/spi_flash_internal.h -------------------------------------------------------------------------------- /spi/spi_probe.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/spi/spi_probe.c -------------------------------------------------------------------------------- /timer/timer.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/timer/timer.c -------------------------------------------------------------------------------- /timer/timer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/timer/timer.h -------------------------------------------------------------------------------- /uart/cmd.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/uart/cmd.c -------------------------------------------------------------------------------- /uart/cmd.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/uart/cmd.h -------------------------------------------------------------------------------- /uart/crc16.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/uart/crc16.c -------------------------------------------------------------------------------- /uart/crc16.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/uart/crc16.h -------------------------------------------------------------------------------- /uart/uart.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/uart/uart.c -------------------------------------------------------------------------------- /uart/uart.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/uart/uart.h -------------------------------------------------------------------------------- /uart/xmodem.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/uart/xmodem.c -------------------------------------------------------------------------------- /uart/xmodem.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starfive-tech/JH7100_ddrinit/HEAD/uart/xmodem.h --------------------------------------------------------------------------------