Esempio n. 1
0
File: mux.c Progetto: Bing0/u-boot
void enable_board_pin_mux(void)
{
	enable_uart3_pin_mux();
	configure_module_pin_mux(nand_pin_mux);
	configure_module_pin_mux(ethernet_pin_mux);
	configure_module_pin_mux(gpios_pin_mux);
}
Esempio n. 2
0
static void enable_board_pin_mux(void)
{
	chilisom_enable_pin_mux();

	/* chiliboard pinmux */
	configure_module_pin_mux(rmii1_pin_mux);
	configure_module_pin_mux(mmc0_pin_mux);
}
Esempio n. 3
0
/*
 * Do board-specific muxes.
 */
void enable_board_pin_mux(void)
{
	/* NAND Flash */
	configure_module_pin_mux(nand_pin_mux);
	/* SD Card */
	configure_module_pin_mux(mmc0_pin_mux);
	/* Ethernet pinmux. */
	configure_module_pin_mux(rgmii1_pin_mux);
	configure_module_pin_mux(rgmii2_pin_mux);
}
Esempio n. 4
0
void enable_board_pin_mux()
{
	configure_module_pin_mux(rmii1_pin_mux);
	configure_module_pin_mux(mmc0_pin_mux);
	configure_module_pin_mux(cbmux_pin_mux);
#ifdef CONFIG_NAND
	configure_module_pin_mux(nand_pin_mux);
#endif
#ifdef CONFIG_SPI
	configure_module_pin_mux(spi0_pin_mux);
#endif
}
Esempio n. 5
0
void enable_board_pin_mux(void)
{
	configure_module_pin_mux(rev_pin_mux);
	configure_module_pin_mux(mmc0_pin_mux);
	configure_module_pin_mux(nand_pin_mux);
	configure_module_pin_mux(i2c1_pin_mux);
	configure_module_pin_mux(gpio0_2_pin_mux);
	configure_module_pin_mux(gpio2_19_pin_mux);
	configure_module_pin_mux(clkout_pin_mux);
	configure_module_pin_mux(bt_uart_select_pin_mux);
	configure_module_pin_mux(rgmii2_strapping_pin_mux);
}
Esempio n. 6
0
/**
 * @brief The basic entry point for board initialization.
 *
 * This is called as part of machine init (after arch init).
 * This is again called with stack in SRAM, so not too many
 * constructs possible here.
 *
 * @return void
 */
