Skip to content

Commit

Permalink
phy: uniphier-pcie: Add compatible string and SoC-dependent data for …
Browse files Browse the repository at this point in the history
…NX1 SoC

Add basic support for UniPhier NX1 SoC. This includes a compatible string,
SoC-dependent data, and a function that set to 2-lane mode.

Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Link: https://lore.kernel.org/r/1635503947-18250-5-git-send-email-hayashi.kunihiko@socionext.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
  • Loading branch information
Kunihiko Hayashi authored and Vinod Koul committed Nov 23, 2021
1 parent 21db101 commit 1c1597c
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions drivers/phy/socionext/phy-uniphier-pcie.c
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,10 @@
#define SG_USBPCIESEL 0x590
#define SG_USBPCIESEL_PCIE BIT(0)

/* SC */
#define SC_US3SRCSEL 0x2244
#define SC_US3SRCSEL_2LANE GENMASK(9, 8)

#define PCL_PHY_R00 0
#define RX_EQ_ADJ_EN BIT(3) /* enable for EQ adjustment */
#define PCL_PHY_R06 6
Expand Down Expand Up @@ -261,6 +265,12 @@ static void uniphier_pciephy_ld20_setmode(struct regmap *regmap)
SG_USBPCIESEL_PCIE, SG_USBPCIESEL_PCIE);
}

static void uniphier_pciephy_nx1_setmode(struct regmap *regmap)
{
regmap_update_bits(regmap, SC_US3SRCSEL,
SC_US3SRCSEL_2LANE, SC_US3SRCSEL_2LANE);
}

static const struct uniphier_pciephy_soc_data uniphier_pro5_data = {
.is_legacy = true,
};
Expand All @@ -274,6 +284,11 @@ static const struct uniphier_pciephy_soc_data uniphier_pxs3_data = {
.is_legacy = false,
};

static const struct uniphier_pciephy_soc_data uniphier_nx1_data = {
.is_legacy = false,
.set_phymode = uniphier_pciephy_nx1_setmode,
};

static const struct of_device_id uniphier_pciephy_match[] = {
{
.compatible = "socionext,uniphier-pro5-pcie-phy",
Expand All @@ -287,6 +302,10 @@ static const struct of_device_id uniphier_pciephy_match[] = {
.compatible = "socionext,uniphier-pxs3-pcie-phy",
.data = &uniphier_pxs3_data,
},
{
.compatible = "socionext,uniphier-nx1-pcie-phy",
.data = &uniphier_nx1_data,
},
{ /* sentinel */ },
};
MODULE_DEVICE_TABLE(of, uniphier_pciephy_match);
Expand Down

0 comments on commit 1c1597c

Please sign in to comment.