forked from mirrors/linux
		
	Bluetooth: hci_bcm4377: Add new driver for BCM4377 PCIe boards
Broadcom BCM4377/4378/4387 are dual WiFi/Bluetooth boards found in Apple machines. This driver adds support for the Bluetooth function which exposes a shared memory IPC protocol over PCIe to tunnel HCI traffic. Signed-off-by: Sven Peter <sven@svenpeter.dev> Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
This commit is contained in:
		
							parent
							
								
									ffcb0a445e
								
							
						
					
					
						commit
						8a06127602
					
				
					 4 changed files with 2528 additions and 0 deletions
				
			
		| 
						 | 
					@ -1911,6 +1911,7 @@ F:	Documentation/devicetree/bindings/pinctrl/apple,pinctrl.yaml
 | 
				
			||||||
F:	Documentation/devicetree/bindings/power/apple*
 | 
					F:	Documentation/devicetree/bindings/power/apple*
 | 
				
			||||||
F:	Documentation/devicetree/bindings/watchdog/apple,wdt.yaml
 | 
					F:	Documentation/devicetree/bindings/watchdog/apple,wdt.yaml
 | 
				
			||||||
F:	arch/arm64/boot/dts/apple/
 | 
					F:	arch/arm64/boot/dts/apple/
 | 
				
			||||||
 | 
					F:	drivers/bluetooth/hci_bcm4377.c
 | 
				
			||||||
F:	drivers/clk/clk-apple-nco.c
 | 
					F:	drivers/clk/clk-apple-nco.c
 | 
				
			||||||
F:	drivers/dma/apple-admac.c
 | 
					F:	drivers/dma/apple-admac.c
 | 
				
			||||||
F:	drivers/i2c/busses/i2c-pasemi-core.c
 | 
					F:	drivers/i2c/busses/i2c-pasemi-core.c
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -285,6 +285,18 @@ config BT_HCIBCM203X
 | 
				
			||||||
	  Say Y here to compile support for HCI BCM203x devices into the
 | 
						  Say Y here to compile support for HCI BCM203x devices into the
 | 
				
			||||||
	  kernel or say M to compile it as module (bcm203x).
 | 
						  kernel or say M to compile it as module (bcm203x).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BT_HCIBCM4377
 | 
				
			||||||
 | 
						tristate "HCI BCM4377/4378/4387 PCIe driver"
 | 
				
			||||||
 | 
						depends on PCI
 | 
				
			||||||
 | 
						select FW_LOADER
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  Support for Broadcom BCM4377/4378/4387 Bluetooth chipsets attached via
 | 
				
			||||||
 | 
						  PCIe. These are usually found in Apple machines.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						  Say Y here to compile support for HCI BCM4377 family devices into the
 | 
				
			||||||
 | 
						  kernel or say M to compile it as module (hci_bcm4377).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BT_HCIBPA10X
 | 
					config BT_HCIBPA10X
 | 
				
			||||||
	tristate "HCI BPA10x USB driver"
 | 
						tristate "HCI BPA10x USB driver"
 | 
				
			||||||
	depends on USB
 | 
						depends on USB
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -6,6 +6,7 @@
 | 
				
			||||||
obj-$(CONFIG_BT_HCIVHCI)	+= hci_vhci.o
 | 
					obj-$(CONFIG_BT_HCIVHCI)	+= hci_vhci.o
 | 
				
			||||||
obj-$(CONFIG_BT_HCIUART)	+= hci_uart.o
 | 
					obj-$(CONFIG_BT_HCIUART)	+= hci_uart.o
 | 
				
			||||||
obj-$(CONFIG_BT_HCIBCM203X)	+= bcm203x.o
 | 
					obj-$(CONFIG_BT_HCIBCM203X)	+= bcm203x.o
 | 
				
			||||||
 | 
					obj-$(CONFIG_BT_HCIBCM4377)	+= hci_bcm4377.o
 | 
				
			||||||
obj-$(CONFIG_BT_HCIBPA10X)	+= bpa10x.o
 | 
					obj-$(CONFIG_BT_HCIBPA10X)	+= bpa10x.o
 | 
				
			||||||
obj-$(CONFIG_BT_HCIBFUSB)	+= bfusb.o
 | 
					obj-$(CONFIG_BT_HCIBFUSB)	+= bfusb.o
 | 
				
			||||||
obj-$(CONFIG_BT_HCIDTL1)	+= dtl1_cs.o
 | 
					obj-$(CONFIG_BT_HCIDTL1)	+= dtl1_cs.o
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										2514
									
								
								drivers/bluetooth/hci_bcm4377.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2514
									
								
								drivers/bluetooth/hci_bcm4377.c
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
		Loading…
	
		Reference in a new issue