RE: Ethernet RMII2 working in u-boot, but not kernel ยป skyline-0002-sent-to-criticallink-for-review.patch
arch/arm/mach-omap2/baseboard-mityarm335x-devkit.c | ||
---|---|---|
80 | 80 |
* |
81 | 81 |
*****************************************************************************/ |
82 | 82 | |
83 |
static struct pinmux_config rmii2_pin_mux[] = { |
|
84 |
{"gpmc_csn3.rmii2_crs_dv", AM33XX_PIN_INPUT_PULLUP}, |
|
85 |
// {"gpmc_wait0.rmii2_crs_dv", AM33XX_PIN_INPUT_PULLUP}, |
|
86 |
{"gpmc_a0.rmii2_txen", AM33XX_PIN_OUTPUT}, // -- |
|
87 |
{"gpmc_a5.rmii2_txd0", AM33XX_PIN_OUTPUT}, // -- |
|
88 |
{"gpmc_a4.rmii2_txd1", AM33XX_PIN_OUTPUT}, // --- |
|
89 |
{"gpmc_a11.rmii2_rxd0", AM33XX_PIN_INPUT_PULLDOWN}, // -- |
|
90 |
{"gpmc_a10.rmii2_rxd1", AM33XX_PIN_INPUT_PULLDOWN}, // -- |
|
91 |
{"mii1_col.rmii2_refclk", AM33XX_PIN_INPUT_PULLDOWN}, // -- |
|
92 |
{"mdio_data.mdio_data", AM33XX_PIN_INPUT_PULLUP}, |
|
93 |
{"mdio_clk.mdio_clk", AM33XX_PIN_OUTPUT_PULLUP}, |
|
94 |
{NULL, 0} |
|
95 |
}; |
|
83 | 96 |
static struct pinmux_config rgmii2_pin_mux[] = { |
84 | 97 |
{"gpmc_a0.rgmii2_tctl", AM33XX_PIN_OUTPUT}, |
85 | 98 |
{"gpmc_a1.rgmii2_rctl", AM33XX_PIN_INPUT_PULLDOWN}, |
... | ... | |
99 | 112 |
}; |
100 | 113 | |
101 | 114 |
static struct pinmux_config lcdc_pin_mux[] = { |
115 |
#if 0 //danm |
|
102 | 116 |
{"lcd_data0.lcd_data0", AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA}, |
103 | 117 |
{"lcd_data1.lcd_data1", AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA}, |
104 | 118 |
{"lcd_data2.lcd_data2", AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA}, |
... | ... | |
121 | 135 |
{"lcd_ac_bias_en.lcd_ac_bias_en", AM33XX_PIN_OUTPUT}, |
122 | 136 |
/* GPIO for the backlight */ |
123 | 137 |
{ "mcasp0_aclkx.gpio3_14", AM33XX_PIN_OUTPUT}, |
138 |
#endif |
|
124 | 139 |
{NULL, 0} |
125 | 140 |
}; |
126 | 141 | |
... | ... | |
131 | 146 |
{"mmc0_dat0.mmc0_dat0", AM33XX_PIN_INPUT_PULLUP}, |
132 | 147 |
{"mmc0_clk.mmc0_clk", AM33XX_PIN_INPUT_PULLUP}, |
133 | 148 |
{"mmc0_cmd.mmc0_cmd", AM33XX_PIN_INPUT_PULLUP}, |
134 |
{"mii1_txen.gpio3_3", AM33XX_PIN_INPUT_PULLUP}, /* SD Card Detect */
|
|
135 |
{"mii1_col.gpio3_0", AM33XX_PIN_INPUT_PULLUP}, /* SD Write Protect */
|
|
149 |
// danm {"mii1_txen.gpio3_3", AM33XX_PIN_INPUT_PULLUP}, /* SD Card Detect */
|
|
150 |
// {"mii1_col.gpio3_0", AM33XX_PIN_INPUT_PULLUP}, /* SD Write Protect */
|
|
136 | 151 |
{NULL, 0} |
137 | 152 |
}; |
138 | 153 | |
... | ... | |
167 | 182 |
}; |
168 | 183 | |
169 | 184 |
static struct pinmux_config expansion_pin_mux[] = { |
170 |
{"uart0_ctsn.uart4_rxd", AM33XX_PIN_INPUT_PULLUP},/* Exp0 RX */ |
|
171 |
{"uart0_rtsn.uart4_txd", AM33XX_PULL_ENBL}, /* Exp0 TX */ |
|
172 |
{"mii1_rxd3.uart3_rxd", AM33XX_PIN_INPUT_PULLUP},/* Exp1 RX */ |
|
173 |
{"mii1_rxd2.uart3_txd", AM33XX_PULL_ENBL}, /* Exp1 TX */ |
|
174 |
{"mii1_rxd1.gpio2_20", AM33XX_PULL_ENBL}, /* Exp1 TX EN */ |
|
175 |
{"mii1_txclk.gpio3_9", AM33XX_PULL_ENBL}, /* Exp0 TX EN */ |
|
185 |
{"uart1_rxd.uart1_rxd", AM33XX_PIN_INPUT_PULLUP},/* Exp0 RX */ |
|
186 |
{"uart1_txd.uart1_txd", AM33XX_PULL_ENBL}, /* Exp0 TX */ |
|
187 |
{"mii1_rxd3.uart1_dtrn", AM33XX_PULL_ENBL}, /* uart 1 modem */ |
|
188 |
{"mii1_rxclk..uart1_dsrn", AM33XX_PULL_ENBL}, /* */ |
|
189 |
{"mii1_txclk.uart1_dcdn", AM33XX_PULL_ENBL}, /* */ |
|
190 | ||
191 |
{"spi0_sclk.uart2_rxd", AM33XX_PIN_INPUT_PULLUP},/* Exp0 RX */ |
|
192 |
{"spi0_d0.uart2_txd", AM33XX_PULL_ENBL}, /* Exp0 TX */ |
|
193 | ||
194 |
{"spi0_cs1.uart3_rxd", AM33XX_PIN_INPUT_PULLUP},/*- Exp0 RX */ |
|
195 |
{"mii1_rxd2.uart3_txd", AM33XX_PULL_ENBL}, /* - Exp0 TX */ |
|
196 | ||
197 |
{"mii1_txd3.uart4_rxd", AM33XX_PIN_INPUT_PULLUP},/* - Exp0 RX */ |
|
198 |
{"mii1_txd2.uart4_txd", AM33XX_PULL_ENBL}, /* Exp0 TX */ |
|
199 | ||
200 |
{"lcd_data9.uart5_rxd", AM33XX_PIN_INPUT_PULLUP},/*- Exp0 RX */ |
|
201 |
{"lcd_data8.uart5_txd", AM33XX_PULL_ENBL}, /*- Exp0 TX */ |
|
176 | 202 |
{NULL, 0} |
177 | 203 |
}; |
178 | 204 | |
205 | ||
179 | 206 |
static struct pinmux_config usb_pin_mux[] = { |
180 | 207 |
{"usb0_drvvbus.usb0_drvvbus", AM33XX_PIN_OUTPUT}, |
181 | 208 |
{"usb1_drvvbus.usb1_drvvbus", AM33XX_PIN_OUTPUT}, |
... | ... | |
250 | 277 |
{ |
251 | 278 |
.mmc = 1, |
252 | 279 |
.caps = MMC_CAP_4_BIT_DATA, |
253 |
.gpio_cd = GPIO_TO_PIN(3, 3),
|
|
254 |
.gpio_wp = GPIO_TO_PIN(3, 0),
|
|
280 |
.gpio_cd = -EINVAL, // GPIO_TO_PIN(3, 3),
|
|
281 |
.gpio_wp = -EINVAL, //GPIO_TO_PIN(3, 0),
|
|
255 | 282 |
.ocr_mask = MMC_VDD_32_33 | MMC_VDD_33_34, |
256 | 283 |
}, |
257 | 284 |
{ |
... | ... | |
580 | 607 |
static __init void baseboard_setup_enet(void) |
581 | 608 |
{ |
582 | 609 |
/* pinmux */ |
583 |
setup_pin_mux(rgmii2_pin_mux);
|
|
610 |
setup_pin_mux(rmii2_pin_mux);
|
|
584 | 611 | |
585 | 612 |
/* network configuration done in SOM code */ |
586 | 613 |
/* PHY address setup? */ |
arch/arm/mach-omap2/board-mityarm335x.c | ||
---|---|---|
517 | 517 |
am33xx_mux_init(NULL); |
518 | 518 |
omap_serial_init(); |
519 | 519 |
am335x_rtc_init(); |
520 |
am33xx_cpsw_init(1); /* 1 == enable gigabit */
|
|
520 |
am33xx_cpsw_init(0); /* 1 == enable gigabit */
|
|
521 | 521 |
mityarm335x_i2c_init(); |
522 | 522 |
omap_sdrc_init(NULL, NULL); |
523 | 523 |
spi1_init(); |
arch/arm/mach-omap2/devices.c | ||
---|---|---|
1139 | 1139 |
#ifdef CONFIG_BASEBOARD_MITYARM335X_TESTFIXTURE |
1140 | 1140 |
.phy_id = "0:01", |
1141 | 1141 |
#else |
1142 |
.phy_id = "0:00",
|
|
1142 |
.phy_id = "0:01",
|
|
1143 | 1143 |
#endif |
1144 | 1144 | |
1145 | 1145 |
}, |
... | ... | |
1149 | 1149 |
#ifdef CONFIG_BASEBOARD_MITYARM335X_TESTFIXTURE |
1150 | 1150 |
.phy_id = "0:00", |
1151 | 1151 |
#else |
1152 |
.phy_id = "0:01",
|
|
1152 |
.phy_id = "0:00",
|
|
1153 | 1153 |
#endif |
1154 | 1154 |
}, |
1155 | 1155 |
}; |
... | ... | |
1168 | 1168 |
.bd_ram_size = SZ_16K, |
1169 | 1169 |
.rx_descs = 64, |
1170 | 1170 |
.mac_control = BIT(5), /* MIIEN */ |
1171 |
.gigabit_en = 1,
|
|
1171 |
.gigabit_en = 0,
|
|
1172 | 1172 |
.host_port_num = 0, |
1173 | 1173 |
.no_bd_ram = false, |
1174 | 1174 |
.version = CPSW_VERSION_2, |
... | ... | |
1324 | 1324 | |
1325 | 1325 |
am33xx_cpsw_pdata.gigabit_en = gigen; |
1326 | 1326 | |
1327 | ||
1327 | 1328 |
memcpy(am33xx_cpsw_pdata.mac_addr, |
1328 | 1329 |
am33xx_cpsw_slaves[0].mac_addr, ETH_ALEN); |
1329 | 1330 |
platform_device_register(&am33xx_cpsw_mdiodevice); |
1330 | 1331 |
platform_device_register(&am33xx_cpsw_device); |
1332 | ||
1333 |
#define MII_MODE_ENABLE 0x0 |
|
1334 |
#define RMII_MODE_ENABLE 0x4 //5 |
|
1335 |
#define RGMII_MODE_ENABLE 0xA |
|
1336 |
#define MAC_MII_SEL 0x650 |
|
1337 |
#define SMA2_ADDR 0x1320 |
|
1338 | ||
1339 |
__raw_writel(RMII_MODE_ENABLE | 0xb0, //danm |
|
1340 |
AM33XX_CTRL_REGADDR(MAC_MII_SEL)); |
|
1341 | ||
1342 |
__raw_writel(0x0, //danm |
|
1343 |
AM33XX_CTRL_REGADDR(SMA2_ADDR)); |
|
1344 |
printk("%s gmii_sel 0x%x\n",__func__, |
|
1345 |
__raw_readl(AM33XX_CTRL_REGADDR(MAC_MII_SEL))); //danm |
|
1346 | ||
1347 | ||
1348 | ||
1349 | ||
1331 | 1350 |
clk_add_alias(NULL, dev_name(&am33xx_cpsw_mdiodevice.dev), |
1332 | 1351 |
NULL, &am33xx_cpsw_device.dev); |
1333 | 1352 |
} |
arch/arm/mach-omap2/mux33xx.c | ||
---|---|---|
1 | ||
2 | ||
1 | 3 |
/* |
2 | 4 |
* AM33XX mux data |
3 | 5 |
* |
... | ... | |
31 | 33 |
static struct omap_mux __initdata am33xx_muxmodes[] = { |
32 | 34 |
_AM33XX_MUXENTRY(GPMC_AD0, 0, |
33 | 35 |
"gpmc_ad0", "mmc1_dat0", NULL, NULL, |
34 |
NULL, NULL, NULL, NULL), |
|
36 |
NULL, NULL, NULL, "gpio1_0"), // danm |
|
35 | 37 |
_AM33XX_MUXENTRY(GPMC_AD1, 0, |
36 | 38 |
"gpmc_ad1", "mmc1_dat1", NULL, NULL, |
37 |
NULL, NULL, NULL, NULL),
|
|
39 |
NULL, NULL, NULL, "gpio1_1"),
|
|
38 | 40 |
_AM33XX_MUXENTRY(GPMC_AD2, 0, |
39 | 41 |
"gpmc_ad2", "mmc1_dat2", NULL, NULL, |
40 |
NULL, NULL, NULL, NULL),
|
|
42 |
NULL, NULL, NULL, "gpio1_2"),
|
|
41 | 43 |
_AM33XX_MUXENTRY(GPMC_AD3, 0, |
42 | 44 |
"gpmc_ad3", "mmc1_dat3", NULL, NULL, |
43 |
NULL, NULL, NULL, NULL),
|
|
45 |
NULL, NULL, NULL, "gpio1_3"),
|
|
44 | 46 |
_AM33XX_MUXENTRY(GPMC_AD4, 0, |
45 | 47 |
"gpmc_ad4", "mmc1_dat4", NULL, NULL, |
46 |
NULL, NULL, NULL, NULL),
|
|
48 |
NULL, NULL, NULL, "gpio1_4"),
|
|
47 | 49 |
_AM33XX_MUXENTRY(GPMC_AD5, 0, |
48 | 50 |
"gpmc_ad5", "mmc1_dat5", NULL, NULL, |
49 |
NULL, NULL, NULL, NULL),
|
|
51 |
NULL, NULL, NULL, "gpio1_5"),
|
|
50 | 52 |
_AM33XX_MUXENTRY(GPMC_AD6, 0, |
51 | 53 |
"gpmc_ad6", "mmc1_dat6", NULL, NULL, |
52 |
NULL, NULL, NULL, NULL),
|
|
54 |
NULL, NULL, NULL, "gpio1_6"),
|
|
53 | 55 |
_AM33XX_MUXENTRY(GPMC_AD7, 0, |
54 | 56 |
"gpmc_ad7", "mmc1_dat7", NULL, NULL, |
55 |
NULL, NULL, NULL, NULL),
|
|
57 |
NULL, NULL, NULL, "gpio1_7"),
|
|
56 | 58 |
_AM33XX_MUXENTRY(GPMC_AD8, 0, |
57 | 59 |
"gpmc_ad8", "lcd_data16", "mmc1_dat0", "mmc2_dat4", |
58 | 60 |
NULL, NULL, NULL, "gpio0_22"), |
59 | 61 |
_AM33XX_MUXENTRY(GPMC_AD9, 0, |
60 | 62 |
"gpmc_ad9", "lcd_data17", "mmc1_dat1", "mmc2_dat5", |
61 |
NULL, NULL, NULL, "gpio0_23"),
|
|
63 |
"ehrpwm2B", NULL, NULL, "gpio0_23"),
|
|
62 | 64 |
_AM33XX_MUXENTRY(GPMC_AD10, 0, |
63 | 65 |
"gpmc_ad10", "lcd_data18", "mmc1_dat2", "mmc2_dat6", |
64 | 66 |
NULL, NULL, NULL, "gpio0_26"), |
... | ... | |
115 | 117 |
NULL, NULL, "mcasp0_axr1", "gpio1_27"), |
116 | 118 |
_AM33XX_MUXENTRY(GPMC_WAIT0, 0, |
117 | 119 |
"gpmc_wait0", "mii2_crs", NULL, "rmii2_crs_dv", |
118 |
"mmc1_sdcd", NULL, NULL, NULL),
|
|
120 |
"mmc1_sdcd", NULL, NULL, "gpio0_30"),
|
|
119 | 121 |
_AM33XX_MUXENTRY(GPMC_WPN, 0, |
120 | 122 |
"gpmc_wpn", "mii2_rxerr", NULL, "rmii2_rxerr", |
121 |
"mmc2_sdcd", NULL, NULL, NULL),
|
|
123 |
"mmc2_sdcd", NULL, NULL, "gpio0_31"),
|
|
122 | 124 |
_AM33XX_MUXENTRY(GPMC_BEN1, 0, |
123 | 125 |
"gpmc_ben1", "mii2_col", NULL, "mmc2_dat3", |
124 | 126 |
NULL, NULL, "mcasp0_aclkr", "gpio1_28"), |
125 | 127 |
_AM33XX_MUXENTRY(GPMC_CSN0, 0, |
126 | 128 |
"gpmc_csn0", NULL, NULL, NULL, |
127 |
NULL, NULL, NULL, "mmc1_sdwp"),
|
|
129 |
NULL, NULL, NULL, "gpio1_29"),
|
|
128 | 130 |
_AM33XX_MUXENTRY(GPMC_CSN1, 0, |
129 | 131 |
"gpmc_csn1", NULL, "mmc1_clk", NULL, |
130 | 132 |
NULL, NULL, NULL, "gpio1_30"), |
... | ... | |
132 | 134 |
"gpmc_csn2", NULL, "mmc1_cmd", NULL, |
133 | 135 |
NULL, NULL, NULL, "gpio1_31"), |
134 | 136 |
_AM33XX_MUXENTRY(GPMC_CSN3, 0, |
135 |
"gpmc_csn3", NULL, NULL, "mmc2_cmd",
|
|
137 |
"gpmc_csn3", NULL, "rmii2_crs_dv", "mmc2_cmd",
|
|
136 | 138 |
NULL, NULL, NULL, "gpio2_0"), |
137 | 139 |
_AM33XX_MUXENTRY(GPMC_CLK, 0, |
138 | 140 |
"gpmc_clk", "lcd_memory_clk_mux", NULL, "mmc2_clk", |
... | ... | |
142 | 144 |
NULL, NULL, NULL, "mmc1_sdcd"), |
143 | 145 |
_AM33XX_MUXENTRY(GPMC_OEN_REN, 0, |
144 | 146 |
"gpmc_oen_ren", NULL, NULL, NULL, |
145 |
NULL, NULL, NULL, NULL),
|
|
147 |
NULL, NULL, NULL, "gpio2_3"),
|
|
146 | 148 |
_AM33XX_MUXENTRY(GPMC_WEN, 0, |
147 | 149 |
"gpmc_wen", NULL, NULL, NULL, |
148 |
NULL, NULL, NULL, NULL),
|
|
150 |
NULL, NULL, NULL, "gpio2_4"),
|
|
149 | 151 |
_AM33XX_MUXENTRY(GPMC_BEN0_CLE, 0, |
150 | 152 |
"gpmc_ben0_cle", NULL, NULL, NULL, |
151 |
NULL, NULL, NULL, NULL),
|
|
153 |
NULL, NULL, NULL, "gpio2_5"),
|
|
152 | 154 |
_AM33XX_MUXENTRY(LCD_DATA0, 0, |
153 | 155 |
"lcd_data0", "gpmc_a0", NULL, NULL, |
154 | 156 |
NULL, NULL, NULL, "gpio2_6"), |
... | ... | |
175 | 177 |
NULL, NULL, NULL, "gpio2_13"), |
176 | 178 |
_AM33XX_MUXENTRY(LCD_DATA8, 0, |
177 | 179 |
"lcd_data8", "gpmc_a12", NULL, "mcasp0_aclkx", |
178 |
NULL, NULL, "uart2_ctsn", "gpio2_14"),
|
|
180 |
"uart5_txd", NULL, "uart2_ctsn", "gpio2_14"),
|
|
179 | 181 |
_AM33XX_MUXENTRY(LCD_DATA9, 0, |
180 | 182 |
"lcd_data9", "gpmc_a13", NULL, "mcasp0_fsx", |
181 |
NULL, NULL, "uart2_rtsn", "gpio2_15"),
|
|
183 |
"uart5_rxd", NULL, "uart2_rtsn", "gpio2_15"),
|
|
182 | 184 |
_AM33XX_MUXENTRY(LCD_DATA10, 0, |
183 | 185 |
"lcd_data10", "gpmc_a14", NULL, "mcasp0_axr0", |
184 | 186 |
NULL, NULL, NULL, "gpio2_16"), |
... | ... | |
221 | 223 |
_AM33XX_MUXENTRY(MMC0_DAT0, 0, |
222 | 224 |
"mmc0_dat0", NULL, NULL, NULL, |
223 | 225 |
NULL, NULL, NULL, "gpio2_29"), |
224 |
_AM33XX_MUXENTRY(MMC0_CLK, 0, |
|
225 |
"mmc0_clk", NULL, NULL, NULL,
|
|
226 |
_AM33XX_MUXENTRY(MMC0_CLK, 0, // skyline danm |
|
227 |
"mmc0_clk", "gpmc_a24", "uart3_ctsn", "uart2_rxd",
|
|
226 | 228 |
NULL, NULL, NULL, "gpio2_30"), |
227 |
_AM33XX_MUXENTRY(MMC0_CMD, 0, |
|
228 |
"mmc0_cmd", NULL, NULL, NULL,
|
|
229 |
_AM33XX_MUXENTRY(MMC0_CMD, 0, // skyline danm |
|
230 |
"mmc0_cmd", "gpmc_a25", "uart3_rtsn", "uart2_txd",
|
|
229 | 231 |
NULL, NULL, NULL, "gpio2_31"), |
230 | 232 |
_AM33XX_MUXENTRY(MII1_COL, 0, |
231 | 233 |
"mii1_col", "rmii2_refclk", "spi1_sclk", NULL, |
232 | 234 |
"mcasp1_axr2", "mmc2_dat3", "mcasp0_axr2", "gpio3_0"), |
233 | 235 |
_AM33XX_MUXENTRY(MII1_CRS, 0, |
234 | 236 |
"mii1_crs", "rmii1_crs_dv", "spi1_d0", "i2c1_sda", |
235 |
"mcasp1_aclkx", NULL, NULL, NULL),
|
|
237 |
"mcasp1_aclkx", NULL, NULL, "gpio3_1"),
|
|
236 | 238 |
_AM33XX_MUXENTRY(MII1_RXERR, 0, |
237 | 239 |
"mii1_rxerr", "rmii1_rxerr", "spi1_d1", "i2c1_scl", |
238 |
"mcasp1_fsx", NULL, NULL, NULL),
|
|
240 |
"mcasp1_fsx", NULL, NULL, "gpio3_2"),
|
|
239 | 241 |
_AM33XX_MUXENTRY(MII1_TXEN, 0, |
240 | 242 |
"mii1_txen", "rmii1_txen", "rgmii1_tctl", NULL, |
241 | 243 |
"mcasp1_axr0", NULL, "mmc2_cmd", "gpio3_3"), |
242 | 244 |
_AM33XX_MUXENTRY(MII1_RXDV, 0, |
243 | 245 |
"mii1_rxdv", NULL, "rgmii1_rctl", NULL, |
244 |
"mcasp1_aclx", "mmc2_dat0", "mcasp0_aclkr", NULL),
|
|
246 |
"mcasp1_aclx", "mmc2_dat0", "mcasp0_aclkr", "gpio3_4"),
|
|
245 | 247 |
_AM33XX_MUXENTRY(MII1_TXD3, 0, |
246 |
"mii1_txd3", "d_can0_tx", "rgmii1_td3", NULL,
|
|
247 |
"mcasp1_fsx", "mmc2_dat1", "mcasp0_fsr", NULL),
|
|
248 |
"mii1_txd3", "d_can0_tx", "rgmii1_td3", "uart4_rxd",
|
|
249 |
"mcasp1_fsx", "mmc2_dat1", "mcasp0_fsr", "gpio0_16"),
|
|
248 | 250 |
_AM33XX_MUXENTRY(MII1_TXD2, 0, |
249 |
"mii1_txd2", "d_can0_rx", "rgmii1_td2", NULL,
|
|
250 |
"mcasp1_axr0", "mmc2_dat2", "mcasp0_ahclkx", NULL),
|
|
251 |
"mii1_txd2", "d_can0_rx", "rgmii1_td2", "uart4_txd",
|
|
252 |
"mcasp1_axr0", "mmc2_dat2", "mcasp0_ahclkx", "gpio0_17"),
|
|
251 | 253 |
_AM33XX_MUXENTRY(MII1_TXD1, 0, |
252 | 254 |
"mii1_txd1", "rmii1_txd1", "rgmii1_td1", "mcasp1_fsr", |
253 |
"mcasp1_axr1", NULL, "mmc1_cmd", NULL),
|
|
255 |
"mcasp1_axr1", NULL, "mmc1_cmd", "gpio0_21"),
|
|
254 | 256 |
_AM33XX_MUXENTRY(MII1_TXD0, 0, |
255 | 257 |
"mii1_txd0", "rmii1_txd0", "rgmii1_td0", "mcasp1_axr2", |
256 | 258 |
"mcasp1_aclkr", NULL, "mmc1_clk", "gpio0_28"), |
257 | 259 |
_AM33XX_MUXENTRY(MII1_TXCLK, 0, |
258 | 260 |
"mii1_txclk", NULL, "rgmii1_tclk", "mmc0_dat7", |
259 |
"mmc1_dat0", NULL, "mcasp0_aclkx", "gpio3_9"),
|
|
261 |
"mmc1_dat0", "uart1_dcdn", "mcasp0_aclkx", "gpio3_9"),
|
|
260 | 262 |
_AM33XX_MUXENTRY(MII1_RXCLK, 0, |
261 | 263 |
"mii1_rxclk", NULL, "rgmii1_rclk", "mmc0_dat6", |
262 |
"mmc1_dat1", NULL, "mcasp0_fsx", NULL),
|
|
264 |
"mmc1_dat1", "uart1_dsrn", "mcasp0_fsx", "gpio3_10"),
|
|
263 | 265 |
_AM33XX_MUXENTRY(MII1_RXD3, 0, |
264 | 266 |
"mii1_rxd3", "uart3_rxd", "rgmii1_rd3", "mmc0_dat5", |
265 | 267 |
"mmc1_dat2", "uart1_dtrn", "mcasp0_axr0", "gpio2_18"), |
... | ... | |
271 | 273 |
"mcasp1_fsr", NULL, "mmc2_clk", "gpio2_20"), |
272 | 274 |
_AM33XX_MUXENTRY(MII1_RXD0, 0, |
273 | 275 |
"mii1_rxd0", "rmii1_rxd0", "rgmii1_rd0", "mcasp1_ahclkx", |
274 |
"mcasp1_ahclkr", "mcasp1_aclkr", "mcasp0_axr3", NULL),
|
|
276 |
"mcasp1_ahclkr", "mcasp1_aclkr", "mcasp0_axr3", "gpio2_21"),
|
|
275 | 277 |
_AM33XX_MUXENTRY(MII1_REFCLK, 0, |
276 | 278 |
"rmii1_refclk", NULL, "spi1_cs0", NULL, |
277 | 279 |
"mcasp1_axr3", "mmc0_pow", "mcasp1_ahclkx", "gpio0_29"), |
278 | 280 |
_AM33XX_MUXENTRY(MDIO_DATA, 0, |
279 | 281 |
"mdio_data", NULL, NULL, NULL, |
280 |
"mmc0_sdcd", "mmc1_cmd", "mmc2_cmd", NULL),
|
|
282 |
"mmc0_sdcd", "mmc1_cmd", "mmc2_cmd", "gpio0_0"),
|
|
281 | 283 |
_AM33XX_MUXENTRY(MDIO_CLK, 0, |
282 | 284 |
"mdio_clk", NULL, NULL, NULL, |
283 |
"mmc0_sdwp", "mmc1_clk", "mmc2_clk", NULL),
|
|
285 |
"mmc0_sdwp", "mmc1_clk", "mmc2_clk", "gpio0_1"),
|
|
284 | 286 |
_AM33XX_MUXENTRY(SPI0_SCLK, 0, |
285 |
"spi0_sclk", "uart2_rxd", NULL, NULL,
|
|
287 |
"spi0_sclk", "uart2_rxd", "i2c2_sda", NULL,
|
|
286 | 288 |
NULL, NULL, NULL, "gpio0_2"), |
287 | 289 |
_AM33XX_MUXENTRY(SPI0_D0, 0, |
288 |
"spi0_d0", "uart2_txd", NULL, NULL,
|
|
290 |
"spi0_d0", "uart2_txd", "i2c2_scl", NULL,
|
|
289 | 291 |
NULL, NULL, NULL, "gpio0_3"), |
290 | 292 |
_AM33XX_MUXENTRY(SPI0_D1, 0, |
291 | 293 |
"spi0_d1", "mmc1_sdwp", "i2c1_sda", NULL, |
... | ... | |
306 | 308 |
"uart0_rtsn", "uart4_txd", "d_can1_rx", "i2c1_scl", |
307 | 309 |
"spi1_d1", "spi1_cs0", "pr1_edc_sync1_out", "gpio1_9"), |
308 | 310 |
_AM33XX_MUXENTRY(UART0_RXD, 0, |
309 |
"uart0_rxd", "spi1_cs0", "d_can0_tx", NULL,
|
|
310 |
NULL, NULL, NULL, NULL),
|
|
311 |
"uart0_rxd", "spi1_cs0", "d_can0_tx", "i2c2_sda",
|
|
312 |
NULL, NULL, NULL, "gpio1_10"),
|
|
311 | 313 |
_AM33XX_MUXENTRY(UART0_TXD, 0, |
312 |
"uart0_txd", "spi1_cs1", "d_can0_rx", NULL,
|
|
313 |
NULL, NULL, NULL, NULL),
|
|
314 |
"uart0_txd", "spi1_cs1", "d_can0_rx", "i2c2_scl",
|
|
315 |
NULL, NULL, NULL, "gpio1_11"),
|
|
314 | 316 |
_AM33XX_MUXENTRY(UART1_CTSN, 0, |
315 | 317 |
"uart1_ctsn", NULL, NULL, "i2c2_sda", |
316 |
"spi1_cs0", NULL, NULL, NULL),
|
|
318 |
"spi1_cs0", NULL, NULL, "gpio0_12"),
|
|
317 | 319 |
_AM33XX_MUXENTRY(UART1_RTSN, 0, |
318 | 320 |
"uart1_rtsn", NULL, NULL, "i2c2_scl", |
319 |
"spi1_cs1", NULL, NULL, NULL),
|
|
321 |
"spi1_cs1", NULL, NULL, "gpio0_13"),
|
|
320 | 322 |
_AM33XX_MUXENTRY(UART1_RXD, 0, |
321 |
"uart1_rxd", "mmc1_sdwp", "d_can1_tx", NULL,
|
|
323 |
"uart1_rxd", "mmc1_sdwp", "d_can1_tx", "i2c1_sda",
|
|
322 | 324 |
NULL, "pr1_uart0_rxd_mux1", NULL, "gpio0_14"), |
323 | 325 |
_AM33XX_MUXENTRY(UART1_TXD, 0, |
324 |
"uart1_txd", "mmc2_sdwp", "d_can1_rx", NULL,
|
|
326 |
"uart1_txd", "mmc2_sdwp", "d_can1_rx", "i2c1_scl",
|
|
325 | 327 |
NULL, "pr1_uart0_txd_mux1", NULL, "gpio0_15"), |
326 | 328 |
_AM33XX_MUXENTRY(I2C0_SDA, 0, |
327 | 329 |
"i2c0_sda", NULL, NULL, NULL, |
... | ... | |
331 | 333 |
NULL, NULL, NULL, "gpio3_6"), |
332 | 334 |
_AM33XX_MUXENTRY(MCASP0_ACLKX, 0, |
333 | 335 |
"mcasp0_aclkx", "ehrpwm0a", NULL, "spi1_sclk", |
334 |
"mmc0_sdcd", "pr1_pru0_pru_r30_0", "pr1_pru0_pru_r31_0", |
|
335 |
"gpio3_14"), |
|
336 |
"mmc0_sdcd", "pr1_pru0_pru_r30_0", "pr1_pru0_pru_r31_0", "gpio3_14"), |
|
336 | 337 |
_AM33XX_MUXENTRY(MCASP0_FSX, 0, |
337 | 338 |
"mcasp0_fsx", NULL, NULL, "spi1_d0", |
338 |
"mmc1_sdcd", NULL, NULL, NULL),
|
|
339 |
"mmc1_sdcd", NULL, NULL, "gpio3_15"),
|
|
339 | 340 |
_AM33XX_MUXENTRY(MCASP0_AXR0, 0, |
340 | 341 |
"mcasp0_axr0", NULL, NULL, "spi1_d1", |
341 |
"mmc2_sdcd", NULL, NULL, NULL),
|
|
342 |
"mmc2_sdcd", NULL, NULL, "gpio3_16"),
|
|
342 | 343 |
_AM33XX_MUXENTRY(MCASP0_AHCLKR, 0, |
343 | 344 |
"mcasp0_ahclkr", NULL, "mcasp0_axr2", "spi1_cs0", |
344 | 345 |
NULL, NULL, NULL, "gpio3_17"), |
... | ... | |
352 | 353 |
"mcasp0_axr1", NULL, NULL, "mcasp1_axr0", |
353 | 354 |
NULL, NULL, NULL, "gpio3_20"), |
354 | 355 |
_AM33XX_MUXENTRY(MCASP0_AHCLKX, 0, |
355 |
"mcasp0_ahclkx", "mcasp0_axr3", NULL, "mcasp1_axr1",
|
|
356 |
"mcasp0_ahclkx", NULL, "mcasp0_axr3", "mcasp1_axr1",
|
|
356 | 357 |
NULL, NULL, NULL, "gpio3_21"), |
357 | 358 |
_AM33XX_MUXENTRY(XDMA_EVENT_INTR0, 0, |
358 | 359 |
"xdma_event_intr0", NULL, NULL, NULL, |
... | ... | |
392 | 393 |
NULL, NULL, NULL, NULL), |
393 | 394 |
_AM33XX_MUXENTRY(EMU0, 0, |
394 | 395 |
NULL, NULL, NULL, NULL, |
395 |
NULL, NULL, NULL, NULL),
|
|
396 |
NULL, NULL, NULL, "gpio3_7"),
|
|
396 | 397 |
_AM33XX_MUXENTRY(EMU1, 0, |
397 | 398 |
NULL, NULL, NULL, NULL, |
398 |
NULL, NULL, NULL, NULL),
|
|
399 |
NULL, NULL, NULL, "gpio3_8"),
|
|
399 | 400 |
_AM33XX_MUXENTRY(RTC_XTALIN, 0, |
400 | 401 |
NULL, NULL, NULL, NULL, |
401 | 402 |
NULL, NULL, NULL, NULL), |
... | ... | |
618 | 619 |
return 0; |
619 | 620 |
} |
620 | 621 |
#endif |
622 |
|
drivers/net/cpsw.c | ||
---|---|---|
441 | 441 |
mac_control |= BIT(15); |
442 | 442 |
if (phy->duplex) |
443 | 443 |
mac_control |= BIT(0); /* FULLDUPLEXEN */ |
444 |
if (phy->interface == PHY_INTERFACE_MODE_RGMII) /* RGMII */
|
|
444 |
if (phy->interface == PHY_INTERFACE_MODE_RMII) /* RMII */
|
|
445 | 445 |
mac_control |= (BIT(15)|BIT(16)); |
446 | 446 |
*link = true; |
447 | 447 |
} else { |
... | ... | |
450 | 450 |
mac_control = 0; |
451 | 451 |
} |
452 | 452 | |
453 |
// printk("danm 2 - mac control 0x%x 0x%p slave num %x, slave port 0x%x\n",mac_control, |
|
454 |
// danm &slave->sliver->mac_control,slave->slave_num,slave_port); |
|
455 | ||
453 | 456 |
if (mac_control != slave->mac_control) { |
454 | 457 |
phy_print_status(phy); |
455 | 458 |
__raw_writel(mac_control, &slave->sliver->mac_control); |
... | ... | |
564 | 567 |
return; |
565 | 568 | |
566 | 569 |
phy_addr = phy->addr; |
570 |
phy->interface = PHY_INTERFACE_MODE_RMII; |
|
567 | 571 | |
568 | 572 |
/* Disable 1 Gig mode support if it is not supported */ |
569 | 573 |
if (!pdata->gigabit_en) |