Newton Hardware
This document will contain information about all classes and protocols which are used for controlling Newton's hardware. It will also describe internal working of hardware - registers etc.
Hardware drivers - Protocols
Following protocols are controlling Newtons hardware:
- TFlash . TNewInternalFlash
- TFlash . TFlashAMD
- TFlash . TFlashSeries2
- TFlashDriver . T28F016_SA_SVDriver
- TSerialChip . TSerialChip16450
- TSerialChip . TSerialChipVoyager
- TSerialDebugLink . TAsyncDebugLink
- TSerialDebugLink . TGeoPortDebugLink
- TVoyagerMiscIntf . TVoyagerMiscIntfImpl
- TTabletDriver . TResistiveTablet
- PBatteryDriver . PCirrusBatteryDriver
- TPlatformDriver . TVoyagerPlatform
- TScreenDriver . TMainDisplayDriver
- TReservedContiguousMemory . TScreenMemory
- PSoundDriver . PCirrusSoundDriver
Hardware support classes
Hardware drivers implemented as protocols use few "hidden" classess for interaction with bare hardware:
- TBIOInterface
- TGPIOInterface
- TADC
- TDMAChannel
- TDMAManager
- TSerialDMAEngine
- TICHandler
- TCardSocket
TGPIOInterface
This is just a bunch of input/output lines. Every line could be independently programmed as input or output, and on input change an interrupt could be generated. These are my current notes for GPIO functions:
0 0x0f18c000 R GPIO Interrupt status #4
1 0x0f18c400 GPIO Interrupt #8
2 0x0f18c800 Int ack? #12
3 0x0f18cc00 RW GPIO Interrupt #16
4 0x0f18d000 RW GPIO Interrupt #20
5 0x0f18d400 RW GPIO Input Data #24
6 0x0f18d800 RW GPIO Interrupt #28
7 0x0f18dc00 RW GPIO Pullup
8 0x0f18e000 RW GPIO Polarity
A 0x0f18e800 RW GPIO Direction
B 0x0f18ec00 RW GPIO Output Data

