mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-23 00:06:51 +07:00
8b7c3b6810
This new driver registers the NXP ISP1301 chip via the I2C subsystem. The chip is the USB transceiver shared by ohci-nxp, lpc32xx_udc (gadget) and isp1301_omap. ISP1301 is a very low-level driver that primarily separates out the I2C client registration of the ISP1301 chip (including instantiation via DT), used by other drivers, and declares the chip's registers. It's only a helper driver for some OHCI and USB device drivers. The driver can be considered as a register set extension of ohci-nxp, lpc32xx-udc and isp1301_omap, which in turn know best what to do with the low level functionality (individual ISP1301 registers and timing, see the different initialization strategies in those drivers). Those drivers previously internally duplicated ISP1301 register definitions which is solved by this new isp1301 driver. The ISP1301 registers exposed via isp1301.h can be accessed by other drivers using it with standard i2c_smbus_*() accesses. Following patches let the respective USB host and gadget drivers use this driver, instead of duplicating ISP1301 handling. Signed-off-by: Roland Stigge <stigge@antcom.de> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
26 lines
635 B
Plaintext
26 lines
635 B
Plaintext
* NXP ISP1301 USB transceiver
|
|
|
|
Required properties:
|
|
- compatible: must be "nxp,isp1301"
|
|
- reg: I2C address of the ISP1301 device
|
|
|
|
Optional properties of devices using ISP1301:
|
|
- transceiver: phandle of isp1301 - this helps the ISP1301 driver to find the
|
|
ISP1301 instance associated with the respective USB driver
|
|
|
|
Example:
|
|
|
|
isp1301: usb-transceiver@2c {
|
|
compatible = "nxp,isp1301";
|
|
reg = <0x2c>;
|
|
};
|
|
|
|
usbd@31020000 {
|
|
compatible = "nxp,lpc3220-udc";
|
|
reg = <0x31020000 0x300>;
|
|
interrupt-parent = <&mic>;
|
|
interrupts = <0x3d 0>, <0x3e 0>, <0x3c 0>, <0x3a 0>;
|
|
transceiver = <&isp1301>;
|
|
status = "okay";
|
|
};
|