[PATCH 0/5] Radio device framework

akhil.goyal at freescale.com akhil.goyal at freescale.com
Tue Jun 4 09:04:55 UTC 2013


From: Akhil Goyal <akhil.goyal at freescale.com>

RF signal path is integral part of any system that transmits/receives RF
(radio frequency) signals. In these systems Data is processed/converted
to IQ samples (digital representation a RF signal) and passed to a RFIC
(RF PHY) which converts the digital RF signal (IQ samples) to analog and
transmits over antenna.

Typically The signal path consists of multiple components: 

Antenna controller <-> vector signal processors <-> RFIC <-> Antenna

Each of these components have specific functionalities: 

1. Antenna controller: Framing of digital IQ data into protocol specific frames.
2. vector signal processors: For conditioning of signal.
3. RFIC : converts digital IQ data to analog signal which is transmitted/received on/from Air.

Also it is desirable to control the complete signal path, for example:
bringing the complete signal path up/down etc. 

The radio device framework introduces a way to accommodate the RF signal
paths.  One signal path is represented as a RF device (rf0, rf1 etc), and
it can contain multiple components which have their individual vendor
specific drivers. The framework provides mechanism by which individual
components can register with RF framework, and the framework will handle the binding
of individual component devices to a RF device. RF device exports the control
interfaces to user space, and this user space interface is independent of
component (vendor specific) drivers.

This patch set include
1. RF Interface: Independent of phy or antenna controller.
2. AIC driver: Antenna interface Controller(AIC) of Hetrogenous SOC's
like BSC9131, BSC9132
3. AD9361 driver: RF Phy driver for Analog Devices(ADI) chip(AD9361)
4. Device tree bindings for AIC and ADI nodes.
5. Device tree changes for BSC9131

This framework will be re-sent for drivers/ folder after it gets approval for
staging.


Akhil Goyal (5):
  staging: Support for RF interface device framework
  staging: AIC: Freescale Antenna Interface controller driver
  staging: RF/ad9361: AD9361 device driver for Radio phy
  binding: Add device tree bindings for freescale AIC and AD phy
  BSC9131rdb/dts: Add nodes for supporting AIC and AD PHY

 .../devicetree/bindings/rf/ad9361-phy.txt          |   53 +
 Documentation/devicetree/bindings/rf/fsl-aic.txt   |   47 +
 arch/powerpc/boot/dts/bsc9131rdb.dts               |    4 +
 arch/powerpc/boot/dts/bsc9131rdb.dtsi              |   38 +
 arch/powerpc/boot/dts/fsl/bsc9131si-post.dtsi      |   53 +-
 arch/powerpc/boot/dts/fsl/pq3-espi-0.dtsi          |    1 +
 arch/powerpc/boot/dts/fsl/pq3-espi-1.dtsi          |   42 +
 arch/powerpc/boot/dts/fsl/pq3-gpio-0.dtsi          |    1 +
 arch/powerpc/boot/dts/fsl/pq3-gpio-1.dtsi          |   42 +
 drivers/staging/Kconfig                            |    2 +
 drivers/staging/Makefile                           |    1 +
 drivers/staging/rf/Kconfig                         |   37 +
 drivers/staging/rf/Makefile                        |    7 +
 drivers/staging/rf/controllers/Makefile            |    1 +
 drivers/staging/rf/controllers/fsl_aic.c           | 1560 ++++++++++++++++
 drivers/staging/rf/controllers/fsl_aic.h           |  450 +++++
 drivers/staging/rf/core/Makefile                   |    2 +
 drivers/staging/rf/core/rf_channel.c               |  207 +++
 drivers/staging/rf/core/rfdev.c                    | 1263 +++++++++++++
 drivers/staging/rf/phy/Makefile                    |    2 +
 drivers/staging/rf/phy/ad9361.c                    | 1918 ++++++++++++++++++++
 drivers/staging/rf/phy/ad9361.h                    |  353 ++++
 include/linux/rf_channel.h                         |   26 +
 include/linux/rfdev.h                              |  250 +++
 include/uapi/linux/rfdev.h                         |  392 ++++
 25 files changed, 6749 insertions(+), 3 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/rf/ad9361-phy.txt
 create mode 100644 Documentation/devicetree/bindings/rf/fsl-aic.txt
 create mode 100644 arch/powerpc/boot/dts/fsl/pq3-espi-1.dtsi
 create mode 100644 arch/powerpc/boot/dts/fsl/pq3-gpio-1.dtsi
 create mode 100644 drivers/staging/rf/Kconfig
 create mode 100644 drivers/staging/rf/Makefile
 create mode 100644 drivers/staging/rf/controllers/Makefile
 create mode 100644 drivers/staging/rf/controllers/fsl_aic.c
 create mode 100644 drivers/staging/rf/controllers/fsl_aic.h
 create mode 100644 drivers/staging/rf/core/Makefile
 create mode 100644 drivers/staging/rf/core/rf_channel.c
 create mode 100644 drivers/staging/rf/core/rfdev.c
 create mode 100644 drivers/staging/rf/phy/Makefile
 create mode 100644 drivers/staging/rf/phy/ad9361.c
 create mode 100644 drivers/staging/rf/phy/ad9361.h
 create mode 100644 include/linux/rf_channel.h
 create mode 100644 include/linux/rfdev.h
 create mode 100644 include/uapi/linux/rfdev.h






More information about the devel mailing list