Skip to content

Commit 3616936

Browse files
Tharun Kumar Pwsakernel
authored andcommitted
i2c: microchip: pci1xxxx: Add driver for I2C host controller in multifunction endpoint of pci1xxxx switch
Microchip pci1xxxx is an unmanaged PCIe3.1a Switch for Consumer, Industrial and Automotive applications. This switch has multiple downstream ports. In one of the Switch's Downstream port, there is a multifunction endpoint for peripherals which includes an I2C host controller. The I2C function in the endpoint operates at 100KHz, 400KHz and 1 MHz and has buffer depth of 128 bytes. This patch provides the I2C controller driver for the I2C function of the switch. Signed-off-by: Tharun Kumar P <tharunkumar.pasumarthi@microchip.com> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Wolfram Sang <wsa@kernel.org>
1 parent 09a7bab commit 3616936

File tree

4 files changed

+1229
-0
lines changed

4 files changed

+1229
-0
lines changed

MAINTAINERS

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13435,6 +13435,14 @@ F: Documentation/devicetree/bindings/nvmem/microchip,sama7g5-otpc.yaml
1343513435
F: drivers/nvmem/microchip-otpc.c
1343613436
F: include/dt-bindings/nvmem/microchip,sama7g5-otpc.h
1343713437

13438+
MICROCHIP PCI1XXXX I2C DRIVER
13439+
M: Tharun Kumar P <tharunkumar.pasumarthi@microchip.com>
13440+
M: Kumaravel Thiagarajan <kumaravel.thiagarajan@microchip.com>
13441+
M: Microchip Linux Driver Support <UNGLinuxDriver@microchip.com>
13442+
L: linux-i2c@vger.kernel.org
13443+
S: Maintained
13444+
F: drivers/i2c/busses/i2c-mchp-pci1xxxx.c
13445+
1343813446
MICROCHIP PWM DRIVER
1343913447
M: Claudiu Beznea <claudiu.beznea@microchip.com>
1344013448
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)

drivers/i2c/busses/Kconfig

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1267,6 +1267,16 @@ config I2C_PARPORT
12671267
This support is also available as a module. If so, the module
12681268
will be called i2c-parport.
12691269

1270+
config I2C_PCI1XXXX
1271+
tristate "PCI1XXXX I2C Host Adapter"
1272+
depends on PCI
1273+
help
1274+
If you say yes to this option, support will be included for
1275+
Microchip PCI1XXXX's I2C interface.
1276+
1277+
This driver can also be built as a module. If so, the module will
1278+
be called i2c-mchp-pci1xxxx.
1279+
12701280
config I2C_ROBOTFUZZ_OSIF
12711281
tristate "RobotFuzz Open Source InterFace USB adapter"
12721282
depends on USB

drivers/i2c/busses/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,7 @@ obj-$(CONFIG_I2C_DIOLAN_U2C) += i2c-diolan-u2c.o
133133
obj-$(CONFIG_I2C_DLN2) += i2c-dln2.o
134134
obj-$(CONFIG_I2C_CP2615) += i2c-cp2615.o
135135
obj-$(CONFIG_I2C_PARPORT) += i2c-parport.o
136+
obj-$(CONFIG_I2C_PCI1XXXX) += i2c-mchp-pci1xxxx.o
136137
obj-$(CONFIG_I2C_ROBOTFUZZ_OSIF) += i2c-robotfuzz-osif.o
137138
obj-$(CONFIG_I2C_TAOS_EVM) += i2c-taos-evm.o
138139
obj-$(CONFIG_I2C_TINY_USB) += i2c-tiny-usb.o

0 commit comments

Comments
 (0)