Re: [PATCH 00/10] mscc: ocelot: add support for SerDes muxing configuration

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi again,

On Mon, Jul 30, 2018 at 02:43:45PM +0200, Quentin Schulz wrote:
> The Ocelot switch has currently a hardcoded SerDes muxing that suits only
> a particular use case. Any other board setup will fail to work.
> 
> To prepare for upcoming boards' support that do not have the same muxing,
> create a PHY driver that will handle all possible cases.
> 
> A SerDes can work in SGMII, QSGMII or PCIe and is also muxed to use a
> given port depending on the selected mode or board design.
> 
> The SerDes configuration is in the middle of an address space (HSIO) that
> is used to configure some parts in the MAC controller driver, that is why
> we need to use a syscon so that we can write to the same address space from
> different drivers safely using regmap.
> 
> Patches from generic PHY and net should be safe to be merged separately.
> 
> I suggest patches 1 to 5 and 10 go through net while the others (6 to 9)
> go through the generic PHY subsystem.
> 

Actually more like the following:
1 and 8 through MIPS tree, 2 to 5 and 10 through net, 6, 7 and 9 through
PHY.

Quentin

> Thanks,
> Quentin
> 
> Quentin Schulz (10):
>   MIPS: mscc: ocelot: make HSIO registers address range a syscon
>   dt-bindings: net: ocelot: remove hsio from the list of register address spaces
>   net: mscc: ocelot: get HSIO regmap from syscon
>   net: mscc: ocelot: move the HSIO header to include/soc
>   net: mscc: ocelot: simplify register access for PLL5 configuration
>   phy: add QSGMII and PCIE modes
>   dt-bindings: phy: add DT binding for Microsemi Ocelot SerDes muxing
>   MIPS: mscc: ocelot: add SerDes mux DT node
>   phy: add driver for Microsemi Ocelot SerDes muxing
>   net: mscc: ocelot: make use of SerDes PHYs for handling their configuration
> 
>  Documentation/devicetree/bindings/mips/mscc.txt             |  16 +-
>  Documentation/devicetree/bindings/net/mscc-ocelot.txt       |   9 +-
>  Documentation/devicetree/bindings/phy/phy-ocelot-serdes.txt |  42 +-
>  arch/mips/boot/dts/mscc/ocelot.dtsi                         |  19 +-
>  drivers/net/ethernet/mscc/Kconfig                           |   2 +-
>  drivers/net/ethernet/mscc/ocelot.c                          |  16 +-
>  drivers/net/ethernet/mscc/ocelot.h                          |  79 +-
>  drivers/net/ethernet/mscc/ocelot_board.c                    |  54 +-
>  drivers/net/ethernet/mscc/ocelot_hsio.h                     | 785 +------
>  drivers/net/ethernet/mscc/ocelot_regs.c                     |  93 +-
>  drivers/phy/Kconfig                                         |   1 +-
>  drivers/phy/Makefile                                        |   1 +-
>  drivers/phy/mscc/Kconfig                                    |  11 +-
>  drivers/phy/mscc/Makefile                                   |   5 +-
>  drivers/phy/mscc/phy-ocelot-serdes.c                        | 314 +++-
>  include/linux/phy/phy.h                                     |   2 +-
>  include/soc/mscc/ocelot_hsio.h                              | 859 +++++++-
>  17 files changed, 1343 insertions(+), 965 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/phy/phy-ocelot-serdes.txt
>  delete mode 100644 drivers/net/ethernet/mscc/ocelot_hsio.h
>  create mode 100644 drivers/phy/mscc/Kconfig
>  create mode 100644 drivers/phy/mscc/Makefile
>  create mode 100644 drivers/phy/mscc/phy-ocelot-serdes.c
>  create mode 100644 include/soc/mscc/ocelot_hsio.h
> 
> base-commit: d6e74c71c4de5222f147b64bf747e8a3c523c690
> -- 
> git-series 0.9.1

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux