usb: isp1760: use dr_mode binding
There is already a binding to describe the dual role mode (dr_mode), use that instead of defining a new one (port1-otg). Update driver code and devicetree files that use that port1-otg binding. Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org> Link: https://lore.kernel.org/r/20210513084717.2487366-7-rui.silva@linaro.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Родитель
a74f639c5b
Коммит
3eb96e04be
|
@ -148,7 +148,7 @@
|
|||
usb: usb@4f000000 {
|
||||
compatible = "nxp,usb-isp1761";
|
||||
reg = <0x4f000000 0x20000>;
|
||||
port1-otg;
|
||||
dr_mode = "peripheral";
|
||||
};
|
||||
|
||||
bridge {
|
||||
|
|
|
@ -166,7 +166,7 @@
|
|||
reg = <0x3b000000 0x20000>;
|
||||
interrupt-parent = <&intc_fpga1176>;
|
||||
interrupts = <0 11 IRQ_TYPE_LEVEL_HIGH>;
|
||||
port1-otg;
|
||||
dr_mode = "peripheral";
|
||||
};
|
||||
|
||||
bridge {
|
||||
|
|
|
@ -712,7 +712,7 @@
|
|||
reg = <0x4f000000 0x20000>;
|
||||
interrupt-parent = <&intc_tc11mp>;
|
||||
interrupts = <0 3 IRQ_TYPE_LEVEL_HIGH>;
|
||||
port1-otg;
|
||||
dr_mode = "peripheral";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -164,7 +164,7 @@
|
|||
usb: usb@4f000000 {
|
||||
compatible = "nxp,usb-isp1761";
|
||||
reg = <0x4f000000 0x20000>;
|
||||
port1-otg;
|
||||
dr_mode = "peripheral";
|
||||
};
|
||||
|
||||
bridge {
|
||||
|
|
|
@ -144,7 +144,7 @@
|
|||
compatible = "nxp,usb-isp1761";
|
||||
reg = <2 0x03000000 0x20000>;
|
||||
interrupts = <16>;
|
||||
port1-otg;
|
||||
dr_mode = "peripheral";
|
||||
};
|
||||
|
||||
iofpga-bus@300000000 {
|
||||
|
|
|
@ -62,7 +62,7 @@
|
|||
compatible = "nxp,usb-isp1761";
|
||||
reg = <3 0x03000000 0x20000>;
|
||||
interrupts = <16>;
|
||||
port1-otg;
|
||||
dr_mode = "peripheral";
|
||||
};
|
||||
|
||||
iofpga@7,00000000 {
|
||||
|
|
|
@ -73,10 +73,9 @@ static void isp1760_init_core(struct isp1760_device *isp)
|
|||
* on ISP1761.
|
||||
*
|
||||
* TODO: Really support OTG. For now we configure port 1 in device mode
|
||||
* when OTG is requested.
|
||||
*/
|
||||
if ((isp->devflags & ISP1760_FLAG_ISP1761) &&
|
||||
(isp->devflags & ISP1760_FLAG_OTG_EN)) {
|
||||
(isp->devflags & ISP1760_FLAG_PERIPHERAL_EN)) {
|
||||
isp1760_field_set(hcd->fields, HW_DM_PULLDOWN);
|
||||
isp1760_field_set(hcd->fields, HW_DP_PULLDOWN);
|
||||
isp1760_field_set(hcd->fields, HW_OTG_DISABLE);
|
||||
|
|
|
@ -28,7 +28,7 @@ struct gpio_desc;
|
|||
* a sane default configuration.
|
||||
*/
|
||||
#define ISP1760_FLAG_BUS_WIDTH_16 0x00000002 /* 16-bit data bus width */
|
||||
#define ISP1760_FLAG_OTG_EN 0x00000004 /* Port 1 supports OTG */
|
||||
#define ISP1760_FLAG_PERIPHERAL_EN 0x00000004 /* Port 1 supports Peripheral mode*/
|
||||
#define ISP1760_FLAG_ANALOG_OC 0x00000008 /* Analog overcurrent */
|
||||
#define ISP1760_FLAG_DACK_POL_HIGH 0x00000010 /* DACK active high */
|
||||
#define ISP1760_FLAG_DREQ_POL_HIGH 0x00000020 /* DREQ active high */
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
#include <linux/platform_device.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/usb/hcd.h>
|
||||
#include <linux/usb/otg.h>
|
||||
|
||||
#include "isp1760-core.h"
|
||||
#include "isp1760-regs.h"
|
||||
|
@ -213,8 +214,8 @@ static int isp1760_plat_probe(struct platform_device *pdev)
|
|||
if (bus_width == 16)
|
||||
devflags |= ISP1760_FLAG_BUS_WIDTH_16;
|
||||
|
||||
if (of_property_read_bool(dp, "port1-otg"))
|
||||
devflags |= ISP1760_FLAG_OTG_EN;
|
||||
if (usb_get_dr_mode(&pdev->dev) == USB_DR_MODE_PERIPHERAL)
|
||||
devflags |= ISP1760_FLAG_PERIPHERAL_EN;
|
||||
|
||||
if (of_property_read_bool(dp, "analog-oc"))
|
||||
devflags |= ISP1760_FLAG_ANALOG_OC;
|
||||
|
|
Загрузка…
Ссылка в новой задаче