📄 ecp_i2c_hw.lst
字号:
259 000194 64F3 and.b #BIT1,R4
; Mask I2C NOR_FLASH_RSTz
260 000196 4ED4 bis.b R4,R14
; Save
NOR_FLASH_RSTz
res
261 000198 54421800 mov.b &P3IN,R4
; Re-read
port 3
262 00019C 4411 rra.b R4
; 2 right shifts
263 00019E 4411 rra.b R4
264 0001A0 74F2 and.b #BIT3,R4
; Mask IMAGER_RSTz
265 0001A2 4ED4 bis.b R4,R14
; Save
IMAGER_RSTz
result
266 0001A4 B53C jmp I2CReadProcessed
; We are done
267 0001A6 ; Offset 0x03 - LED Register
268 0001A6 5E421C00 ReadOffset0x03 mov.b &P4IN,R14
; LEDs are
on port
4
269 0001AA B23C jmp I2CReadProcessed
; We are done
270 0001AC ; Offset 0x04 - Input Switch Register #1
271 0001AC 5E423000 ReadOffset0x04 mov.b &P5IN,R14
; All are on
port 5
272 0001B0 AF3C jmp I2CReadProcessed
; We are done
273 0001B2 ; Offset 0x05 - Input Switch Register #2
274 0001B2 5E423400 ReadOffset0x05 mov.b &P6IN,R14
; All are on
port 6
275 0001B6 7EF0F800 and.b #SW10+SW11+SW12+SW13+SW1
4,R14 ; Mask non-SW bits
276 0001BA AA3C jmp I2CReadProcessed
; We are done
277 0001BC ; Offset 0x06 - SD/MMC Status Register
278 0001BC 5E422800 ReadOffset0x06 mov.b &P2IN,R14
; All are on
port 2
279 0001C0 76400600 mov.b #SDMMC0_WPz+SDMMC0_INSz,
R6 ; Load mask for SDMMC0
280 0001C4 76D01800 bis.b #SDMMC1_WPz+SDMMC1_INSz,
R6 ; Add bits for SDMMC1
281 0001C8 4EF6 and.b R6,R14
; Mask SDMMC
bits
282 0001CA A23C jmp I2CReadProcessed
; We are done
283 0001CC ; Offset 0x07 - Firmware Revision Register
284 0001CC 7E40A300 ReadOffset0x07 mov.b #FWREV,R14
; Get the firmware rev
285 0001D0 9F3C jmp I2CReadProcessed
; We are done
286 0001D2 ; Offset 0x08 - Video Input Mux Control
287 0001D2 5E421800 ReadOffset0x08 mov.b &P3IN,R14
; Read port
3
288 0001D6 7EF08000 and.b #MUX_IMAG_5146z,R14
; Mask mux control
289 0001DA 9A3C jmp I2CReadProcessed
; We are done
290 0001DC ; Offset 0x09 - Power Supply Control/Status
291 0001DC 54422000 ReadOffset0x09 mov.b &P1IN,R4
; Read Port
1
292 0001E0 74F0C000 and.b #ENABLE_1V3+ENABLE_1V8,R
4 ; Mask power supply en
293 0001E4 4E44 mov.b R4,R14
; Save port 1
results
294 0001E6 54422800 mov.b &P2IN,R4
; Read Port
2
295 0001EA 54F3 and.b #ENABLE_3V3,R4
; Mask power supply en
296 0001EC 4ED4 bis.b R4,R14
; Save port 2
results
297 0001EE B012.... call #CheckPower
; Check Power supplies
298 0001F2 5440.... mov.b PowerStatus,R4
; Get
the
result
299 0001F6 74E3 inv.b R4
; Invert it
300 0001F8 76403000 mov.b #FAIL_1V3+FAIL_1V8,R6
; Make power check mask
301 0001FC 76D00C00 bis.b #FAIL_3V3+FAIL_ECP,R6
; Add to power check mask
302 000200 44F6 and.b R6,R4
; Mask power
check results
303 000202 4ED4 bis.b R4,R14
; Save power
check results
304 000204 853C jmp I2CReadProcessed
; We are done
305 000206 ; Offset 0x0A and 0x0B - ECP Voltage Low and
High
306 000206 1E40.... ReadOffset0x0A mov VoltsECP,R14
; Get ECP
voltage
307 00020A 3EF0FF00 and #0x00FF,R14
; Mask
308 00020E 803C jmp I2CReadProcessed
; We are done
309 000210 1E40.... ReadOffset0x0B mov VoltsECP,R14
; Get ECP
voltage
310 000214 183C jmp FinishVoltHigh
; Send it out
311 000216 ; Offset 0x0C and 0x0D - 1.3V Voltage Low and
High
312 000216 1E40.... ReadOffset0x0C mov Volts1V3,R14
; Get
CORE
voltage
313 00021A 3EF0FF00 and #0x00FF,R14
; Mask
314 00021E 783C jmp I2CReadProcessed
; We are done
315 000220 1E40.... ReadOffset0x0D mov Volts1V3,R14
; Get
CORE
voltage
316 000224 103C jmp FinishVoltHigh
; Send it out
317 000226 ; Offset 0x0E and 0x0F - 1.8V Voltage Low and
High
318 000226 1E40.... ReadOffset0x0E mov Volts1V8,R14
; Get
1.8V
voltage
319 00022A 3EF0FF00 and #0x00FF,R14
; Mask
320 00022E 703C jmp I2CReadProcessed
; We are done
321 000230 1E40.... ReadOffset0x0F mov Volts1V8,R14
; Get
1.8V
voltage
322 000234 083C jmp FinishVoltHigh
; Send it out
323 000236 ; Offset 0x10 and 0x11 - 3.3V Voltage Low and
High
324 000236 1E40.... ReadOffset0x10 mov Volts3V3,R14
; Get
3.3V
voltage
325 00023A 3EF0FF00 and #0x00FF,R14
; Mask
326 00023E 683C jmp I2CReadProcessed
; We are done
327 000240 1E40.... ReadOffset0x11 mov Volts3V3,R14
; Get
3.3V
voltage
328 000244 003C jmp FinishVoltHigh
; Send it out
329 000246
330 000246 0E11 FinishVoltHigh rra R14
; Shift right 8 bits
331 000248 0E11 rra R14
332 00024A 0E11 rra R14
333 00024C 0E11 rra R14
334 00024E 0E11 rra R14
335 000250 0E11 rra R14
336 000252 0E11 rra R14
337 000254 0E11 rra R14
338 000256 3EF00F00 and #0x000F,R14
; CLR upper bits
339 00025A 5A3C jmp I2CReadProcessed
; We are done
340 00025C ; Offsets 0x12, 0x13, 0x14, and 0x15 - Real Time
Clock Count
341 00025C 0E4A ReadOffset0x12 mov R10, R14
; R10 stores
lower RTC
342 00025E 3EF0FF00 and #0x00FF,R14
; Mask upper bits
343 000262 563C jmp I2CReadProcessed
344 000264 0E4A ReadOffset0x13 mov R10, R14
; R10 stores
lower RTC
345 000266 053C jmp FinishRTCHigh
; Send it out
346 000268 0E4B ReadOffset0x14 mov R11, R14
; R11 stores
upper RTC
347 00026A 3EF0FF00 and #0x00FF,R14
; Mask upper bits
348 00026E 503C jmp I2CReadProcessed
349 000270 0E4B ReadOffset0x15 mov R11,R14
; R11 stores
upper RTC
350 000272 0E11 FinishRTCHigh rra R14
; Shift right 8 bits
351 000274 0E11 rra R14
352 000276 0E11 rra R14
353 000278 0E11 rra R14
354 00027A 0E11 rra R14
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -