Skip to content

Commit 28b6f51

Browse files
tobias-modschiedlerMatthias Blankertz
authored andcommitted
Merge pull request #4 in CBX3/ext-kernel-renesas-bsp from CBX3IST-79-usb2-inic to v4.9/rcar-ctc
* commit '876c004bb19689c4e34677ed9f8e12fbf2520d23': Completely disable OTG on channel 0 of EHCI controller Enable channel 0 of USB 2.0 host controller (cherry picked from commit e93a6c16869cc4c97dc4460b711a0039a88f63af) (cherry picked from commit 619c80382a2aba43db2000a44457c5ec2676de72)
1 parent 3862fc3 commit 28b6f51

File tree

2 files changed

+23
-3
lines changed

2 files changed

+23
-3
lines changed

arch/arm64/boot/dts/renesas/r8a7796-cetibox-m3ulcb.dts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,11 @@
271271
function = "audio_clk";
272272
};
273273

274+
usb0_pins: usb0 {
275+
groups = "usb0";
276+
function = "usb0";
277+
};
278+
274279
usb1_pins: usb1 {
275280
groups = "usb1";
276281
function = "usb1";
@@ -584,13 +589,28 @@
584589
status = "okay";
585590
};
586591

592+
&usb2_phy0 {
593+
pinctrl-0 = <&usb0_pins>;
594+
pinctrl-names = "default";
595+
596+
status = "okay";
597+
};
598+
587599
&usb2_phy1 {
588600
pinctrl-0 = <&usb1_pins>;
589601
pinctrl-names = "default";
590602

591603
status = "okay";
592604
};
593605

606+
&ehci0 {
607+
status = "okay";
608+
};
609+
610+
&ohci0 {
611+
status = "okay";
612+
};
613+
594614
&ehci1 {
595615
status = "okay";
596616
};

drivers/phy/renesas/phy-rcar-gen3-usb2.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@
7777
#define USB2_ADPCTRL_OTGSESSVLD BIT(20)
7878
#define USB2_ADPCTRL_IDDIG BIT(19)
7979
#define USB2_ADPCTRL_IDPULLUP BIT(5) /* 1 = ID sampling is enabled */
80+
#define USB2_ADPCTRL_OTGDISABLE BIT(3) /* 1 = VBUS valid comparator disabled */
8081
#define USB2_ADPCTRL_DRVVBUS BIT(4)
8182

8283
struct rcar_gen3_chan {
@@ -283,13 +284,12 @@ static void rcar_gen3_init_otg(struct rcar_gen3_chan *ch)
283284
val = readl(usb2_base + USB2_OBINTEN);
284285
writel(val | USB2_OBINT_BITS, usb2_base + USB2_OBINTEN);
285286
val = readl(usb2_base + USB2_ADPCTRL);
286-
writel(val | USB2_ADPCTRL_IDPULLUP, usb2_base + USB2_ADPCTRL);
287+
writel((val & ~USB2_ADPCTRL_IDPULLUP) | USB2_ADPCTRL_OTGDISABLE, usb2_base + USB2_ADPCTRL);
287288
val = readl(usb2_base + USB2_LINECTRL1);
288289
rcar_gen3_set_linectrl(ch, 0, 0);
289290
writel(val | USB2_LINECTRL1_DPRPD_EN | USB2_LINECTRL1_DMRPD_EN,
290291
usb2_base + USB2_LINECTRL1);
291-
292-
rcar_gen3_device_recognition(ch);
292+
rcar_gen3_init_for_host(ch);
293293
}
294294

295295
static int rcar_gen3_phy_usb2_init(struct phy *p)

0 commit comments

Comments
 (0)