Use shift offsets for entrypoint SET bitfields
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
DataHoarder 2021-08-03 03:01:19 +02:00
parent 36c67c879c
commit 3ade69dd4a

View file

@ -28,7 +28,7 @@ entrypoint:
CALL @init_startClocks
FASTCALL @init_setClockSource, bootCfg_systimeClockSource
FASTCALL @init_setPcieSplitMode, bootCfg_pep0_mode, bootCfg_pep2_mode, bootCfg_pep4_mode, bootCfg_pep6_mode
SET DEVICE_CFG, 0xff80, 0xff80 ; Set PCIeEnable[0-8] to enabled
SET DEVICE_CFG, 0x1ff <7, 0x1ff <7; Set PCIeEnable[0-8] to enabled
CALL @init_markClockStable
CALL @init_markSbusBooted
FASTCALL @init_memoryRepairConfig, bootCfg_skipMemRepair
@ -99,57 +99,65 @@ entrypoint:
; TODO: move this to pcie.asm and make it a function
BNE DEVICE_CFG, 1 <7, 1 <7, @.skip_PEP0_masking; Is PCIeEnable != 1
SET SOFT_RESET 0x00002000, 0x00002000 ; Set PEP PCIeActive = 1
SET SOFT_RESET 1 <13, 1 <13 ; Set PEP PCIeActive = 1
MOV~10 PCIE_IB, R0 ; Copy interrupt settings
SET SOFT_RESET 0x00000000, 0x00002000 ; Set PEP PCIeActive = 0
.skip_PEP0_masking: ADD BSM_ADDR_OFFSET_1, BSM_ADDR_OFFSET_1, 0x100000
SET SOFT_RESET 0x00000000, 1 <13 ; Set PEP PCIeActive = 0
.skip_PEP0_masking:
ADD BSM_ADDR_OFFSET_1, BSM_ADDR_OFFSET_1, 0x100000
BNE DEVICE_CFG, 1 <8, 1 <8, @.skip_PEP1_masking; Is PCIeEnable != 1
SET SOFT_RESET 0x00004000, 0x00004000 ; Set PEP PCIeActive = 1
SET SOFT_RESET 1 <14, 1 <14 ; Set PEP PCIeActive = 1
MOV~10 PCIE_IB, R0 ; Copy interrupt settings
SET SOFT_RESET 0x00000000, 0x00004000 ; Set PEP PCIeActive = 0
.skip_PEP1_masking: ADD BSM_ADDR_OFFSET_1, BSM_ADDR_OFFSET_1, 0x100000
SET SOFT_RESET 0x00000000, 1 <14 ; Set PEP PCIeActive = 0
.skip_PEP1_masking:
ADD BSM_ADDR_OFFSET_1, BSM_ADDR_OFFSET_1, 0x100000
BNE DEVICE_CFG, 1 <9, 1 <9, @.skip_PEP2_masking; Is PCIeEnable != 1
SET SOFT_RESET 0x00008000, 0x00008000 ; Set PEP PCIeActive = 1
SET SOFT_RESET 1 <15, 1 <15 ; Set PEP PCIeActive = 1
MOV~10 PCIE_IB, R0 ; Copy interrupt settings
SET SOFT_RESET 0x00000000, 0x00008000 ; Set PEP PCIeActive = 0
.skip_PEP2_masking: ADD BSM_ADDR_OFFSET_1, BSM_ADDR_OFFSET_1, 0x100000
SET SOFT_RESET 0x00000000, 1 <15 ; Set PEP PCIeActive = 0
.skip_PEP2_masking:
ADD BSM_ADDR_OFFSET_1, BSM_ADDR_OFFSET_1, 0x100000
BNE DEVICE_CFG, 1 <10, 1 <10, @.skip_PEP3_masking; Is PCIeEnable != 1
SET SOFT_RESET 0x00010000, 0x00010000 ; Set PEP PCIeActive = 1
SET SOFT_RESET 1 <16, 1 <16 ; Set PEP PCIeActive = 1
MOV~10 PCIE_IB, R0 ; Copy interrupt settings
SET SOFT_RESET 0x00000000, 0x00010000 ; Set PEP PCIeActive = 0
.skip_PEP3_masking: ADD BSM_ADDR_OFFSET_1, BSM_ADDR_OFFSET_1, 0x100000
SET SOFT_RESET 0x00000000, 1 <16 ; Set PEP PCIeActive = 0
.skip_PEP3_masking:
ADD BSM_ADDR_OFFSET_1, BSM_ADDR_OFFSET_1, 0x100000
BNE DEVICE_CFG, 1 <11, 1 <11, @.skip_PEP4_masking; Is PCIeEnable != 1
SET SOFT_RESET 0x00020000, 0x00020000 ; Set PEP PCIeActive = 1
SET SOFT_RESET 1 <17, 1 <17 ; Set PEP PCIeActive = 1
MOV~10 PCIE_IB, R0 ; Copy interrupt settings
SET SOFT_RESET 0x00000000, 0x00020000 ; Set PEP PCIeActive = 0
.skip_PEP4_masking: ADD BSM_ADDR_OFFSET_1, BSM_ADDR_OFFSET_1, 0x100000
SET SOFT_RESET 0x00000000, 1 <17 ; Set PEP PCIeActive = 0
.skip_PEP4_masking:
ADD BSM_ADDR_OFFSET_1, BSM_ADDR_OFFSET_1, 0x100000
BNE DEVICE_CFG, 1 <12, 1 <12, @.skip_PEP5_masking; Is PCIeEnable != 1
SET SOFT_RESET 0x00040000, 0x00040000 ; Set PEP PCIeActive = 1
SET SOFT_RESET 1 <18, 1 <18 ; Set PEP PCIeActive = 1
MOV~10 PCIE_IB, R0 ; Copy interrupt settings
SET SOFT_RESET 0x00000000, 0x00040000 ; Set PEP PCIeActive = 0
.skip_PEP5_masking: ADD BSM_ADDR_OFFSET_1, BSM_ADDR_OFFSET_1, 0x100000
SET SOFT_RESET 0x00000000, 1 <18 ; Set PEP PCIeActive = 0
.skip_PEP5_masking:
ADD BSM_ADDR_OFFSET_1, BSM_ADDR_OFFSET_1, 0x100000
BNE DEVICE_CFG, 1 <13, 1 <13, @.skip_PEP6_masking; Is PCIeEnable != 1
SET SOFT_RESET 0x00080000, 0x00080000 ; Set PEP PCIeActive = 1
SET SOFT_RESET 1 <19, 1 <19 ; Set PEP PCIeActive = 1
MOV~10 PCIE_IB, R0 ; Copy interrupt settings
SET SOFT_RESET 0x00000000, 0x00080000 ; Set PEP PCIeActive = 0
.skip_PEP6_masking: ADD BSM_ADDR_OFFSET_1, BSM_ADDR_OFFSET_1, 0x100000
SET SOFT_RESET 0x00000000, 1 <19 ; Set PEP PCIeActive = 0
.skip_PEP6_masking:
ADD BSM_ADDR_OFFSET_1, BSM_ADDR_OFFSET_1, 0x100000
BNE DEVICE_CFG, 1 <14, 1 <14, @.skip_PEP7_masking; Is PCIeEnable != 1
SET SOFT_RESET 0x00100000, 0x00100000 ; Set PEP PCIeActive = 1
SET SOFT_RESET 1 <20, 1 <20 ; Set PEP PCIeActive = 1
MOV~10 PCIE_IB, R0 ; Copy interrupt settings
SET SOFT_RESET 0x00000000, 0x00100000 ; Set PEP PCIeActive = 0
.skip_PEP7_masking: ADD BSM_ADDR_OFFSET_1, BSM_ADDR_OFFSET_1, 0x100000
SET SOFT_RESET 0x00000000, 1 <20 ; Set PEP PCIeActive = 0
.skip_PEP7_masking:
ADD BSM_ADDR_OFFSET_1, BSM_ADDR_OFFSET_1, 0x100000
BNE DEVICE_CFG, 1 <15, 1 <15, @.skip_PEP8_masking; Is PCIeEnable != 1
SET SOFT_RESET 0x00200000, 0x00200000 ; Set PEP PCIeActive = 1
SET SOFT_RESET 1 <21, 1 <21 ; Set PEP PCIeActive = 1
MOV~10 PCIE_IB, R0 ; Copy interrupt settings
SET SOFT_RESET 0x00000000, 0x00200000 ; Set PEP PCIeActive = 0
SET SOFT_RESET 0x00000000, 1 <21 ; Set PEP PCIeActive = 0
.skip_PEP8_masking: