Lines Matching defs:mode
49 static inline int zmii_valid_mode(int mode)
51 return mode == PHY_MODE_MII ||
52 mode == PHY_MODE_RMII ||
53 mode == PHY_MODE_SMII ||
54 mode == PHY_MODE_NA;
57 static inline const char *zmii_mode_name(int mode)
59 switch (mode) {
71 static inline u32 zmii_mode_mask(int mode, int input)
73 switch (mode) {
85 int __devinit zmii_attach(struct platform_device *ofdev, int input, int *mode)
90 ZMII_DBG(dev, "init(%d, %d)" NL, input, *mode);
92 if (!zmii_valid_mode(*mode)) {
103 /* Autodetect ZMII mode if not specified.
105 * Please, always specify PHY mode in your board port to avoid
108 if (dev->mode == PHY_MODE_NA) {
109 if (*mode == PHY_MODE_NA) {
112 ZMII_DBG(dev, "autodetecting mode, FER = 0x%08x" NL, r);
115 dev->mode = PHY_MODE_MII;
117 dev->mode = PHY_MODE_RMII;
119 dev->mode = PHY_MODE_SMII;
121 dev->mode = *mode;
123 printk(KERN_NOTICE "%s: bridge in %s mode\n",
125 zmii_mode_name(dev->mode));
127 /* All inputs must use the same mode */
128 if (*mode != PHY_MODE_NA && *mode != dev->mode) {
130 "%s: invalid mode %d specified for input %d\n",
131 ofdev->dev.of_node->full_name, *mode, input);
137 /* Report back correct PHY mode,
140 *mode = dev->mode;
143 out_be32(&p->fer, in_be32(&p->fer) | zmii_mode_mask(dev->mode, input));
206 in_be32(&dev->base->fer) & ~zmii_mode_mask(dev->mode, input));
252 dev->mode = PHY_MODE_NA;