Exemplo n.º 1
0
#define PHY_CLOCK(_port, _pin, _func, _retiming) \
	{ \
		.gpio = stm_gpio(_port, _pin), \
		.direction = stm_pad_gpio_direction_unknown, \
		.function = _func, \
		.name = "PHYCLK", \
		.priv = &(struct stxh205_pio_config) { \
		.retime = _retiming, \
		}, \
	}


static struct stm_pad_config stxh205_ethernet_mii_pad_config = {
	.gpios_num = 20,
	.gpios = (struct stm_pad_gpio []) {
		DATA_OUT(0, 0, 1, RET_BYPASS(0)),/* TXD[0] */
		DATA_OUT(0, 1, 1, RET_BYPASS(0)),/* TXD[1] */
		DATA_OUT(0, 2, 1, RET_BYPASS(0)),/* TXD[2] */
		DATA_OUT(0, 3, 1, RET_BYPASS(0)),/* TXD[3] */
		TXER(0, 4, 1, RET_BYPASS(0)),/* TXER */
		DATA_OUT(0, 5, 1, RET_BYPASS(0)),/* TXEN */
		CLOCK_IN(0, 6, 1, RET_NICLK(0)),/* TXCLK */
		DATA_IN(0, 7, 1, RET_BYPASS(0)),/* COL */
		DATA_OUT_PU(1, 0, 1, RET_BYPASS(0)),/* MDIO*/
		CLOCK_OUT(1, 1, 1, RET_NICLK(0)),/* MDC */
		DATA_IN(1, 2, 1, RET_BYPASS(0)),/* CRS */
		DATA_IN(1, 3, 1, RET_BYPASS(0)),/* MDINT */
		DATA_IN(1, 4, 1, RET_BYPASS(0)),/* RXD[0] */
		DATA_IN(1, 5, 1, RET_BYPASS(0)),/* RXD[1] */
		DATA_IN(1, 6, 1, RET_BYPASS(0)),/* RXD[2] */
		DATA_IN(1, 7, 1, RET_BYPASS(0)),/* RXD[3] */
Exemplo n.º 2
0
	sysconf_write(gbit_sc[1], 0);
	return 0;
}

void stih415_gmac1_release(struct stm_pad_state *state, void *priv)
{
	sysconf_release(gbit_sc[1]);
}


static struct stm_pad_config stih415_ethernet_mii_pad_configs[] = {
	[0] =  {
		.gpios_num = 20,
		.gpios = (struct stm_pad_gpio []) {
			PHY_CLOCK(13, 5, 2, RET_NICLK(0, 1)),/* PHYCLK */
			DATA_IN(13, 6, 2, RET_BYPASS(0)),/* MDINT */
			DATA_OUT(13, 7, 2, RET_SE_NICLK_IO(0, 0)),/* TXEN */

			DATA_OUT(14, 0, 2, RET_SE_NICLK_IO(0, 0)),/* TXD[0] */
			DATA_OUT(14, 1, 2, RET_SE_NICLK_IO(0, 0)),/* TXD[1] */
			DATA_OUT(14, 2, 2, RET_SE_NICLK_IO(0, 1)),/* TXD[2] */
			DATA_OUT(14, 3, 2, RET_SE_NICLK_IO(0, 1)),/* TXD[3] */

			CLOCK_IN(15, 0, 2, RET_NICLK(0, 0)),/* TXCLK */
			DATA_OUT(15, 1, 2, RET_SE_NICLK_IO(0, 0)),/* TXER */
			DATA_IN(15, 2, 2, RET_BYPASS(1000)),/* CRS */
			DATA_IN(15, 3, 2, RET_BYPASS(1000)),/* COL */

			MDIO(15, 4, 2, RET_BYPASS(3000)),/* MDIO*/
			MDC(15, 5, 2, RET_NICLK(0, 1)),/* MDC */
			DATA_IN(16, 0, 2, RET_SE_NICLK_IO(0, 0)),/* 5 RXD[0] */
Exemplo n.º 3
0
	}



static struct stm_pad_config stx7108_ethernet_mii_pad_configs[] = {
	[0] =  {
		.gpios_num = 20,
		.gpios = (struct stm_pad_gpio []) {
			DATA_OUT(0, 6, 0, RET_SE_NICLK_IO(0, 0)),/* TXD[0] */
			DATA_OUT(0, 6, 1, RET_SE_NICLK_IO(0, 0)),/* TXD[1] */
			DATA_OUT(0, 6, 2, RET_SE_NICLK_IO(0, 0)),/* TXD[2] */
			DATA_OUT(0, 6, 3, RET_SE_NICLK_IO(0, 0)),/* TXD[3] */
			DATA_OUT(0, 7, 0, RET_SE_NICLK_IO(0, 0)),/* TXER */
			DATA_OUT(0, 7, 1, RET_SE_NICLK_IO(0, 0)),/* TXEN */
			CLOCK_IN(0, 7, 2, RET_NICLK(0, 0)),/* TXCLK */
			DATA_IN(0, 7, 3, RET_BYPASS(0)),/* COL */
			DATA_OUT_PU(0, 7, 4, RET_BYPASS(3000)),/* MDIO*/
			CLOCK_OUT(0, 7, 5, RET_NICLK(0, 0)),/* MDC */
			DATA_IN(0, 7, 6, RET_BYPASS(0)),/* CRS */
			DATA_IN(0, 7, 7, RET_BYPASS(0)),/* MDINT */
			DATA_IN(0, 8, 0, RET_SE_NICLK_IO(1000, 0)),/* RXD[0] */
			DATA_IN(0, 8, 1, RET_SE_NICLK_IO(1000, 0)),/* RXD[1] */
			DATA_IN(0, 8, 2, RET_SE_NICLK_IO(1000, 0)),/* RXD[2] */
			DATA_IN(0, 8, 3, RET_SE_NICLK_IO(1000, 0)),/* RXD[3] */
			DATA_IN(0, 9, 0, RET_SE_NICLK_IO(1000, 0)),/* RXDV */
			DATA_IN(0, 9, 1, RET_SE_NICLK_IO(1000, 0)),/* RX_ER */
			CLOCK_IN(0, 9, 2, RET_NICLK(0, 0)),/* RXCLK */
			PHY_CLOCK(0, 9, 3, RET_NICLK(0, 0)),/* PHYCLK */
		},
		.sysconfs_num = 3,
		.sysconfs = (struct stm_pad_sysconf []) {