Changeset b8ffb40 in umon
- Timestamp:
- 07/14/15 02:11:27 (9 years ago)
- Branches:
- master
- Children:
- 82f6941
- Parents:
- 8107331
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
main/dev/uart16550.c
r8107331 rb8ffb40 186 186 target_gotachar(void) 187 187 { 188 #if INCLUDE_BLINKLED 189 extern void TARGET_BLINKLED(void); 190 191 TARGET_BLINKLED(); 192 #endif 188 193 if (CONSOLE(SIO_LSTAT) & SIO_LSTAT_RRDY) 189 194 return(1); -
ports/beagleboneblack/am335x.h
r8107331 rb8ffb40 251 251 /* Control Module Registers */ 252 252 /*===========================================================================*/ 253 #define CONF_GPMC_A5 0x0854 254 #define CONF_GPMC_A6 0x0858 255 #define CONF_GPMC_A7 0x085c 256 #define CONF_GPMC_A8 0x0860 253 257 #define CONF_UART0_RXD 0x0970 254 258 #define CONF_UART0_TXD 0x0974 -
ports/beagleboneblack/config.h
r8107331 rb8ffb40 145 145 #define MONSTACKSIZE (16*1024) 146 146 147 // Cogent specific options148 #define INCLUDE_I2C 0149 #define INCLUDE_LCD 0150 147 151 148 /* Specify inclusion of subsystems within the monitor here. … … 196 193 #define INCLUDE_SD 0 197 194 #define INCLUDE_DNS 0 195 #define INCLUDE_BLINKLED 1 196 #define TARGET_BLINKLED target_blinkled 198 197 199 198 /* Inclusion of this next file will make sure that all of the above -
ports/beagleboneblack/cpuio.c
r8107331 rb8ffb40 8 8 #include "am335x.h" 9 9 #include "uart16550.h" 10 #include "cli.h" 10 11 11 12 int … … 138 139 pinMuxInit(void) 139 140 { 140 // Set pin mux configuration for UART0 RX/TX pins 141 CNTL_MODULE_REG(CONF_UART0_RXD) = SLEWSLOW | RX_ON | 142 PULL_OFF | MUXMODE_0; 143 CNTL_MODULE_REG(CONF_UART0_TXD) = SLEWSLOW | RX_OFF | 144 PULL_OFF | MUXMODE_0; 141 // Set pin mux configuration for UART0 RX/TX pins 142 CNTL_MODULE_REG(CONF_UART0_RXD) = SLEWSLOW | RX_ON | 143 PULL_OFF | MUXMODE_0; 144 CNTL_MODULE_REG(CONF_UART0_TXD) = SLEWSLOW | RX_OFF | 145 PULL_OFF | MUXMODE_0; 146 147 // Configure GPIO pins tied to four USR LEDS... 148 // GPIO1_21: USER0 LED (D2) 149 CNTL_MODULE_REG(CONF_GPMC_A5) = SLEWSLOW | RX_ON | 150 PULL_OFF | MUXMODE_7; 151 // GPIO1_22: USER1 LED (D3) 152 CNTL_MODULE_REG(CONF_GPMC_A6) = SLEWSLOW | RX_ON | 153 PULL_OFF | MUXMODE_7; 154 // GPIO1_23: USER2 LED (D4) 155 CNTL_MODULE_REG(CONF_GPMC_A7) = SLEWSLOW | RX_ON | 156 PULL_OFF | MUXMODE_7; 157 // GPIO1_24: USER3 LED (D5) 158 CNTL_MODULE_REG(CONF_GPMC_A8) = SLEWSLOW | RX_ON | 159 PULL_OFF | MUXMODE_7; 160 } 161 162 void 163 InitGPIO1(void) 164 { 165 // GPIO_CTRL: Enable GPIO1 module 166 GPIO1_REG(0x130) = 0; 167 168 // GPIO_OE: 25-24 are outputs... 169 GPIO1_REG(0x134) &= ~(USR0_LED | USR1_LED | USR2_LED | USR3_LED); 170 171 // All LEDs off... 172 GPIO1_REG(0x13c) &= ~(USR0_LED | USR1_LED | USR2_LED | USR3_LED); 145 173 } 146 174 … … 153 181 ram_vector_install(); 154 182 155 // Enable the control module: 156 CM_WKUP_REG(CM_WKUP_CONTROL_CLKCTRL) |= 2; 157 158 // Enable clock for UART0: 159 CM_WKUP_REG(CM_WKUP_UART0_CLKCTRL) |= 2; 160 161 pinMuxInit(); 162 163 InitUART(DEFAULT_BAUD_RATE); 164 165 // Set UART0 mode to 16x 166 UART0_REG(UART_MDR1) &= ~7; 167 } 183 // Enable the control module: 184 CM_WKUP_REG(CM_WKUP_CONTROL_CLKCTRL) |= 2; 185 186 // Enable clock for UART0: 187 CM_WKUP_REG(CM_WKUP_UART0_CLKCTRL) |= 2; 188 189 // Enable clock for GPIO1: 190 CM_PER_REG(CM_DIV_M3_DPLL_PER) |= 2; 191 192 pinMuxInit(); 193 194 InitUART(DEFAULT_BAUD_RATE); 195 InitGPIO1(); 196 197 // Set UART0 mode to 16x 198 UART0_REG(UART_MDR1) &= ~7; 199 } 200 201 int 202 led(int num, int on) 203 { 204 unsigned long bit; 205 206 switch(num) { 207 case 0: // D0 208 bit = USR0_LED; 209 break; 210 case 1: // D1 211 bit = USR1_LED; 212 break; 213 case 2: // D2 214 bit = USR2_LED; 215 break; 216 case 3: // D3 217 bit = USR3_LED; 218 break; 219 default: 220 return(-1); 221 } 222 223 // GPIO21-24: 224 if (on) 225 GPIO1_REG(0x13c) |= bit; 226 else 227 GPIO1_REG(0x13c) &= ~bit; 228 return(0); 229 } 230 231 void 232 target_blinkled(void) 233 { 234 #if INCLUDE_BLINKLED 235 static uint8_t ledstate; 236 static struct elapsed_tmr tmr; 237 238 #define STATLED_ON() led(0,1) 239 #define STATLED_OFF() led(0,0) 240 #ifndef BLINKON_MSEC 241 #define BLINKON_MSEC 10000 242 #define BLINKOFF_MSEC 10000 243 #endif 244 245 switch(ledstate) { 246 case 0: 247 startElapsedTimer(&tmr,BLINKON_MSEC); 248 STATLED_ON(); 249 ledstate = 1; 250 break; 251 case 1: 252 if(msecElapsed(&tmr)) { 253 STATLED_OFF(); 254 ledstate = 2; 255 startElapsedTimer(&tmr,BLINKOFF_MSEC); 256 } 257 break; 258 case 2: 259 if(msecElapsed(&tmr)) { 260 STATLED_ON(); 261 ledstate = 1; 262 startElapsedTimer(&tmr,BLINKON_MSEC); 263 } 264 break; 265 } 266 #endif 267 } -
ports/beagleboneblack/cpuio.h
r8107331 rb8ffb40 1 1 #define DEFAULT_BAUD_RATE 115200 2 3 #define HWREAD32(a) *(volatile unsigned long *)(a) 4 #define HWREAD16(a) *(volatile unsigned short *)(a) 5 #define HWREAD8(a) *(volatile unsigned char *)(a) 6 7 #define HWWRITE32(a,b) *(volatile unsigned long *)(a) = (b) 8 #define HWWRITE16(a,b) *(volatile unsigned short *)(a) = (b) 9 #define HWWRITE8(a,b) *(volatile unsigned char *)(a) = (b) 10 11 #define GPIO1_21 (1<<21) 12 #define GPIO1_22 (1<<22) 13 #define GPIO1_23 (1<<23) 14 #define GPIO1_24 (1<<24) 15 16 // Referring to BBB schematic... 17 // Pg6 shows the 4 user leds, pg3 shows the pins on the Sitara 18 // The four user leds are on GPIO1, pins 21-24 19 #define USR0_LED GPIO1_21 // Ball V15: GPMC_A5 mode7 (D2) 20 #define USR1_LED GPIO1_22 // Ball U15: GPMC_A6 mode7 (D3) 21 #define USR2_LED GPIO1_23 // Ball T15: GPMC_A7 mode7 (D4) 22 #define USR3_LED GPIO1_24 // Ball V16: GPMC_A8 mode7 (D5) -
ports/beagleboneblack/xcmdtbl.h
r8107331 rb8ffb40 7 7 /* added to the cmdtbl[] array. */ 8 8 /* For example: 9 "dummy", dummycmd, dummyHelp,9 { "dummy", dummycmd, dummyHelp, 0 }, 10 10 */
Note: See TracChangeset
for help on using the changeset viewer.