mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-08 03:40:35 +09:00
phy: rockchip-inno-usb2: add support for rk3128
The rk312x use different config data which incluce control register address and value. The patch add config data of rk312x and match table to support rk3128. Change-Id: Idd9a5c885cf5e291517e56232e77066eb5d97138 Signed-off-by: Meng Dongyang <daniel.meng@rock-chips.com> Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
This commit is contained in:
@@ -2,6 +2,7 @@ ROCKCHIP USB2.0 PHY WITH INNO IP BLOCK
|
||||
|
||||
Required properties (phy (parent) node):
|
||||
- compatible : should be one of the listed compatibles:
|
||||
* "rockchip,rk3128-usb2phy"
|
||||
* "rockchip,rk3228-usb2phy"
|
||||
* "rockchip,rk3328-usb2phy"
|
||||
* "rockchip,rk3366-usb2phy"
|
||||
|
||||
@@ -1835,6 +1835,55 @@ static const struct dev_pm_ops rockchip_usb2phy_dev_pm_ops = {
|
||||
#define ROCKCHIP_USB2PHY_DEV_PM NULL
|
||||
#endif /* CONFIG_PM_SLEEP */
|
||||
|
||||
static const struct rockchip_usb2phy_cfg rk312x_phy_cfgs[] = {
|
||||
{
|
||||
.reg = 0x17c,
|
||||
.num_ports = 2,
|
||||
.clkout_ctl = { 0x0190, 15, 15, 1, 0 },
|
||||
.port_cfgs = {
|
||||
[USB2PHY_PORT_OTG] = {
|
||||
.phy_sus = { 0x017c, 8, 0, 0, 0x1d1 },
|
||||
.bvalid_det_en = { 0x017c, 14, 14, 0, 1 },
|
||||
.bvalid_det_st = { 0x017c, 15, 15, 0, 1 },
|
||||
.bvalid_det_clr = { 0x017c, 15, 15, 0, 1 },
|
||||
.iddig_output = { 0x017c, 10, 10, 0, 1 },
|
||||
.iddig_en = { 0x017c, 9, 9, 0, 1 },
|
||||
.idfall_det_en = { 0x01a0, 2, 2, 0, 1 },
|
||||
.idfall_det_st = { 0x01a0, 3, 3, 0, 1 },
|
||||
.idfall_det_clr = { 0x01a0, 3, 3, 0, 1 },
|
||||
.idrise_det_en = { 0x01a0, 0, 0, 0, 1 },
|
||||
.idrise_det_st = { 0x01a0, 1, 1, 0, 1 },
|
||||
.idrise_det_clr = { 0x01a0, 1, 1, 0, 1 },
|
||||
.ls_det_en = { 0x017c, 12, 12, 0, 1 },
|
||||
.ls_det_st = { 0x017c, 13, 13, 0, 1 },
|
||||
.ls_det_clr = { 0x017c, 13, 13, 0, 1 },
|
||||
.utmi_bvalid = { 0x014c, 5, 5, 0, 1 },
|
||||
.utmi_iddig = { 0x014c, 8, 8, 0, 1 },
|
||||
.utmi_ls = { 0x014c, 7, 6, 0, 1 },
|
||||
},
|
||||
[USB2PHY_PORT_HOST] = {
|
||||
.phy_sus = { 0x0194, 8, 0, 0, 0x1d1 },
|
||||
.ls_det_en = { 0x0194, 14, 14, 0, 1 },
|
||||
.ls_det_st = { 0x0194, 15, 15, 0, 1 },
|
||||
.ls_det_clr = { 0x0194, 15, 15, 0, 1 }
|
||||
}
|
||||
},
|
||||
.chg_det = {
|
||||
.opmode = { 0x017c, 3, 0, 5, 1 },
|
||||
.cp_det = { 0x02c0, 6, 6, 0, 1 },
|
||||
.dcp_det = { 0x02c0, 5, 5, 0, 1 },
|
||||
.dp_det = { 0x02c0, 7, 7, 0, 1 },
|
||||
.idm_sink_en = { 0x0184, 8, 8, 0, 1 },
|
||||
.idp_sink_en = { 0x0184, 7, 7, 0, 1 },
|
||||
.idp_src_en = { 0x0184, 9, 9, 0, 1 },
|
||||
.rdm_pdwn_en = { 0x0184, 10, 10, 0, 1 },
|
||||
.vdm_src_en = { 0x0184, 12, 12, 0, 1 },
|
||||
.vdp_src_en = { 0x0184, 11, 11, 0, 1 },
|
||||
},
|
||||
},
|
||||
{ /* sentinel */ }
|
||||
};
|
||||
|
||||
static const struct rockchip_usb2phy_cfg rk3228_phy_cfgs[] = {
|
||||
{
|
||||
.reg = 0x760,
|
||||
@@ -2137,6 +2186,7 @@ static const struct rockchip_usb2phy_cfg rv1108_phy_cfgs[] = {
|
||||
};
|
||||
|
||||
static const struct of_device_id rockchip_usb2phy_dt_match[] = {
|
||||
{ .compatible = "rockchip,rk3128-usb2phy", .data = &rk312x_phy_cfgs },
|
||||
{ .compatible = "rockchip,rk3228-usb2phy", .data = &rk3228_phy_cfgs },
|
||||
{ .compatible = "rockchip,rk3328-usb2phy", .data = &rk3328_phy_cfgs },
|
||||
{ .compatible = "rockchip,rk3366-usb2phy", .data = &rk3366_phy_cfgs },
|
||||
|
||||
Reference in New Issue
Block a user