cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

marvell-bt-8xxx.txt (2800B)


      1Marvell 8897/8997 (sd8897/sd8997) bluetooth devices (SDIO or USB based)
      2------
      3The 8997 devices supports multiple interfaces. When used on SDIO interfaces,
      4the btmrvl driver is used and when used on USB interface, the btusb driver is
      5used.
      6
      7Required properties:
      8
      9  - compatible : should be one of the following:
     10	* "marvell,sd8897-bt" (for SDIO)
     11	* "marvell,sd8997-bt" (for SDIO)
     12	* "usb1286,204e"      (for USB)
     13
     14Optional properties:
     15
     16  - marvell,cal-data: Calibration data downloaded to the device during
     17		      initialization. This is an array of 28 values(u8).
     18		      This is only applicable to SDIO devices.
     19
     20  - marvell,wakeup-pin: It represents wakeup pin number of the bluetooth chip.
     21		        firmware will use the pin to wakeup host system (u16).
     22  - marvell,wakeup-gap-ms: wakeup gap represents wakeup latency of the host
     23		      platform. The value will be configured to firmware. This
     24		      is needed to work chip's sleep feature as expected (u16).
     25  - interrupt-names: Used only for USB based devices (See below)
     26  - interrupts : specifies the interrupt pin number to the cpu. For SDIO, the
     27		 driver will use the first interrupt specified in the interrupt
     28		 array. For USB based devices, the driver will use the interrupt
     29		 named "wakeup" from the interrupt-names and interrupt arrays.
     30		 The driver will request an irq based on this interrupt number.
     31		 During system suspend, the irq will be enabled so that the
     32		 bluetooth chip can wakeup host platform under certain
     33		 conditions. During system resume, the irq will be disabled
     34		 to make sure unnecessary interrupt is not received.
     35
     36Example:
     37
     38IRQ pin 119 is used as system wakeup source interrupt.
     39wakeup pin 13 and gap 100ms are configured so that firmware can wakeup host
     40using this device side pin and wakeup latency.
     41
     42Example for SDIO device follows (calibration data is also available in
     43below example).
     44
     45&mmc3 {
     46	vmmc-supply = <&wlan_en_reg>;
     47	bus-width = <4>;
     48	cap-power-off-card;
     49	keep-power-in-suspend;
     50
     51	#address-cells = <1>;
     52	#size-cells = <0>;
     53	btmrvl: bluetooth@2 {
     54		compatible = "marvell,sd8897-bt";
     55		reg = <2>;
     56		interrupt-parent = <&pio>;
     57		interrupts = <119 IRQ_TYPE_LEVEL_LOW>;
     58
     59		marvell,cal-data = /bits/ 8 <
     60			0x37 0x01 0x1c 0x00 0xff 0xff 0xff 0xff 0x01 0x7f 0x04 0x02
     61			0x00 0x00 0xba 0xce 0xc0 0xc6 0x2d 0x00 0x00 0x00 0x00 0x00
     62			0x00 0x00 0xf0 0x00>;
     63		marvell,wakeup-pin = /bits/ 16 <0x0d>;
     64		marvell,wakeup-gap-ms = /bits/ 16 <0x64>;
     65	};
     66};
     67
     68Example for USB device:
     69
     70&usb_host1_ohci {
     71    #address-cells = <1>;
     72    #size-cells = <0>;
     73
     74    mvl_bt1: bt@1 {
     75	compatible = "usb1286,204e";
     76	reg = <1>;
     77	interrupt-parent = <&gpio0>;
     78	interrupt-names = "wakeup";
     79	interrupts = <119 IRQ_TYPE_LEVEL_LOW>;
     80	marvell,wakeup-pin = /bits/ 16 <0x0d>;
     81	marvell,wakeup-gap-ms = /bits/ 16 <0x64>;
     82    };
     83};