static noinline int gf_sram_init(void)
{
	void *fdt;

	fdt = __dtb_z_am335x_afi_gf_start;

	/* WDT1 is already running when the bootloader gets control
	 * Disable it to avoid "random" resets
	 */
	__raw_writel(WDT_DISABLE_CODE1, AM33XX_WDT_REG(WSPR));
	while(__raw_readl(AM33XX_WDT_REG(WWPS)) != 0x0);
	__raw_writel(WDT_DISABLE_CODE2, AM33XX_WDT_REG(WSPR));
	while(__raw_readl(AM33XX_WDT_REG(WWPS)) != 0x0);

	/* Setup the PLLs and the clocks for the peripherals */
	am33xx_pll_init(MPUPLL_M_500, DDRPLL_M_200);

	board_config_ddr();

	/*
	 * FIXME configure CAN pinmux early to avoid driving the bus
	 * with the low by default pins.
	 */
	configure_module_pin_mux(board_can_pin_mux);

	am33xx_uart_soft_reset((void *)AM33XX_UART2_BASE);
	am33xx_enable_uart2_pin_mux();
	omap_uart_lowlevel_init((void *)AM33XX_UART2_BASE);
	putc_ll('>');

	barebox_arm_entry(0x80000000, SZ_256M, fdt);
}
Esempio n. 7
0
void enable_i2c1_pin_mux(void)
{
	debug(">>pia:enable_i2c1_pin_mux()\n");
	/* for first start config, we need the second i2c bus in MLO */
#ifdef CONFIG_PIA_FIRSSTART
#if defined(CONFIG_PIA_E2)
	configure_module_pin_mux(i2c1_pin_mux);
#elif defined(CONFIG_PIA_MMI)
	configure_module_pin_mux(mmi_i2c1_pin_mux);
#else
	configure_module_pin_mux(pm_i2c1_pin_mux);
#endif
#else
	/* for now, we only need second eeprom with PM */
	configure_module_pin_mux(pm_i2c1_pin_mux);
#endif
}
Esempio n. 8
0
void enable_board_pin_mux(void)
{
	configure_module_pin_mux(i2c0_pin_mux);
	configure_module_pin_mux(mii1_pin_mux);
	configure_module_pin_mux(spi0_pin_mux);
	configure_module_pin_mux(dcan0_pin_mux);
	configure_module_pin_mux(dcan1_pin_mux);
	configure_module_pin_mux(mmc1_pin_mux);
	configure_module_pin_mux(lcd_pin_mux);
	configure_module_pin_mux(gpios);
}
Esempio n. 9
0
void enable_board_pin_mux(void)
{
	configure_module_pin_mux(i2c0_pin_mux);
	configure_module_pin_mux(mii1_pin_mux);
	configure_module_pin_mux(mii2_pin_mux);
#ifdef CONFIG_NAND
	configure_module_pin_mux(nand_pin_mux);
#elif defined(CONFIG_MMC)
	configure_module_pin_mux(mmc1_pin_mux);
#endif
	configure_module_pin_mux(spi0_pin_mux);
	configure_module_pin_mux(lcd_pin_mux);
	configure_module_pin_mux(uart1_pin_mux);
	configure_module_pin_mux(gpIOs);
}
Esempio n. 10
0
void enable_board_pin_mux(void)
{
	configure_module_pin_mux(mmc0_pin_mux);
	configure_module_pin_mux(i2c0_pin_mux);
	configure_module_pin_mux(mdio_pin_mux);

	if (board_is_gpevm()) {
		configure_module_pin_mux(gpio5_7_pin_mux);
		configure_module_pin_mux(rgmii1_pin_mux);
	} else if (board_is_sk()) {
		configure_module_pin_mux(rgmii1_pin_mux);
		configure_module_pin_mux(qspi_pin_mux);
	} else if (board_is_eposevm()) {
		configure_module_pin_mux(rmii1_pin_mux);
		configure_module_pin_mux(qspi_pin_mux);
	}
}
Esempio n. 11
0
void set_mux_conf_regs(void)
{
	configure_module_pin_mux(mmc0_pin_mux);
	configure_module_pin_mux(i2c0_pin_mux);
	configure_module_pin_mux(mdio_pin_mux);
	
	if (board_is_ricoboard()) {
	configure_module_pin_mux(gpio3_pin_mux);
	configure_module_pin_mux(rgmii1_pin_mux);
#if defined(CONFIG_NAND)
	configure_module_pin_mux(nand_pin_mux);
#else
	configure_module_pin_mux(qspi_pin_mux);
	configure_module_pin_mux(emmc_pin_mux);
#endif
	}
}
Esempio n. 12
0
void enable_board_pin_mux(struct am335x_baseboard_id *header)
{
	/* Do board-specific muxes. */
	if (!strncmp(header->name, "A335BONE", HDR_NAME_LEN)) {
		/* Beaglebone pinmux */
		configure_module_pin_mux(i2c1_pin_mux);
		configure_module_pin_mux(mii1_pin_mux);
		configure_module_pin_mux(mmc0_pin_mux);
#ifndef CONFIG_NOR
		configure_module_pin_mux(mmc1_pin_mux);
#endif
#if defined(CONFIG_NOR) && !defined(CONFIG_NOR_BOOT)
		configure_module_pin_mux(bone_norcape_pin_mux);
#endif
	} else if (!strncmp(header->config, "SKU#01", 6)) {
		/* General Purpose EVM */
		unsigned short profile = detect_daughter_board_profile();
		configure_module_pin_mux(rgmii1_pin_mux);
		configure_module_pin_mux(mmc0_pin_mux);
		/* In profile #2 i2c1 and spi0 conflict. */
		if (profile & ~PROFILE_2)
			configure_module_pin_mux(i2c1_pin_mux);
		/* Profiles 2 & 3 don't have NAND */
		if (profile & ~(PROFILE_2 | PROFILE_3))
			configure_module_pin_mux(nand_pin_mux);
		else if (profile == PROFILE_2) {
			configure_module_pin_mux(mmc1_pin_mux);
			configure_module_pin_mux(spi0_pin_mux);
		}
	} else if (!strncmp(header->config, "SKU#02", 6)) {
		/*
		 * Industrial Motor Control (IDK)
		 * note: IDK console is on UART3 by default.
		 *       So u-boot mus be build with CONFIG_SERIAL4 and
		 *       CONFIG_CONS_INDEX=4
		 */
		configure_module_pin_mux(mii1_pin_mux);
		configure_module_pin_mux(mmc0_no_cd_pin_mux);
	} else if (!strncmp(header->name, "A335X_SK", HDR_NAME_LEN)) {
		/* Starter Kit EVM */
		configure_module_pin_mux(i2c1_pin_mux);
		configure_module_pin_mux(gpio0_7_pin_mux);
		configure_module_pin_mux(rgmii1_pin_mux);
		configure_module_pin_mux(mmc0_pin_mux_sk_evm);
	} else if (!strncmp(header->name, "A335BNLT", HDR_NAME_LEN)) {
		/* Beaglebone LT pinmux */
		configure_module_pin_mux(i2c1_pin_mux);
		configure_module_pin_mux(mii1_pin_mux);
		configure_module_pin_mux(mmc0_pin_mux);
		configure_module_pin_mux(mmc1_pin_mux);
	} else {
		puts("Unknown board, cannot configure pinmux.");
		hang();
	}
}
Esempio n. 13
0
void enable_i2c0_pin_mux(void)
{
	configure_module_pin_mux(i2c0_pin_mux);
}
Esempio n. 14
0
void enable_uart5_pin_mux(void)
{
	configure_module_pin_mux(uart5_pin_mux);
}
Esempio n. 15
0
void set_uart_mux_conf(void)
{
	configure_module_pin_mux(uart0_pin_mux);
}
Esempio n. 16
0
void enable_rmii1_pin_mux(void)
{
	configure_module_pin_mux(rmii1_pin_mux);
}
Esempio n. 17
0
void pcm051_enable_user_btn_pin_mux(void)
{
	configure_module_pin_mux(user_btn_pin_mux);
}
Esempio n. 18
0
void enable_norboot_pin_mux(void)
{
	configure_module_pin_mux(bone_norcape_pin_mux);
}
Esempio n. 19
0
void am33xx_enable_spi0_pin_mux(void)
{
	configure_module_pin_mux(spi0_pin_mux);
}
Esempio n. 20
0
void am33xx_enable_uart2_pin_mux(void)
{
	configure_module_pin_mux(uart2_pin_mux);
}
Esempio n. 21
0
void set_i2c_pin_mux()
{
	configure_module_pin_mux(i2c0_pin_mux);
}
Esempio n. 22
0
void enable_board_pin_mux(struct am335x_baseboard_id *header)
{
	/* Do board-specific muxes. */
	if (board_is_bone(header)) {
		/* Beaglebone pinmux */
		configure_module_pin_mux(i2c1_pin_mux);
		configure_module_pin_mux(mii1_pin_mux);
		configure_module_pin_mux(mmc0_pin_mux);
#if defined(CONFIG_NAND)
		configure_module_pin_mux(nand_pin_mux);
#elif defined(CONFIG_NOR)
		configure_module_pin_mux(bone_norcape_pin_mux);
#else
		configure_module_pin_mux(mmc1_pin_mux);
#endif
	} else if (board_is_gp_evm(header)) {
		/* General Purpose EVM */
		unsigned short profile = detect_daughter_board_profile();
		configure_module_pin_mux(rgmii1_pin_mux);
		configure_module_pin_mux(mmc0_pin_mux);
		/* In profile #2 i2c1 and spi0 conflict. */
		if (profile & ~PROFILE_2)
			configure_module_pin_mux(i2c1_pin_mux);
		/* Profiles 2 & 3 don't have NAND */
#ifdef CONFIG_NAND
		if (profile & ~(PROFILE_2 | PROFILE_3))
			configure_module_pin_mux(nand_pin_mux);
#endif
		else if (profile == PROFILE_2) {
			configure_module_pin_mux(mmc1_pin_mux);
			configure_module_pin_mux(spi0_pin_mux);
		}
	} else if (board_is_idk(header)) {
		/* Industrial Motor Control (IDK) */
		configure_module_pin_mux(mii1_pin_mux);
		configure_module_pin_mux(mmc0_no_cd_pin_mux);
	} else if (board_is_evm_sk(header)) {
		/* Starter Kit EVM */
		configure_module_pin_mux(i2c1_pin_mux);
		configure_module_pin_mux(gpio0_7_pin_mux);
		configure_module_pin_mux(rgmii1_pin_mux);
		configure_module_pin_mux(mmc0_pin_mux_sk_evm);
	} else if (board_is_bone_lt(header)) {
		/* Beaglebone LT pinmux */
		configure_module_pin_mux(i2c1_pin_mux);
		configure_module_pin_mux(mii1_pin_mux);
		configure_module_pin_mux(mmc0_pin_mux);
#if defined(CONFIG_NAND)
		configure_module_pin_mux(nand_pin_mux);
#elif defined(CONFIG_NOR)
		configure_module_pin_mux(bone_norcape_pin_mux);
#else
		configure_module_pin_mux(mmc1_pin_mux);
#endif
	} else {
		puts("Unknown board, cannot configure pinmux.");
		hang();
	}
}
Esempio n. 23
0
void am33xx_enable_rmii2_pin_mux(void)
{
	configure_module_pin_mux(rmii2_pin_mux);
}
Esempio n. 24
0
void enable_board_pin_mux(void)
{
	configure_module_pin_mux(mmc0_pin_mux);
	configure_module_pin_mux(i2c0_pin_mux);
	configure_module_pin_mux(mdio_pin_mux);

	if (board_is_evm()) {
		configure_module_pin_mux(gpio5_7_pin_mux);
		configure_module_pin_mux(rgmii1_pin_mux);
#if defined(CONFIG_NAND)
		configure_module_pin_mux(nand_pin_mux);
#endif
	} else if (board_is_sk() || board_is_idk()) {
		configure_module_pin_mux(rgmii1_pin_mux);
#if defined(CONFIG_NAND)
		printf("Error: NAND flash not present on this board\n");
#endif
		configure_module_pin_mux(qspi_pin_mux);
	} else if (board_is_eposevm()) {
		configure_module_pin_mux(rmii1_pin_mux);
#if defined(CONFIG_NAND)
		configure_module_pin_mux(nand_pin_mux);
#else
		configure_module_pin_mux(qspi_pin_mux);
#endif
	}
}
Esempio n. 25
0
void am33xx_enable_i2c2_pin_mux(void)
{
	configure_module_pin_mux(i2c2_pin_mux);
}
Esempio n. 26
0
void enable_rgmii2_pin_mux(void)
{
	configure_module_pin_mux(rgmii2_pin_mux);
}
Esempio n. 27
0
void am33xx_enable_mmc0_pin_mux(void)
{
	configure_module_pin_mux(mmc0_pin_mux);
}
Esempio n. 28
0
void pcm051_enable_mmc0_pin_mux(void)
{
	configure_module_pin_mux(mmc0_pin_mux);
}
Esempio n. 29
0
void am33xx_enable_nand_pin_mux(void)
{
	configure_module_pin_mux(nand_pin_mux);
}
Esempio n. 30
0
void pcm051_enable_nand_pin_mux(void)
{
	configure_module_pin_mux(nand_pin_mux);
}