Ejemplo n.º 1
0
static void __init easy50712_init(void)
{
	ltq_register_gpio_stp();
	ltq_register_nor(&easy50712_flash_data);
	ltq_register_pci(&ltq_pci_data);
	ltq_register_etop(&ltq_eth_data);
	ltq_register_tapi();
}
Ejemplo n.º 2
0
static void __init
wbmr_init(void)
{
#define WMBR_BRN_MAC			0x1fd0024

	ltq_add_device_gpio_leds(-1, ARRAY_SIZE(wbmr_gpio_leds), wbmr_gpio_leds);
	ltq_register_gpio_keys_polled(-1, LTQ_KEYS_POLL_INTERVAL, ARRAY_SIZE(wbmr_gpio_keys), wbmr_gpio_keys);
	ltq_register_nor(&wbmr_flash_data);
	ltq_register_pci(&ltq_pci_data);
	memcpy_fromio(&ltq_eth_data.mac.sa_data,
		(void *)KSEG1ADDR(LTQ_FLASH_START + WMBR_BRN_MAC), 6);
	ltq_register_etop(&ltq_eth_data);
	xway_register_dwc(36);
}
Ejemplo n.º 3
0
static int __init gigasx76x_register_ethernet(void) {
	u_int8_t addr[6];
	int i;
	char *uboot_env_page;
	char *mac;

	uboot_env_page = ioremap(LTQ_FLASH_START + UBOOT_ENV_OFFSET, UBOOT_ENV_SIZE);
	if (!uboot_env_page)
		return -ENOMEM;

	mac = get_uboot_env_var(uboot_env_page, UBOOT_ENV_SIZE, "\0ethaddr=", 9);

	if (!mac) {
	goto error_fail;
	}

	/* Sanity check the string we're looking at */
	for (i = 0; i < 5; i++) {
	if (*(mac + (i * 3) + 2) != ':') {
		goto error_fail;
		}
	}

	for (i = 0; i < 6; i++) {
		int byte;
		byte = gigasx76x_parse_hex_byte(mac + (i * 3));
		if (byte < 0) {
			goto error_fail;
		}
		addr[i] = byte;
	}

	iounmap(uboot_env_page);
	printk("GIGASX76X: Found ethernet MAC address: ");
	for (i = 0; i < 6; i++)
		printk("%.2x%s", addr[i], (i < 5) ? ":" : ".\n");

	memcpy(&ltq_eth_data.mac.sa_data, addr, 6);
	ltq_register_etop(&ltq_eth_data);

	return 0;

	error_fail:
		iounmap(uboot_env_page);
		return -EINVAL;
}
Ejemplo n.º 4
0
static void __init
p2601hnfx_init(void)
{
#define P2601HNFX_USB			9

	ltq_register_gpio_stp();
	ltq_add_device_gpio_leds(-1, ARRAY_SIZE(p2601hnfx_leds_gpio), p2601hnfx_leds_gpio);
	ltq_register_gpio_buttons(p2601hnfx_gpio_buttons, ARRAY_SIZE(p2601hnfx_gpio_buttons));
	ltq_register_nor(&p2601hnfx_flash_data);
	ltq_register_etop(&ltq_eth_data);
	xway_register_dwc(P2601HNFX_USB);

	// enable the ethernet ports on the SoC
//	ltq_w32((ltq_r32(LTQ_GPORT_P0_CTL) & ~(1 << 17)) | (1 << 18), LTQ_GPORT_P0_CTL);
//	ltq_w32((ltq_r32(LTQ_GPORT_P1_CTL) & ~(1 << 17)) | (1 << 18), LTQ_GPORT_P1_CTL);
//	ltq_w32((ltq_r32(LTQ_GPORT_P2_CTL) & ~(1 << 17)) | (1 << 18), LTQ_GPORT_P2_CTL);
}
Ejemplo n.º 5
0
static void __init
easy50601_init(void)
{
	ltq_register_nor(&easy50601_flash_data);
	ltq_register_etop(&ltq_eth_data);
}