[OpenWrt-Devel] [PATCH V3] b53: define registers available and needed on BCM5301X
Jonas Gorski
jogo at openwrt.org
Mon Mar 30 16:43:14 EDT 2015
On Wed, Mar 18, 2015 at 8:48 PM, Rafał Miłecki <zajec5 at gmail.com> wrote:
> They are also present on some BCM63xx switches.
>
> Signed-off-by: Rafał Miłecki <zajec5 at gmail.com>
> ---
> .../generic/files/drivers/net/phy/b53/b53_regs.h | 32 ++++++++++++++++++++++
> 1 file changed, 32 insertions(+)
>
> diff --git a/target/linux/generic/files/drivers/net/phy/b53/b53_regs.h b/target/linux/generic/files/drivers/net/phy/b53/b53_regs.h
> index 4899cc4..a4db1f1 100644
> --- a/target/linux/generic/files/drivers/net/phy/b53/b53_regs.h
> +++ b/target/linux/generic/files/drivers/net/phy/b53/b53_regs.h
> @@ -50,6 +50,9 @@
> /* Jumbo Frame Registers */
> #define B53_JUMBO_PAGE 0x40
>
> +/* CFP Configuration Registers Page */
> +#define B53_CFP_PAGE 0xa1
How big is this page? What are its valid fields?
> +
> /*************************************************************************
> * Control Page registers
> *************************************************************************/
> @@ -99,6 +102,24 @@
> #define B53_MC_FLOOD_MASK 0x34
> #define B53_IPMC_FLOOD_MASK 0x36
>
> +/*
> + * Overriding ports 0-7 on devices with xMII interfaces (8 bit)
I suggest adding a blank line here in the comment to separate name and
detailed explanation. Also let's call it "Override Port State
Register" or so. "Overriding ports" sounds like you could change the
port numbering or so.
> + * For port 8 still use B53_PORT_OVERRIDE_CTRL
> + * Please note that not all ports are available on every hardware, e.g. BCM5301X
> + * don't include overriding port 6, BCM63xx also have some limitations.
> + */
> +#define B53_GMII_PORT_OVERRIDE_CTRL(i) (0x58 + i)
> +#define GMII_PORT_OVERRIDE_LINK BIT(0)
> +#define GMII_PORT_OVERRIDE_FULL_DUPLEX BIT(1) /* 0 = Half Duplex */
> +#define GMII_PORT_OVERRIDE_SPEED_S 2
> +#define GMII_PORT_OVERRIDE_SPEED_10M (0 << PORT_OVERRIDE_SPEED_S)
> +#define GMII_PORT_OVERRIDE_SPEED_100M (1 << PORT_OVERRIDE_SPEED_S)
> +#define GMII_PORT_OVERRIDE_SPEED_1000M (2 << PORT_OVERRIDE_SPEED_S)
> +#define GMII_PORT_OVERRIDE_RX_FLOW BIT(4)
> +#define GMII_PORT_OVERRIDE_TX_FLOW BIT(5)
> +#define GMII_PORT_OVERRIDE_EN BIT(6) /* Use the register contents */
> +#define GMII_PORT_OVERRIDE_SPEED_2000M BIT(7) /* BCM5301X only, requires setting 1000M */
Can we shorten these names a bit? Broadcom calls them GMII_PO_*, which
I think is an acceptable abbreviation.
> +
> /* Software reset register (8 bit) */
> #define B53_SOFTRESET 0x79
>
> @@ -156,6 +177,10 @@
> #define GC_FRM_MGMT_PORT_04 0x00
> #define GC_FRM_MGMT_PORT_MII 0x80
>
> +/* Enable BCM_HDR Tag on IMP port (8 bit) */
"Broadcom Header control register"? The comment belongs to BRCM_HDR_EN.
> +#define B53_BRCM_HDR 0x03
> +#define BRCM_HDR_EN BIT(0)
> +
> /* Device ID register (8 or 32 bit) */
> #define B53_DEVICE_ID 0x30
>
> @@ -310,4 +335,11 @@
> #define JMS_MIN_SIZE 1518
> #define JMS_MAX_SIZE 9724
>
> +/*************************************************************************
> + * CFP Configuration Page Registers
> + *************************************************************************/
> +
> +/* CFP Control Register with ports map (8 bit) */
> +#define B53_CFP_CTRL 0x00
> +
> #endif /* !__B53_REGS_H */
> --
> 1.8.4.5
Jonas
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list