Linux ATA/IDE development
 help / color / mirror / Atom feed
From: Kishon Vijay Abraham I <kishon@ti.com>
To: Jaedon Shin <jaedon.shin@gmail.com>, Tejun Heo <tj@kernel.org>,
	Rob Herring <robh+dt@kernel.org>,
	Brian Norris <computersforpeace@gmail.com>,
	Florian Fainelli <f.fainelli@gmail.com>,
	linux-ide@vger.kernel.org
Cc: Ralf Baechle <ralf@linux-mips.org>,
	Dragan Stancevic <dragan.stancevic@gmail.com>
Subject: Re: [v5 7/7] phy: phy_brcmstb_sata: add support MIPS-based platforms
Date: Thu, 19 Nov 2015 19:19:27 +0530	[thread overview]
Message-ID: <564DD367.4090603@ti.com> (raw)
In-Reply-To: <1447900879-1549-8-git-send-email-jaedon.shin@gmail.com>

Hi,

On Thursday 19 November 2015 08:11 AM, Jaedon Shin wrote:
> The BCM7xxx ARM-based and MIPS-based platforms share a similar hardware
> block for AHCI SATA3.
> 
> The BCM7425 is main chipset of MIPS-based 40nm class. The others have
> same PHY of AHCI block. The compatible string may use
> brcm,bcm7425-sata-phy.
> 
> Signed-off-by: Jaedon Shin <jaedon.shin@gmail.com>
> Acked-by: Rob Herring <robh@kernel.org>
> Tested-by: Florian Fainelli <f.fainelli@gmail.com>
> Acked-by: Brian Norris <computersforpeace@gmail.com>
> ---
>  .../bindings/phy/brcm,brcmstb-sata-phy.txt         |  1 +
>  drivers/phy/Kconfig                                |  4 ++--
>  drivers/phy/phy-brcmstb-sata.c                     | 24 ++++++++++++++++------
>  3 files changed, 21 insertions(+), 8 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/phy/brcm,brcmstb-sata-phy.txt b/Documentation/devicetree/bindings/phy/brcm,brcmstb-sata-phy.txt
> index 7f81ef90146a..d87ab7c127b8 100644
> --- a/Documentation/devicetree/bindings/phy/brcm,brcmstb-sata-phy.txt
> +++ b/Documentation/devicetree/bindings/phy/brcm,brcmstb-sata-phy.txt
> @@ -2,6 +2,7 @@
>  
>  Required properties:
>  - compatible: should be one or more of
> +     "brcm,bcm7425-sata-phy"
>       "brcm,bcm7445-sata-phy"
>       "brcm,phy-sata3"
>  - address-cells: should be 1
> diff --git a/drivers/phy/Kconfig b/drivers/phy/Kconfig
> index 7eb5859dd035..c6f4798ed3af 100644
> --- a/drivers/phy/Kconfig
> +++ b/drivers/phy/Kconfig
> @@ -373,11 +373,11 @@ config PHY_TUSB1210
>  
>  config PHY_BRCMSTB_SATA
>  	tristate "Broadcom STB SATA PHY driver"
> -	depends on ARCH_BRCMSTB
> +	depends on ARCH_BRCMSTB || BMIPS_GENERIC
>  	depends on OF
>  	select GENERIC_PHY
>  	help
> -	  Enable this to support the SATA3 PHY on 28nm Broadcom STB SoCs.
> +	  Enable this to support the SATA3 PHY on 28nm or 40nm Broadcom STB SoCs.
>  	  Likely useful only with CONFIG_SATA_BRCMSTB enabled.
>  
>  config PHY_CYGNUS_PCIE
> diff --git a/drivers/phy/phy-brcmstb-sata.c b/drivers/phy/phy-brcmstb-sata.c
> index 5de394f589c8..c8243581f196 100644
> --- a/drivers/phy/phy-brcmstb-sata.c
> +++ b/drivers/phy/phy-brcmstb-sata.c
> @@ -32,8 +32,14 @@
>  /* Register offset between PHYs in PCB space */
>  #define SATA_MDIO_REG_28NM_SPACE_SIZE			0x1000
>  
> +/* The older SATA PHY registers duplicated per port registers within the map,
> + * rather than having a separate map per port.
> + */
> +#define SATA_MDIO_REG_40NM_SPACE_SIZE			0x10
> +
>  enum brcm_sata_phy_version {
>  	BRCM_SATA_PHY_28NM,
> +	BRCM_SATA_PHY_40NM,
>  };
>  
>  struct brcm_sata_port {
> @@ -51,7 +57,7 @@ struct brcm_sata_phy {
>  	struct brcm_sata_port phys[MAX_PORTS];
>  };
>  
> -enum sata_mdio_phy_regs_28nm {
> +enum sata_mdio_phy_regs {
>  	PLL_REG_BANK_0				= 0x50,
>  	PLL_REG_BANK_0_PLLCONTROL_0		= 0x81,
>  
> @@ -69,10 +75,14 @@ enum sata_mdio_phy_regs_28nm {
>  static inline void __iomem *brcm_sata_phy_base(struct brcm_sata_port *port)
>  {
>  	struct brcm_sata_phy *priv = port->phy_priv;
> -	u32 offset;
> +	u32 offset = 0;
>  
>  	if (priv->version == BRCM_SATA_PHY_28NM)
>  		offset = SATA_MDIO_REG_28NM_SPACE_SIZE;
> +	else if (priv->version == BRCM_SATA_PHY_40NM)
> +		offset = SATA_MDIO_REG_40NM_SPACE_SIZE;
> +	else
> +		dev_err(priv->dev, "should not happen\n");

"invalid phy version" here?

Thanks
Kishon

  reply	other threads:[~2015-11-19 13:49 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-19  2:41 [v5 0/7] add support SATA for BMIPS_GENERIC Jaedon Shin
2015-11-19  2:41 ` [v5 1/7] ata: ahci_brcmstb: add support MIPS-based platforms Jaedon Shin
2015-11-19  2:41 ` [v5 2/7] ata: ahci_brcmstb: add quirk for broken ncq Jaedon Shin
2015-11-19 18:44   ` Brian Norris
2015-11-19  2:41 ` [v5 3/7] ata: ahci_brcmstb: add quirk for different phy Jaedon Shin
2015-11-19  2:41 ` [v5 4/7] ata: ahci_brcmstb: remove unused definitions Jaedon Shin
2015-11-19  2:41 ` [v5 5/7] phy: phy_brcmstb_sata: remove duplicate definitions Jaedon Shin
2015-11-19  2:41 ` [v5 6/7] phy: phy_brcmstb_sata: add data for phy version Jaedon Shin
2015-11-19  2:41 ` [v5 7/7] phy: phy_brcmstb_sata: add support MIPS-based platforms Jaedon Shin
2015-11-19 13:49   ` Kishon Vijay Abraham I [this message]
2015-11-24 23:51 ` [v5 0/7] add support SATA for BMIPS_GENERIC Florian Fainelli
2015-11-25  9:30   ` Jaedon Shin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=564DD367.4090603@ti.com \
    --to=kishon@ti.com \
    --cc=computersforpeace@gmail.com \
    --cc=dragan.stancevic@gmail.com \
    --cc=f.fainelli@gmail.com \
    --cc=jaedon.shin@gmail.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=ralf@linux-mips.org \
    --cc=robh+dt@kernel.org \
    --cc=tj@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox