6502-OS/system/spi.h65

43 lines
1.1 KiB
Plaintext
Raw Normal View History

2023-12-23 14:17:49 +01:00
;;********************************************************************************
;; @module SPI-P
;; @type driver
;; @details
;; Support being a peripheral SPI device.
;; @depends IO-W65C22N
;;********************************************************************************
2023-12-08 22:56:35 +01:00
.ifndef INCLUDE_SPI
INCLUDE_SPI = 1
.include "system/system.h65"
.scope spi_p
SPI_IO = IO2
2023-12-27 16:56:14 +01:00
Import spi_p, irq_handler, end, status
Import spi_p, begin_read, irq_read_byte, recv_bytes
Import spi_p, begin_write, irq_write_byte, sent_bytes
2023-12-23 14:17:49 +01:00
.enum STATUS
XFER_SIZEL = %10000000
XFER_SIZEH = %01000000
XFER = %00000001
DONE = %00000000
ERROR = %11111111
.endenum
2023-12-08 22:56:35 +01:00
.endscope
.endif ; guard
2023-12-27 16:56:14 +01:00
; .struct SPI_P_Pins
; ; VIA addresses
; DDR_a .word ; address of the data direction register
; R_a .word ; address of the register
; ; pin mask
; SCLK_p .byte ; Serial Clock
; POCI_p .byte ; Peripheral Out / Controller In
; PICO_p .byte ; Peripheral In / Controller Out
; CSB_p .byte ; Chip Select
; ; settings
; CPOL .byte ; Clock Polarity
; CPHA .byte ; Clock Phase
; .endstruct