-
Notifications
You must be signed in to change notification settings - Fork 137
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This adds compatibility to 64Bit Linux, derived from work by @Kaiede in PR #76. Added a comment in the PWM section for what could be a source of issues when configuring the DMA on 64bit systems. Need to check the official docs for more info on this.
- Loading branch information
Showing
2 changed files
with
73 additions
and
73 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
0ea60fd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Regarding the DMA issue, section 4.2.1.1 covers this. If you try to write a 64-bit address into a channel's CONBLK_AD where you placed the comment, you wind up writing to the TI register for the channel as well with the high 32-bit "word" (ARM is little endian, yes?). Writing 64-bit addresses in the CB will overflow into the channel's DEBUG register in the same way.
DMA on these devices only supports 32-bit physical addresses, despite supporting 64-bit. I think because the chip doesn't expect more than 4GB of physical RAM + IO memory.
0ea60fd
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, this settles it then.