Lines Matching defs:bgx
66 #define BGX_NODE_NAME "bgx"
73 int bgx_fdt_init_phy(struct bgx *);
88 bgx_fdt_phy_mode_match(struct bgx *bgx, char *qlm_mode, ssize_t size)
94 switch (bgx->qlm_mode) {
151 bgx_fdt_phy_name_match(struct bgx *bgx, char *phy_name, ssize_t size)
157 switch (bgx->qlm_mode) {
324 bgx_fdt_find_node(struct bgx *bgx)
331 KASSERT(bgx->bgx_id <= BGX_MAXID,
332 ("Invalid BGX ID: %d, max: %d", bgx->bgx_id, BGX_MAXID));
340 snprintf(bgx_sel, len + 1, "/"BGX_NODE_NAME"%d", bgx->bgx_id);
352 snprintf(bgx_sel, len, BGX_NODE_NAME"%d", bgx->bgx_id);
356 root_pcib = bgx_find_root_pcib(bgx->dev);
358 device_printf(bgx->dev, "Unable to find BGX root bridge\n");
365 device_printf(bgx->dev, "No parent FDT node for BGX\n");
369 node = bgx_fdt_traverse_nodes(bgx->bgx_id, node, bgx_sel, len);
376 bgx_fdt_init_phy(struct bgx *bgx)
385 node = bgx_fdt_find_node(bgx);
387 device_printf(bgx->dev,
388 "Could not find bgx%d node in FDT\n", bgx->bgx_id);
396 if (!bgx_fdt_phy_mode_match(bgx, qlm_mode, len)) {
409 if (!bgx_fdt_phy_name_match(bgx, node_name, len)) {
417 if (OF_getencprop(child, "reg", &bgx->lmac[lmac].phyaddr,
418 sizeof(bgx->lmac[lmac].phyaddr)) <= 0) {
420 device_printf(bgx->dev,
423 bgx->lmac[lmac].phyaddr = MII_PHY_ANY;
429 device_printf(bgx->dev,
440 bgx->lmac[lmac].phy_if_dev =
442 if (bgx->lmac[lmac].phy_if_dev == NULL) {
444 device_printf(bgx->dev,
451 bgx_fdt_get_macaddr(child, bgx->lmac[lmac].mac);
453 bgx->lmac[lmac].lmacid = lmac;
459 device_printf(bgx->dev, "Could not find matching PHY\n");