X-Git-Url: https://git.kernelconcepts.de/?p=karo-tx-uboot.git;a=blobdiff_plain;f=board%2Fkaro%2Ftx28%2Ftx28.c;h=f1fca4a17a229438ccc9ed2de77161049c3605b5;hp=25d61c2abc52f2b14f852c7a790d70e7e32ed813;hb=22b815e25c06ab2f1920e9e1c531fd8fc36f442f;hpb=74999ac6506460c72d982cff261575729c4f725a diff --git a/board/karo/tx28/tx28.c b/board/karo/tx28/tx28.c index 25d61c2abc..f1fca4a17a 100644 --- a/board/karo/tx28/tx28.c +++ b/board/karo/tx28/tx28.c @@ -54,6 +54,17 @@ DECLARE_GLOBAL_DATA_PTR; #define STK5_CAN_XCVR_GPIO MX28_PAD_LCD_D00__GPIO_1_0 +#define ENET_PAD_CTRL (MXS_PAD_3V3 | MXS_PAD_4MA | MXS_PAD_PULLUP) +#define GPIO_PAD_CTRL (MXS_PAD_3V3 | MXS_PAD_4MA | MXS_PAD_PULLUP) +#define I2C_PAD_CTRL (MXS_PAD_3V3 | MXS_PAD_12MA | MXS_PAD_PULLUP) + +#ifndef CONFIG_CONS_INDEX +struct serial_device *default_serial_console(void) +{ + return NULL; +} +#endif + static const struct gpio tx28_gpios[] = { { TX28_USBH_VBUSEN_GPIO, GPIOFLAG_OUTPUT_INIT_LOW, "USBH VBUSEN", }, { TX28_USBH_OC_GPIO, GPIOFLAG_INPUT, "USBH OC", }, @@ -63,26 +74,9 @@ static const struct gpio tx28_gpios[] = { }; static const iomux_cfg_t tx28_pads[] = { - /* UART pads */ -#if CONFIG_CONS_INDEX == 0 - MX28_PAD_AUART0_RX__DUART_CTS, - MX28_PAD_AUART0_TX__DUART_RTS, - MX28_PAD_AUART0_CTS__DUART_RX, - MX28_PAD_AUART0_RTS__DUART_TX, -#elif CONFIG_CONS_INDEX == 1 - MX28_PAD_AUART1_RX__AUART1_RX, - MX28_PAD_AUART1_TX__AUART1_TX, - MX28_PAD_AUART1_CTS__AUART1_CTS, - MX28_PAD_AUART1_RTS__AUART1_RTS, -#elif CONFIG_CONS_INDEX == 2 - MX28_PAD_AUART3_RX__AUART3_RX, - MX28_PAD_AUART3_TX__AUART3_TX, - MX28_PAD_AUART3_CTS__AUART3_CTS, - MX28_PAD_AUART3_RTS__AUART3_RTS, -#endif /* I2C bus for internal DS1339, PCA9554 and on DIMM pins 40/41 */ - MX28_PAD_I2C0_SCL__I2C0_SCL, - MX28_PAD_I2C0_SDA__I2C0_SDA, + MX28_PAD_I2C0_SCL__I2C0_SCL | I2C_PAD_CTRL, + MX28_PAD_I2C0_SDA__I2C0_SDA | I2C_PAD_CTRL, /* USBH VBUSEN, OC */ MX28_PAD_SPDIF__GPIO_3_27, @@ -298,9 +292,9 @@ static inline void tx28_init_mac(void) #endif /* CONFIG_GET_FEC_MAC_ADDR_FROM_IIM */ static const iomux_cfg_t tx28_fec_pads[] = { - MX28_PAD_ENET0_RX_EN__ENET0_RX_EN, - MX28_PAD_ENET0_RXD0__ENET0_RXD0, - MX28_PAD_ENET0_RXD1__ENET0_RXD1, + MX28_PAD_ENET0_RX_EN__ENET0_RX_EN | ENET_PAD_CTRL, + MX28_PAD_ENET0_RXD0__ENET0_RXD0 | ENET_PAD_CTRL, + MX28_PAD_ENET0_RXD1__ENET0_RXD1 | ENET_PAD_CTRL, }; int board_eth_init(bd_t *bis) @@ -368,14 +362,18 @@ enum { LED_STATE_INIT = -1, LED_STATE_OFF, LED_STATE_ON, + LED_STATE_DISABLED, }; +static int led_state = LED_STATE_DISABLED; + void show_activity(int arg) { - static int led_state = LED_STATE_INIT; static ulong last; - if (led_state == LED_STATE_INIT) { + if (led_state == LED_STATE_DISABLED) { + return; + } else if (led_state == LED_STATE_INIT) { last = get_timer(0); gpio_set_value(TX28_LED_GPIO, 1); led_state = LED_STATE_ON; @@ -384,31 +382,30 @@ void show_activity(int arg) last = get_timer(0); if (led_state == LED_STATE_ON) { gpio_set_value(TX28_LED_GPIO, 0); + led_state = LED_STATE_OFF; } else { gpio_set_value(TX28_LED_GPIO, 1); + led_state = LED_STATE_ON; } - led_state = 1 - led_state; } } } static const iomux_cfg_t stk5_pads[] = { /* SW controlled LED on STK5 baseboard */ - MX28_PAD_ENET0_RXD3__GPIO_4_10, + MX28_PAD_ENET0_RXD3__GPIO_4_10 | GPIO_PAD_CTRL, }; static const struct gpio stk5_gpios[] = { }; #ifdef CONFIG_LCD -static ushort tx28_cmap[256]; vidinfo_t panel_info = { /* set to max. size supported by SoC */ .vl_col = 1600, .vl_row = 1200, .vl_bpix = LCD_COLOR32, /* Bits per pixel, 0: 1bpp, 1: 2bpp, 2: 4bpp, 3: 8bpp ... */ - .cmap = tx28_cmap, }; static struct fb_videomode tx28_fb_modes[] = { @@ -827,6 +824,7 @@ static void stk5_board_init(void) static void stk5v3_board_init(void) { + led_state = LED_STATE_INIT; stk5_board_init(); }