X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;ds=sidebyside;f=packages%2Fhal%2Farm%2Fmx25%2Fkaro%2Fv1_0%2Finclude%2Fhal_platform_setup.h;h=b43469adc43b41b155b040073906ef537c77f5bb;hb=d018e3f678d0bbc67e64e26c78f3926ef6489826;hp=fa389c1677eead5ba38fe69912e8f14cb115fa7e;hpb=962ad69bfe490b0da6ddf78a096d3cf7c8cb1049;p=karo-tx-redboot.git diff --git a/packages/hal/arm/mx25/karo/v1_0/include/hal_platform_setup.h b/packages/hal/arm/mx25/karo/v1_0/include/hal_platform_setup.h index fa389c16..b43469ad 100644 --- a/packages/hal/arm/mx25/karo/v1_0/include/hal_platform_setup.h +++ b/packages/hal/arm/mx25/karo/v1_0/include/hal_platform_setup.h @@ -99,8 +99,9 @@ // GPIO_DR mov r9, \val cmp r9, #0 - movne r9, #(1 << DEBUG_LED_BIT) // LED ON - moveq r9, #0 // LED OFF + ldr r9, [r10, #GPIO_DR] + orne r9, #(1 << DEBUG_LED_BIT) // LED ON + biceq r9, #(1 << DEBUG_LED_BIT) // LED OFF str r9, [r10, #GPIO_DR] .endm @@ -182,7 +183,8 @@ // initialize GPIO2[7] (Pad A21) for LED on STK5 ldr r10, GPIO2_BASE_ADDR_W // GPIO_GDIR - mov r9, #(1 << DEBUG_LED_BIT) + ldr r9, [r10, #GPIO_GDIR] + orr r9, #(1 << DEBUG_LED_BIT) str r9, [r10, #GPIO_GDIR] ldr r10, IOMUXC_BASE_ADDR_W @@ -191,10 +193,69 @@ ldr r10, GPIO2_BASE_ADDR_W // GPIO_DR - mov r9, #(1 << DEBUG_LED_BIT) // LED ON + ldr r9, [r10, #GPIO_DR] + orr r9, #(1 << DEBUG_LED_BIT) // LED ON str r9, [r10, #GPIO_DR] .endm + .macro LCD_GPIO_INIT +#ifdef CYGHWR_TX25_BOOTSPLASH + ldr r10, IOMUXC_BASE_ADDR_W + + mov r9, #1 + str r9, [r10, #0x088] + str r9, [r10, #0x08c] + + mov r9, #0 + str r9, [r10, #0x0c8] + str r9, [r10, #0x0cc] + str r9, [r10, #0x0d0] + str r9, [r10, #0x0d4] + str r9, [r10, #0x0d8] + str r9, [r10, #0x0dc] + str r9, [r10, #0x0e0] + str r9, [r10, #0x0e4] + str r9, [r10, #0x0e8] + str r9, [r10, #0x0ec] + str r9, [r10, #0x0f0] + str r9, [r10, #0x0f4] + str r9, [r10, #0x0f8] + str r9, [r10, #0x0fc] + str r9, [r10, #0x100] + str r9, [r10, #0x104] + str r9, [r10, #0x108] + str r9, [r10, #0x10c] + str r9, [r10, #0x110] + str r9, [r10, #0x114] + + mov r9, #5 + str r9, [r10, #0x11c] /* configure PAD_PWM as GPIO1_26 LCD_BACKLIGHT */ + str r9, [r10, #0x020] /* dto. for PAD_A18 (GPIO2_4) LCD_RESET */ + str r9, [r10, #0x024] /* dto. for PAD_A19 (GPIO2_5) LCD_POWER */ + + ldr r10, GPIO1_BASE_ADDR_W + + ldr r9, [r10, #GPIO_DR] + orr r9, #(1 << (LCD_BACKLIGHT_GPIO % 32)) + str r9, [r10, #GPIO_DR] + + ldr r9, [r10, #GPIO_GDIR] + orr r9, #(1 << (LCD_BACKLIGHT_GPIO % 32)) + str r9, [r10, #GPIO_GDIR] + + ldr r10, GPIO2_BASE_ADDR_W + + ldr r9, [r10, #GPIO_DR] + bic r9, #(1 << (LCD_POWER_GPIO % 32) | (1 << (LCD_RESET_GPIO % 32))) + str r9, [r10, #GPIO_DR] + + ldr r9, [r10, #GPIO_GDIR] + orr r9, #((1 << (LCD_POWER_GPIO % 32)) | (1 << (LCD_RESET_GPIO % 32))) + str r9, [r10, #GPIO_GDIR] + +#endif + .endm + // This macro represents the initial startup code for the platform // r11 is reserved to contain chip rev info in this file .macro _platform_setup1 @@ -231,6 +292,7 @@ init_m3if_start: init_clock_start: init_clock + LCD_GPIO_INIT LED_INIT LED_BLINK #1 @@ -863,6 +925,7 @@ ESDCTL_CMD_PRECHARGE: .word ESDCTLVAL | ESDCTL_PCHG ESDCTL_CMD_MODEREG: .word ESDCTLVAL | ESDCTL_LMOD ESDCTL_CONFIG: .word ESDCFGVAL IOMUXC_BASE_ADDR_W: .word IOMUXC_BASE_ADDR +GPIO1_BASE_ADDR_W: .word GPIO1_BASE_ADDR GPIO2_BASE_ADDR_W: .word GPIO2_BASE_ADDR #ifdef USE_SERIAL UART1_BASE_ADDR_W: .word UART1_BASE_ADDR