diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib.rs | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/lib.rs b/src/lib.rs index e145b821b..8e43f51f1 100644 --- a/src/lib.rs +++ b/src/lib.rs | |||
| @@ -92,6 +92,9 @@ const BACKPLANE_WINDOW_SIZE: usize = 0x8000; | |||
| 92 | const BACKPLANE_ADDRESS_MASK: u32 = 0x7FFF; | 92 | const BACKPLANE_ADDRESS_MASK: u32 = 0x7FFF; |
| 93 | const BACKPLANE_ADDRESS_32BIT_FLAG: u32 = 0x08000; | 93 | const BACKPLANE_ADDRESS_32BIT_FLAG: u32 = 0x08000; |
| 94 | const BACKPLANE_MAX_TRANSFER_SIZE: usize = 64; | 94 | const BACKPLANE_MAX_TRANSFER_SIZE: usize = 64; |
| 95 | // Active Low Power (ALP) clock constants | ||
| 96 | const BACKPLANE_ALP_AVAIL_REQ: u8 = 0x08; | ||
| 97 | const BACKPLANE_ALP_AVAIL: u8 = 0x40; | ||
| 95 | 98 | ||
| 96 | // Broadcom AMBA (Advanced Microcontroller Bus Architecture) Interconnect (AI) | 99 | // Broadcom AMBA (Advanced Microcontroller Bus Architecture) Interconnect (AI) |
| 97 | // constants | 100 | // constants |
| @@ -603,10 +606,11 @@ where | |||
| 603 | // seems to break backplane??? eat the 4-byte delay instead, that's what the vendor drivers do... | 606 | // seems to break backplane??? eat the 4-byte delay instead, that's what the vendor drivers do... |
| 604 | //self.write32(FUNC_BUS, REG_BUS_RESP_DELAY, 0).await; | 607 | //self.write32(FUNC_BUS, REG_BUS_RESP_DELAY, 0).await; |
| 605 | 608 | ||
| 606 | // Init ALP (no idea what that stands for) clock | 609 | // Init ALP (Active Low Power) clock |
| 607 | self.write8(FUNC_BACKPLANE, REG_BACKPLANE_CHIP_CLOCK_CSR, 0x08).await; | 610 | self.write8(FUNC_BACKPLANE, REG_BACKPLANE_CHIP_CLOCK_CSR, BACKPLANE_ALP_AVAIL_REQ) |
| 611 | .await; | ||
| 608 | info!("waiting for clock..."); | 612 | info!("waiting for clock..."); |
| 609 | while self.read8(FUNC_BACKPLANE, REG_BACKPLANE_CHIP_CLOCK_CSR).await & 0x40 == 0 {} | 613 | while self.read8(FUNC_BACKPLANE, REG_BACKPLANE_CHIP_CLOCK_CSR).await & BACKPLANE_ALP_AVAIL == 0 {} |
| 610 | info!("clock ok"); | 614 | info!("clock ok"); |
| 611 | 615 | ||
| 612 | let chip_id = self.bp_read16(0x1800_0000).await; | 616 | let chip_id = self.bp_read16(0x1800_0000).await; |
