/* * Copyright (c) 201 Broadcom Corporation * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ #ifndef _LINUX_BRCMFMAC_PLATFORM_H #define _LINUX_BRCMFMAC_PLATFORM_H #define BRCMFMAC_PDATA_NAME "brcmfmac" #define BRCMFMAC_COUNTRY_BUF_SZ 4 /* * Platform specific driver functions and data. Through the platform specific * device data functions and data can be provided to help the brcmfmac driver to * operate with the device in combination with the used platform. */ /** * Note: the brcmfmac can be loaded as module or be statically built-in into * the kernel. If built-in then do note that it uses module_init (and * module_exit) routines which equal device_initcall. So if you intend to * create a module with the platform specific data for the brcmfmac and have * it built-in to the kernel then use a higher initcall then device_initcall * (see init.h). If this is not done then brcmfmac will load without problems * but will not pickup the platform data. * * When the driver does not "detect" platform driver data then it will continue * without reporting anything and just assume there is no data needed. Which is * probably true for most platforms. */ /** * enum brcmf_bus_type - Bus type identifier. Currently SDIO, USB and PCIE are * supported. */ enum brcmf_bus_type { BRCMF_BUSTYPE_SDIO, BRCMF_BUSTYPE_USB, BRCMF_BUSTYPE_PCIE }; /** * struct brcmfmac_sdio_pd - SDIO Device specific platform data. * * @txglomsz: SDIO txglom size. Use 0 if default of driver is to be * used. * @drive_strength: is the preferred drive_strength to be used for the SDIO * pins. If 0 then a default value will be used. This is * the target drive strength, the exact drive strength * which will be used depends on the capabilities of the * device. * @oob_irq_supported: does the board have support for OOB interrupts. SDIO * in-band interrupts are relatively slow and for having * less overhead on interrupt processing an out of band * interrupt can be used. If the HW supports this then * enable this by setting this field to true and configure * the oob related fields. * @oob_irq_nr, * @oob_irq_flags: the OOB interrupt information. The values are used for * registering the irq using request_irq function. * @broken_sg_support: flag for broken sg list support of SDIO host controller. * Set this to true if the SDIO host controller has higher * align requirement than 32 bytes for each scatterlist * item. * @sd_head_align: alignment requirement for start of data buffer. * @sd_sgentry_align: length alignment requirement for each sg entry. * @reset: This function can get called if the device communication * broke down. This functionality is particularly useful in * case of SDIO type devices. It is possible to reset a * dongle via sdio data interface, but it requires that * this is fully functional. This function is chip/module * specific and this function should return only after the * complete reset has completed. */ struct brcmfmac_sdio_pd { int txglomsz; unsigned int drive_strength; bool oob_irq_supported; unsigned int oob_irq_nr; unsigned long oob_irq_flags; bool broken_sg_support; unsigned short sd_head_align; unsigned short sd_sgentry_align; void (*reset)(void); }; /** * struct brcmfmac_pd_cc_entry - Struct for translating user space country code * (iso3166) to firmware country code and * revision. * * @iso3166: iso3166 alpha 2 country code string. * @cc: firmware country code string. * @rev: firmware country code revision. */ struct brcmfmac_pd_cc_entry { char iso3166[BRCMFMAC_COUNTRY_BUF_SZ]; char cc[BRCMFMAC_COUNTRY_BUF_SZ]; s32 rev; }; /** * struct brcmfmac_pd_cc - Struct for translating country codes as set by user * space to a country code and rev which can be used by * firmware. * * @table_size: number of entries in table (> 0) * @table: array of 1 or more elements with translation information. */ struct brcmfmac_pd_cc { int table_size; struct brcmfmac_pd_cc_entry table[0]; }; /** * struct brcmfmac_pd_device - Device specific platform data. (id/rev/bus_type) * is the unique identifier of the device. * * @id: ID of the device for which this data is. In case of SDIO * or PCIE this is the chipid as identified by chip.c In * case of USB this is the chipid as identified by the * device query. * @rev: chip revision, see id. * @bus_type: The type of bus. Some chipid/rev exist for different bus * types. Each bus type has its own set of settings. * @feature_disable: Bitmask of features to disable (override), See feature.c * in brcmfmac for details. * @country_codes: If available, pointer to struct for translating country * codes. * @bus: Bus specific (union) device settings. Currently only * SDIO. */ struct brcmfmac_pd_device { unsigned int id; unsigned int rev; enum brcmf_bus_type bus_type; unsigned int feature_disable; struct brcmfmac_pd_cc *country_codes; union { struct brcmfmac_sdio_pd sdio; } bus; }; /** * struct brcmfmac_platform_data - BRCMFMAC specific platform data. * * @power_on: This function is called by the brcmfmac driver when the module * gets loaded. This can be particularly useful for low power * devices. The platform spcific routine may for example decide to * power up the complete device. If there is no use-case for this * function then provide NULL. * @power_off: This function is called by the brcmfmac when the module gets * unloaded. At this point the devices can be powered down or * otherwise be reset. So if an actual power_off is not supported * but reset is supported by the devices then reset the devices * when this function gets called. This can be particularly useful * for low power devices. If there is no use-case for this * function then provide NULL. */ struct brcmfmac_platform_data { void (*power_on)(void); void (*power_off)(void); char *fw_alternative_path; int device_count; struct brcmfmac_pd_device devices[0]; }; #endif /* _LINUX_BRCMFMAC_PLATFORM_H */
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
media | Folder | 0755 |
|
|
x86 | Folder | 0755 |
|
|
ad5449.h | File | 1.16 KB | 0644 |
|
ad5755.h | File | 2.74 KB | 0644 |
|
ad5761.h | File | 1.23 KB | 0644 |
|
ad7266.h | File | 1.46 KB | 0644 |
|
ad7291.h | File | 296 B | 0644 |
|
ad7298.h | File | 410 B | 0644 |
|
ad7303.h | File | 458 B | 0644 |
|
ad7791.h | File | 530 B | 0644 |
|
ad7793.h | File | 3.74 KB | 0644 |
|
ad7879.h | File | 1.16 KB | 0644 |
|
ad7887.h | File | 749 B | 0644 |
|
adau17x1.h | File | 3.51 KB | 0644 |
|
adau1977.h | File | 1.25 KB | 0644 |
|
adp5588.h | File | 6.54 KB | 0644 |
|
adp8860.h | File | 4.6 KB | 0644 |
|
adp8870.h | File | 4.51 KB | 0644 |
|
ads1015.h | File | 1.11 KB | 0644 |
|
ads7828.h | File | 832 B | 0644 |
|
apds990x.h | File | 2.43 KB | 0644 |
|
arm-ux500-pm.h | File | 586 B | 0644 |
|
asoc-imx-ssi.h | File | 686 B | 0644 |
|
asoc-kirkwood.h | File | 145 B | 0644 |
|
asoc-mx27vis.h | File | 285 B | 0644 |
|
asoc-palm27x.h | File | 152 B | 0644 |
|
asoc-s3c.h | File | 1.47 KB | 0644 |
|
asoc-s3c24xx_simtec.h | File | 892 B | 0644 |
|
asoc-ti-mcbsp.h | File | 1.72 KB | 0644 |
|
asoc-ux500-msp.h | File | 452 B | 0644 |
|
at24.h | File | 1.98 KB | 0644 |
|
at91_adc.h | File | 1.38 KB | 0644 |
|
ata-pxa.h | File | 1.03 KB | 0644 |
|
ata-samsung_cf.h | File | 962 B | 0644 |
|
atmel.h | File | 646 B | 0644 |
|
atmel_mxt_ts.h | File | 870 B | 0644 |
|
b53.h | File | 1.01 KB | 0644 |
|
bcmgenet.h | File | 402 B | 0644 |
|
bd6107.h | File | 414 B | 0644 |
|
bfin_rotary.h | File | 4.97 KB | 0644 |
|
bh1770glc.h | File | 1.78 KB | 0644 |
|
brcmfmac.h | File | 6.63 KB | 0644 |
|
bt-nokia-h4p.h | File | 1.13 KB | 0644 |
|
clk-integrator.h | File | 118 B | 0644 |
|
clk-lpss.h | File | 565 B | 0644 |
|
clk-u300.h | File | 47 B | 0644 |
|
cpuidle-exynos.h | File | 507 B | 0644 |
|
crypto-atmel.h | File | 545 B | 0644 |
|
crypto-ux500.h | File | 543 B | 0644 |
|
cyttsp4.h | File | 2.21 KB | 0644 |
|
davinci_asp.h | File | 3.23 KB | 0644 |
|
db8500_thermal.h | File | 1.07 KB | 0644 |
|
dma-atmel.h | File | 2.45 KB | 0644 |
|
dma-coh901318.h | File | 1.99 KB | 0644 |
|
dma-dw.h | File | 2.63 KB | 0644 |
|
dma-ep93xx.h | File | 2.68 KB | 0644 |
|
dma-hsu.h | File | 478 B | 0644 |
|
dma-imx-sdma.h | File | 1.59 KB | 0644 |
|
dma-imx.h | File | 1.97 KB | 0644 |
|
dma-mmp_tdma.h | File | 799 B | 0644 |
|
dma-mv_xor.h | File | 375 B | 0644 |
|
dma-s3c24xx.h | File | 1.5 KB | 0644 |
|
dma-ste-dma40.h | File | 6.05 KB | 0644 |
|
dmtimer-omap.h | File | 1.07 KB | 0644 |
|
ds620.h | File | 426 B | 0644 |
|
dwc3-omap.h | File | 1.96 KB | 0644 |
|
edma.h | File | 2.73 KB | 0644 |
|
efm32-spi.h | File | 375 B | 0644 |
|
efm32-uart.h | File | 393 B | 0644 |
|
ehci-sh.h | File | 995 B | 0644 |
|
elm.h | File | 1.74 KB | 0644 |
|
emif_plat.h | File | 4.06 KB | 0644 |
|
eth-netx.h | File | 884 B | 0644 |
|
fsa9480.h | File | 656 B | 0644 |
|
g762.h | File | 1.33 KB | 0644 |
|
gpio-ath79.h | File | 476 B | 0644 |
|
gpio-davinci.h | File | 1.44 KB | 0644 |
|
gpio-dwapb.h | File | 814 B | 0644 |
|
gpio-htc-egpio.h | File | 1.77 KB | 0644 |
|
gpio-omap.h | File | 6.52 KB | 0644 |
|
gpio-ts5500.h | File | 838 B | 0644 |
|
gpio_backlight.h | File | 445 B | 0644 |
|
gpmc-omap.h | File | 5.68 KB | 0644 |
|
hsmmc-omap.h | File | 2.46 KB | 0644 |
|
hwmon-s3c.h | File | 1.33 KB | 0644 |
|
i2c-cbus-gpio.h | File | 790 B | 0644 |
|
i2c-davinci.h | File | 913 B | 0644 |
|
i2c-designware.h | File | 619 B | 0644 |
|
i2c-hid.h | File | 1.36 KB | 0644 |
|
i2c-imx.h | File | 420 B | 0644 |
|
i2c-mux-reg.h | File | 1.41 KB | 0644 |
|
i2c-s3c2410.h | File | 3 KB | 0644 |
|
ina2xx.h | File | 554 B | 0644 |
|
intel-mid_wdt.h | File | 620 B | 0644 |
|
intel-spi.h | File | 751 B | 0644 |
|
invensense_mpu6050.h | File | 1.24 KB | 0644 |
|
iommu-omap.h | File | 567 B | 0644 |
|
irda-pxaficp.h | File | 704 B | 0644 |
|
irda-sa11x0.h | File | 557 B | 0644 |
|
isl9305.h | File | 704 B | 0644 |
|
itco_wdt.h | File | 569 B | 0644 |
|
keyboard-pxa930_rotary.h | File | 642 B | 0644 |
|
keyboard-spear.h | File | 3.81 KB | 0644 |
|
keypad-ep93xx.h | File | 1.05 KB | 0644 |
|
keypad-nomadik-ske.h | File | 1.17 KB | 0644 |
|
keypad-omap.h | File | 1.44 KB | 0644 |
|
keypad-pxa27x.h | File | 2.16 KB | 0644 |
|
keypad-w90p910.h | File | 380 B | 0644 |
|
keyscan-davinci.h | File | 1.15 KB | 0644 |
|
lcd-mipid.h | File | 586 B | 0644 |
|
leds-kirkwood-netxbig.h | File | 1.08 KB | 0644 |
|
leds-kirkwood-ns2.h | File | 742 B | 0644 |
|
leds-lm355x.h | File | 1.43 KB | 0644 |
|
leds-lm3642.h | File | 823 B | 0644 |
|
leds-lp55xx.h | File | 2.04 KB | 0644 |
|
leds-omap.h | File | 498 B | 0644 |
|
leds-pca963x.h | File | 1.22 KB | 0644 |
|
leds-s3c24xx.h | File | 669 B | 0644 |
|
lm3630a_bl.h | File | 1.64 KB | 0644 |
|
lm3639_bl.h | File | 1.51 KB | 0644 |
|
lm8323.h | File | 1.34 KB | 0644 |
|
lp855x.h | File | 4.07 KB | 0644 |
|
lp8727.h | File | 1.58 KB | 0644 |
|
lp8755.h | File | 1.62 KB | 0644 |
|
ltc4245.h | File | 538 B | 0644 |
|
lv5207lp.h | File | 419 B | 0644 |
|
macb.h | File | 799 B | 0644 |
|
max197.h | File | 757 B | 0644 |
|
max3421-hcd.h | File | 808 B | 0644 |
|
max6639.h | File | 433 B | 0644 |
|
max6697.h | File | 1.03 KB | 0644 |
|
max732x.h | File | 573 B | 0644 |
|
mcs.h | File | 913 B | 0644 |
|
mdio-bcm-unimac.h | File | 275 B | 0644 |
|
mdio-gpio.h | File | 758 B | 0644 |
|
mfd-mcp-sa11x0.h | File | 418 B | 0644 |
|
microchip-ksz.h | File | 962 B | 0644 |
|
mlxcpld-hotplug.h | File | 3.97 KB | 0644 |
|
mmc-davinci.h | File | 736 B | 0644 |
|
mmc-esdhc-imx.h | File | 1.55 KB | 0644 |
|
mmc-mxcmmc.h | File | 1.07 KB | 0644 |
|
mmc-omap.h | File | 3.38 KB | 0644 |
|
mmc-pxamci.h | File | 1.01 KB | 0644 |
|
mmc-s3cmci.h | File | 2.04 KB | 0644 |
|
mmc-sdhci-s3c.h | File | 2.22 KB | 0644 |
|
mmp_audio.h | File | 492 B | 0644 |
|
mmp_dma.h | File | 419 B | 0644 |
|
mms114.h | File | 580 B | 0644 |
|
mouse-pxa930_trkball.h | File | 226 B | 0644 |
|
mtd-davinci-aemif.h | File | 769 B | 0644 |
|
mtd-davinci.h | File | 2.65 KB | 0644 |
|
mtd-mxc_nand.h | File | 1.25 KB | 0644 |
|
mtd-nand-omap2.h | File | 2.14 KB | 0644 |
|
mtd-nand-pxa3xx.h | File | 1.32 KB | 0644 |
|
mtd-nand-s3c2410.h | File | 2.18 KB | 0644 |
|
mtd-onenand-omap2.h | File | 829 B | 0644 |
|
mtd-orion_nand.h | File | 561 B | 0644 |
|
mv_usb.h | File | 1.32 KB | 0644 |
|
net-cw1200.h | File | 2.72 KB | 0644 |
|
nfcmrvl.h | File | 1.23 KB | 0644 |
|
ntc_thermistor.h | File | 1.89 KB | 0644 |
|
nxp-nci.h | File | 816 B | 0644 |
|
omap-twl4030.h | File | 1.64 KB | 0644 |
|
omap-wd-timer.h | File | 1.08 KB | 0644 |
|
omap1_bl.h | File | 229 B | 0644 |
|
omapdss.h | File | 1.08 KB | 0644 |
|
pca953x.h | File | 690 B | 0644 |
|
pca954x.h | File | 1.53 KB | 0644 |
|
pcf857x.h | File | 1.78 KB | 0644 |
|
pcmcia-pxa2xx_viper.h | File | 200 B | 0644 |
|
pinctrl-adi2.h | File | 1.07 KB | 0644 |
|
pinctrl-single.h | File | 339 B | 0644 |
|
pixcir_i2c_ts.h | File | 1.45 KB | 0644 |
|
pwm_omap_dmtimer.h | File | 3.32 KB | 0644 |
|
pxa2xx_udc.h | File | 983 B | 0644 |
|
pxa_sdhci.h | File | 1.76 KB | 0644 |
|
regulator-haptic.h | File | 837 B | 0644 |
|
remoteproc-omap.h | File | 1.71 KB | 0644 |
|
rtc-ds2404.h | File | 467 B | 0644 |
|
rtc-v3020.h | File | 1.03 KB | 0644 |
|
s3c-hsotg.h | File | 1.18 KB | 0644 |
|
s3c-hsudc.h | File | 1.13 KB | 0644 |
|
sa11x0-serial.h | File | 874 B | 0644 |
|
sc18is602.h | File | 539 B | 0644 |
|
sdhci-pic32.h | File | 757 B | 0644 |
|
serial-imx.h | File | 945 B | 0644 |
|
serial-omap.h | File | 1.2 KB | 0644 |
|
serial-sccnxp.h | File | 2.1 KB | 0644 |
|
sh_ipmmu.h | File | 443 B | 0644 |
|
shmob_drm.h | File | 2.87 KB | 0644 |
|
sht3x.h | File | 801 B | 0644 |
|
shtc1.h | File | 720 B | 0644 |
|
si5351.h | File | 3.48 KB | 0644 |
|
simplefb.h | File | 2.26 KB | 0644 |
|
sky81452-backlight.h | File | 1.52 KB | 0644 |
|
spi-clps711x.h | File | 628 B | 0644 |
|
spi-davinci.h | File | 3.09 KB | 0644 |
|
spi-ep93xx.h | File | 454 B | 0644 |
|
spi-imx.h | File | 1.13 KB | 0644 |
|
spi-mt65xx.h | File | 531 B | 0644 |
|
spi-nuc900.h | File | 730 B | 0644 |
|
spi-omap2-mcspi.h | File | 598 B | 0644 |
|
spi-s3c64xx.h | File | 2.16 KB | 0644 |
|
ssm2518.h | File | 489 B | 0644 |
|
st33zp24.h | File | 967 B | 0644 |
|
st_sensors_pdata.h | File | 730 B | 0644 |
|
syscon.h | File | 163 B | 0644 |
|
tc35876x.h | File | 172 B | 0644 |
|
ti-aemif.h | File | 553 B | 0644 |
|
touchscreen-s3c2410.h | File | 741 B | 0644 |
|
tsc2007.h | File | 655 B | 0644 |
|
tsl2563.h | File | 180 B | 0644 |
|
uio_dmem_genirq.h | File | 800 B | 0644 |
|
uio_pruss.h | File | 827 B | 0644 |
|
usb-davinci.h | File | 1.04 KB | 0644 |
|
usb-ehci-mxc.h | File | 332 B | 0644 |
|
usb-ehci-orion.h | File | 440 B | 0644 |
|
usb-musb-ux500.h | File | 575 B | 0644 |
|
usb-mx2.h | File | 1.29 KB | 0644 |
|
usb-ohci-pxa27x.h | File | 925 B | 0644 |
|
usb-ohci-s3c2410.h | File | 1.06 KB | 0644 |
|
usb-omap.h | File | 2.81 KB | 0644 |
|
usb-omap1.h | File | 1.47 KB | 0644 |
|
usb-pxa3xx-ulpi.h | File | 821 B | 0644 |
|
usb-s3c2410_udc.h | File | 1.19 KB | 0644 |
|
usb3503.h | File | 461 B | 0644 |
|
ux500_wdt.h | File | 320 B | 0644 |
|
video-clcd-versatile.h | File | 758 B | 0644 |
|
video-ep93xx.h | File | 1.49 KB | 0644 |
|
video-imxfb.h | File | 1.75 KB | 0644 |
|
video-mx3fb.h | File | 1.54 KB | 0644 |
|
video-nuc900fb.h | File | 1.89 KB | 0644 |
|
video-pxafb.h | File | 5.37 KB | 0644 |
|
video_s3c.h | File | 1.71 KB | 0644 |
|
voltage-omap.h | File | 1.29 KB | 0644 |
|
wiznet.h | File | 504 B | 0644 |
|
wkup_m3.h | File | 937 B | 0644 |
|
zforce_ts.h | File | 727 B | 0644 |
|