lkml.org 
[lkml]   [2023]   [Jan]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v4 2/3] net: dsa: mv88e6xxx: add support for MV88E6020 switch
    Date
    From: Matthias Schiffer <matthias.schiffer@ew.tq-group.com>

    A mv88e6250 family (i.e. LinkStreet) switch with 2 PHY and RMII ports
    and no PTP support.

    Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
    Signed-off-by: Lukasz Majewski <lukma@denx.de>
    ---
    Changes for v2:
    - Add S-o-B
    - Update commit message
    - Add information about max packet size (2048 B)

    Changes for v3:
    - None

    Changes for v4:
    - Update the num_ports and num_internal_phys to be in sync with
    88e6020 documentation
    ---
    drivers/net/dsa/mv88e6xxx/chip.c | 21 +++++++++++++++++++++
    drivers/net/dsa/mv88e6xxx/chip.h | 1 +
    drivers/net/dsa/mv88e6xxx/port.h | 1 +
    3 files changed, 23 insertions(+)

    diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c
    index fc6d98c4a029..fb9b362c2a50 100644
    --- a/drivers/net/dsa/mv88e6xxx/chip.c
    +++ b/drivers/net/dsa/mv88e6xxx/chip.c
    @@ -5533,6 +5533,27 @@ static const struct mv88e6xxx_ops mv88e6393x_ops = {
    };

    static const struct mv88e6xxx_info mv88e6xxx_table[] = {
    + [MV88E6020] = {
    + .prod_num = MV88E6XXX_PORT_SWITCH_ID_PROD_6020,
    + .family = MV88E6XXX_FAMILY_6250,
    + .name = "Marvell 88E6020",
    + .num_databases = 64,
    + .num_ports = 4,
    + .num_internal_phys = 2,
    + .max_vid = 4095,
    + .max_frame_size = 2048,
    + .port_base_addr = 0x8,
    + .phy_base_addr = 0x0,
    + .global1_addr = 0xf,
    + .global2_addr = 0x7,
    + .age_time_coeff = 15000,
    + .g1_irqs = 9,
    + .g2_irqs = 5,
    + .atu_move_port_mask = 0xf,
    + .dual_chip = true,
    + .ops = &mv88e6250_ops,
    + },
    +
    [MV88E6085] = {
    .prod_num = MV88E6XXX_PORT_SWITCH_ID_PROD_6085,
    .family = MV88E6XXX_FAMILY_6097,
    diff --git a/drivers/net/dsa/mv88e6xxx/chip.h b/drivers/net/dsa/mv88e6xxx/chip.h
    index 31c09b66fbff..dd3f777a7201 100644
    --- a/drivers/net/dsa/mv88e6xxx/chip.h
    +++ b/drivers/net/dsa/mv88e6xxx/chip.h
    @@ -54,6 +54,7 @@ enum mv88e6xxx_frame_mode {

    /* List of supported models */
    enum mv88e6xxx_model {
    + MV88E6020,
    MV88E6085,
    MV88E6095,
    MV88E6097,
    diff --git a/drivers/net/dsa/mv88e6xxx/port.h b/drivers/net/dsa/mv88e6xxx/port.h
    index aec9d4fd20e3..169ce5b6fa31 100644
    --- a/drivers/net/dsa/mv88e6xxx/port.h
    +++ b/drivers/net/dsa/mv88e6xxx/port.h
    @@ -111,6 +111,7 @@
    /* Offset 0x03: Switch Identifier Register */
    #define MV88E6XXX_PORT_SWITCH_ID 0x03
    #define MV88E6XXX_PORT_SWITCH_ID_PROD_MASK 0xfff0
    +#define MV88E6XXX_PORT_SWITCH_ID_PROD_6020 0x0200
    #define MV88E6XXX_PORT_SWITCH_ID_PROD_6085 0x04a0
    #define MV88E6XXX_PORT_SWITCH_ID_PROD_6095 0x0950
    #define MV88E6XXX_PORT_SWITCH_ID_PROD_6097 0x0990
    --
    2.20.1
    \
     
     \ /
      Last update: 2023-03-26 23:29    [W:2.922 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site