- fixes for bcmgenet

- enable USB keyboard for RPi4 32 bit
 -----BEGIN PGP SIGNATURE-----
 
 iQJGBAABCAAwFiEEUdvKHhzqrUYPB/u8L21+TfbCqH4FAl9Yi7gSHG1icnVnZ2Vy
 QHN1c2UuY29tAAoJEC9tfk32wqh+WLMP/3zqbD9xh0xenYqlgjaKfcWV+y3LydFS
 ZCWGaklRYIdJQdA8/CgIAA3/yeWDYadAUhWzlEyQBJ5s/eNIs6efi78ZyknSNWOC
 i2zKNsn1cEWngIrO5i3zAO6MoC0deai3hdOsqUidhB2eWd2SIq7pRZwjwoP4dbQH
 hOjN/IHSCZu+AYxp8hzSf/Y2fIbwoXcYodlqiu1HKPQkHCOW3GO0hd4rch8dTUOB
 elZCZqJdNvE8DFJAscK+b7oTg4QOzLXnKOO3YGuYK6/d9LDuOucUIaSv4Q1LwIZ9
 utzdGSOfdOLa5BqxbiR8caAuOWd15fAZMO/4AL0SC8JqsJuEpQq+uXvRH2yU7BAP
 GKMEyiENhH7mRi0O+7KLcRh3jkSQM2XRPujVUZ5HY4u2cTwpKxI/R517xgOoXma1
 hRreaYZLcf8r7voQWPJ2v68b1mk457Yf0FH8VigPppvONhz6YJePVh4qr7vS2Awc
 OCugE9flnFWNWvhzTfADCaX015tCjSYV0UM6+M3If5kd/G7w/UL4Mbm6MG5j38yY
 wdxren01bgoKxeZEL4fsPJE4InbMt27+p1LYruXtFOCX+VxNEGJnAX4fOwfFsTRQ
 Mc6Rf+gLge92Tk5sq21nBreGLAJRPA8z6lIwzUYONC06p0SFyFppWpHDWkmSjs0w
 YVND90qtoEWF
 =AG/D
 -----END PGP SIGNATURE-----

Merge tag 'rpi-next-2020.10.2' of https://gitlab.denx.de/u-boot/custodians/u-boot-raspberrypi

- fixes for bcmgenet
- enable USB keyboard for RPi4 32 bit
This commit is contained in:
Tom Rini 2020-09-09 08:17:53 -04:00
commit a14b71d0c2
2 changed files with 12 additions and 9 deletions

View File

@ -42,6 +42,7 @@ CONFIG_DM_USB=y
CONFIG_DM_USB_GADGET=y
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_PCI=y
CONFIG_USB_KEYBOARD=y
CONFIG_USB_GADGET=y
CONFIG_USB_GADGET_MANUFACTURER="FSL"
CONFIG_USB_GADGET_VENDOR_NUM=0x0525

View File

@ -378,8 +378,6 @@ static void rx_descs_init(struct bcmgenet_eth_priv *priv)
u32 len_stat, i;
void *desc_base = priv->rx_desc_base;
priv->c_index = 0;
len_stat = (RX_BUF_LENGTH << DMA_BUFLENGTH_SHIFT) | DMA_OWN;
for (i = 0; i < RX_DESCS; i++) {
@ -403,8 +401,11 @@ static void rx_ring_init(struct bcmgenet_eth_priv *priv)
writel(RX_DESCS * DMA_DESC_SIZE / 4 - 1,
priv->mac_reg + RDMA_RING_REG_BASE + DMA_END_ADDR);
writel(0x0, priv->mac_reg + RDMA_PROD_INDEX);
writel(0x0, priv->mac_reg + RDMA_CONS_INDEX);
/* cannot init RDMA_PROD_INDEX to 0, so align RDMA_CONS_INDEX on it instead */
priv->c_index = readl(priv->mac_reg + RDMA_PROD_INDEX);
writel(priv->c_index, priv->mac_reg + RDMA_CONS_INDEX);
priv->rx_index = priv->c_index;
priv->rx_index &= 0xFF;
writel((RX_DESCS << DMA_RING_SIZE_SHIFT) | RX_BUF_LENGTH,
priv->mac_reg + RDMA_RING_REG_BASE + DMA_RING_BUF_SIZE);
writel(DMA_FC_THRESH_VALUE, priv->mac_reg + RDMA_XON_XOFF_THRESH);
@ -421,8 +422,10 @@ static void tx_ring_init(struct bcmgenet_eth_priv *priv)
writel(0x0, priv->mac_reg + TDMA_WRITE_PTR);
writel(TX_DESCS * DMA_DESC_SIZE / 4 - 1,
priv->mac_reg + TDMA_RING_REG_BASE + DMA_END_ADDR);
writel(0x0, priv->mac_reg + TDMA_PROD_INDEX);
writel(0x0, priv->mac_reg + TDMA_CONS_INDEX);
/* cannot init TDMA_CONS_INDEX to 0, so align TDMA_PROD_INDEX on it instead */
priv->tx_index = readl(priv->mac_reg + TDMA_CONS_INDEX);
writel(priv->tx_index, priv->mac_reg + TDMA_PROD_INDEX);
priv->tx_index &= 0xFF;
writel(0x1, priv->mac_reg + TDMA_RING_REG_BASE + DMA_MBUF_DONE_THRESH);
writel(0x0, priv->mac_reg + TDMA_FLOW_PERIOD);
writel((TX_DESCS << DMA_RING_SIZE_SHIFT) | RX_BUF_LENGTH,
@ -454,7 +457,8 @@ static int bcmgenet_adjust_link(struct bcmgenet_eth_priv *priv)
clrsetbits_32(priv->mac_reg + EXT_RGMII_OOB_CTRL, OOB_DISABLE,
RGMII_LINK | RGMII_MODE_EN);
if (phy_dev->interface == PHY_INTERFACE_MODE_RGMII)
if (phy_dev->interface == PHY_INTERFACE_MODE_RGMII ||
phy_dev->interface == PHY_INTERFACE_MODE_RGMII_RXID)
setbits_32(priv->mac_reg + EXT_RGMII_OOB_CTRL, ID_MODE_DIS);
writel(speed << CMD_SPEED_SHIFT, (priv->mac_reg + UMAC_CMD));
@ -469,8 +473,6 @@ static int bcmgenet_gmac_eth_start(struct udevice *dev)
priv->tx_desc_base = priv->mac_reg + GENET_TX_OFF;
priv->rx_desc_base = priv->mac_reg + GENET_RX_OFF;
priv->tx_index = 0x0;
priv->rx_index = 0x0;
bcmgenet_umac_reset(priv);