Lines Matching refs:bgx

69 int bgx_fdt_init_phy(struct bgx *);
84 bgx_fdt_phy_mode_match(struct bgx *bgx, char *qlm_mode, ssize_t size) in bgx_fdt_phy_mode_match() argument
90 switch (bgx->qlm_mode) { in bgx_fdt_phy_mode_match()
147 bgx_fdt_phy_name_match(struct bgx *bgx, char *phy_name, ssize_t size) in bgx_fdt_phy_name_match() argument
153 switch (bgx->qlm_mode) { in bgx_fdt_phy_name_match()
320 bgx_fdt_find_node(struct bgx *bgx) in bgx_fdt_find_node() argument
327 KASSERT(bgx->bgx_id <= BGX_MAXID, in bgx_fdt_find_node()
328 ("Invalid BGX ID: %d, max: %d", bgx->bgx_id, BGX_MAXID)); in bgx_fdt_find_node()
336 snprintf(bgx_sel, len + 1, "/"BGX_NODE_NAME"%d", bgx->bgx_id); in bgx_fdt_find_node()
348 snprintf(bgx_sel, len, BGX_NODE_NAME"%d", bgx->bgx_id); in bgx_fdt_find_node()
352 root_pcib = bgx_find_root_pcib(bgx->dev); in bgx_fdt_find_node()
354 device_printf(bgx->dev, "Unable to find BGX root bridge\n"); in bgx_fdt_find_node()
361 device_printf(bgx->dev, "No parent FDT node for BGX\n"); in bgx_fdt_find_node()
365 node = bgx_fdt_traverse_nodes(bgx->bgx_id, node, bgx_sel, len); in bgx_fdt_find_node()
372 bgx_fdt_init_phy(struct bgx *bgx) in bgx_fdt_init_phy() argument
381 node = bgx_fdt_find_node(bgx); in bgx_fdt_init_phy()
383 device_printf(bgx->dev, in bgx_fdt_init_phy()
384 "Could not find bgx%d node in FDT\n", bgx->bgx_id); in bgx_fdt_init_phy()
392 if (!bgx_fdt_phy_mode_match(bgx, qlm_mode, len)) { in bgx_fdt_init_phy()
405 if (!bgx_fdt_phy_name_match(bgx, node_name, len)) { in bgx_fdt_init_phy()
413 if (OF_getencprop(child, "reg", &bgx->lmac[lmac].phyaddr, in bgx_fdt_init_phy()
414 sizeof(bgx->lmac[lmac].phyaddr)) <= 0) { in bgx_fdt_init_phy()
416 device_printf(bgx->dev, in bgx_fdt_init_phy()
419 bgx->lmac[lmac].phyaddr = MII_PHY_ANY; in bgx_fdt_init_phy()
425 device_printf(bgx->dev, in bgx_fdt_init_phy()
436 bgx->lmac[lmac].phy_if_dev = in bgx_fdt_init_phy()
438 if (bgx->lmac[lmac].phy_if_dev == NULL) { in bgx_fdt_init_phy()
440 device_printf(bgx->dev, in bgx_fdt_init_phy()
447 bgx_fdt_get_macaddr(child, bgx->lmac[lmac].mac); in bgx_fdt_init_phy()
449 bgx->lmac[lmac].lmacid = lmac; in bgx_fdt_init_phy()
455 device_printf(bgx->dev, "Could not find matching PHY\n"); in bgx_fdt_init_phy()