On Tue, Jul 30, 2019 at 12:04:26PM +0200, Hubert Feurstein wrote:
> The MV88E6220 is almost the same as MV88E6250 except that the ports 2-4 are
> not routed to pins. So the usable ports are 0, 1, 5 and 6.

Hi Hubert

Do the registers for the ports exist?

> +     [MV88E6220] = {
> +             .prod_num = MV88E6XXX_PORT_SWITCH_ID_PROD_6220,
> +             .family = MV88E6XXX_FAMILY_6250,
> +             .name = "Marvell 88E6220",
> +             .num_databases = 64,
> +
> +             /* Ports 2-4 are not routed to pins
> +              * => usable ports 0, 1, 5, 6
> +              */
> +             .num_ports = 7,

I'm wondering if we should add something like

                .invalid_port_mask = BIT(2) | BIT(3) | BIT(4)


and

        /* Setup Switch Port Registers */
        for (i = 0; i < mv88e6xxx_num_ports(chip); i++) {
+               if (chip->info->invalid_port_mask & BIT(i) &&
+                   !dsa_is_unused_port(ds, i))
+                   return -EINVAL;
                if (dsa_is_unused_port(ds, i)) {
                        err = mv88e6xxx_port_set_state(chip, i,
                                                       BR_STATE_DISABLED);
  
        Andrew

Reply via email to