Changes in boot/arch/arm32/src/putchar.c [8f9d70b:9f8a07d3] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
boot/arch/arm32/src/putchar.c
r8f9d70b r9f8a07d3 122 122 #endif 123 123 124 #ifdef MACHINE_raspberrypi125 126 static int raspi_init;127 128 static inline void write32(uint32_t addr, uint32_t data)129 {130 *(volatile uint32_t *)(addr) = data;131 }132 133 static inline uint32_t read32(uint32_t addr)134 {135 return *(volatile uint32_t *)(addr);136 }137 138 static void scons_init_raspi(void)139 {140 write32(BCM2835_UART0_CR, 0x0); /* Disable UART */141 write32(BCM2835_UART0_ICR, 0x7f); /* Clear interrupts */142 write32(BCM2835_UART0_IBRD, 1); /* Set integer baud rate */143 write32(BCM2835_UART0_FBRD, 40); /* Set fractional baud rate */144 write32(BCM2835_UART0_LCRH,145 BCM2835_UART0_LCRH_FEN | /* Enable FIFOs */146 BCM2835_UART0_LCRH_WL8); /* Word length: 8 */147 write32(BCM2835_UART0_CR,148 BCM2835_UART0_CR_UARTEN | /* Enable UART */149 BCM2835_UART0_CR_TXE | /* Enable TX */150 BCM2835_UART0_CR_RXE); /* Enable RX */151 }152 153 static void scons_sendb_raspi(uint8_t byte)154 {155 if (!raspi_init) {156 scons_init_raspi();157 raspi_init = 1;158 }159 160 while (read32(BCM2835_UART0_FR) & BCM2835_UART0_FR_TXFF);161 162 write32(BCM2835_UART0_DR, byte);163 }164 #endif165 166 124 /** Send a byte to the serial console. 167 125 * … … 181 139 #ifdef MACHINE_integratorcp 182 140 scons_sendb_icp(byte); 183 #endif184 #ifdef MACHINE_raspberrypi185 scons_sendb_raspi(byte);186 141 #endif 187 142 }
Note:
See TracChangeset
for help on using the changeset viewer.