I just found a little issue with my linker file, i attach the updated version that works when i just use it with the debugger, however QSPI boot into DDR still doesn't work.
/* Specials */
/* QSPI0 Linker Options */
define symbol __QSPI0_BASE_ADDRESS_START__ = 0x80000000;
define symbol __QSPI0_BASE_ADDRESS_END__ = 0x800ffff0;
/* Memory Regions */
define symbol __ICFEDIT_intvec_start__ = 0x80000800;
define symbol __ICFEDIT_region_ROM_start__ = 0x80000800;
define symbol __ICFEDIT_region_ROM_end__ = 0x800ffff0;
define symbol __ICFEDIT_region_RAM_start__ = 0x80200000;
define symbol __ICFEDIT_region_RAM_end__ = 0x87fffff0;
/* Sizes */
define symbol __ICFEDIT_size_bootstack__ = 0x100;
define symbol __ICFEDIT_size_sysstack__ = 0;
define symbol __ICFEDIT_size_fiqstack__ = 0;
define symbol __ICFEDIT_size_undstack__ = 0;
define symbol __ICFEDIT_size_abtstack__ = 0;
/* QSPI0 Configuration File Offset */
define symbol __QSPI0_CONF_OFFSET__ = __QSPI0_BASE_ADDRESS_START__ + 0x0;
define symbol __QSPI0_IVT_OFFSET__ = __QSPI0_BASE_ADDRESS_START__ + 0x400;
define symbol __QSPI0_BOOT_DATA_OFFSET__ = __QSPI0_BASE_ADDRESS_START__ + 0x420;
define symbol __QSPI0_DCD_OFFSET__ = __QSPI0_BASE_ADDRESS_START__ + 0x430;
define exported symbol __VECTOR_TABLE_ROM_START = 0x00000000;
define exported symbol __DEFAULT_PROCESSOR_NUMBER = 1;
/* 64kB of shared memory */
define exported symbol __SHARED_RAM_START = 0x3f040000;
define exported symbol __SHARED_RAM_END = 0x3f04fff0;
/* 62kB of sram pool */
define exported symbol __SRAM_POOL_START = 0x3f050000;
define exported symbol __SRAM_POOL_END = 0x3f07fbf0;
define exported symbol __UNCACHED_DATA_START = __SRAM_POOL_START;
define exported symbol __UNCACHED_DATA_END = __SRAM_POOL_END;
/* mem_init writes a storeblock_struct at the end of kernel data, max size 32 bytes */
define exported symbol __BOOT_STACK_ADDRESS = __ICFEDIT_region_RAM_end__ - __ICFEDIT_size_bootstack__;
define exported symbol __KERNEL_DATA_END = __ICFEDIT_region_RAM_end__;
define memory mem with size = 4G;
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
define block SYS_STACK with alignment = 8, size = __ICFEDIT_size_sysstack__ { };
define block FIQ_STACK with alignment = 8, size = __ICFEDIT_size_fiqstack__ { };
define block UND_STACK with alignment = 8, size = __ICFEDIT_size_undstack__ { };
define block ABT_STACK with alignment = 8, size = __ICFEDIT_size_abtstack__ { };
define block KERNEL_DATA with alignment = 32 { section .kernel_data };
define block VECTOR_TBL with alignment = 32 { section .vector_tbl };
define symbol CONF_OFFSET = __QSPI0_CONF_OFFSET__;
define symbol IVT_OFFSET = __QSPI0_IVT_OFFSET__;
define symbol BOOT_DATA_OFFSET = __QSPI0_BOOT_DATA_OFFSET__;
define symbol DCD_OFFSET = __QSPI0_DCD_OFFSET__;
initialize by copy { readwrite };
do not initialize { section .noinit };
do not initialize { section .kernel_data };
place at address mem:CONF_OFFSET { section .conf };
place at address mem:IVT_OFFSET { section .ivt };
place at address mem:BOOT_DATA_OFFSET { readonly section .boot_data };
place at address mem:DCD_OFFSET { readonly section .dcd };
keep{section .conf, section .ivt, section .boot_data, section .dcd};
place in ROM_region { first block head { section STARTUP }, readonly, block VECTOR_TBL };
place in RAM_region { readwrite, block SYS_STACK, block FIQ_STACK, block UND_STACK, block ABT_STACK, last block KERNEL_DATA };