[PATCHv3 00/14] OMAP SSI driver / N900 modem support

From: Sebastian Reichel
Date: Fri Mar 28 2014 - 20:32:48 EST


Hi,

This is the seventh round of the OMAP SSI driver patches. The plan is
to get it merged into 3.16.

Changes since PATCHv2 [0]:
* Readded generic HSI client binding and Nokia N900 modem support.
They are also intended to be added in 3.16 and useful for testing
the SSI driver, so I think it makes sense to keep them in one
patchset.
* Updated the DT binding for the modem. A HSI port has only a single
child now, which describes the connected remote device. This better
fits the DT model of strictly describing hardware, since a HSI port
is a point2point interface. The driver can instantiate other
drivers as needed.
* Moved channel description from the drivers into DT.
* I added Signed-off-by: Carlos Chinea <carlos.chinea@xxxxxxxxx> to the
omap-ssi and ssi-protocol driver addtions, since the initial driver
was from him.
* I updated my email address.
* Added DTS changes to ease reviewing/testing the patchset.

I did *not* implement proper PM for the Nokia N900 modem in kernel
space, since that would break all existing userlands (ofono, fso-gsmd
and Nokia's closed source binaries). I think this should be implemented
later.

Please send feedback (e.g. Tested-By or Reviewed-By :)), so that I can
send a pull request for 3.16. You can either apply this patchset or
use the n900-modem-support branch available on [1].

For testing the patchset you should build the kernel with all config
entries in the HSI subsystem activated and boot using the updated
device tree information, since platform data based booting is not
supported. Testing the patchset with ofono works like this:

# provide cmt device for ofono
ln -sf /sys/bus/hsi/n900-modem /dev/cmt
# start ofono
ofono --nodetach --debug
# enable the modem
mdbus2 -s org.ofono /n900_0 org.ofono.Modem.SetProperty Powered true
# enable modem's RF parts
mdbus2 -s org.ofono /n900_0 org.ofono.Modem.SetProperty Online true
# scan for available networks (takes some time)
mdbus2 -s org.ofono /n900_0 org.ofono.NetworkRegistration.Scan

TODO (post-merge):
* Central Message Queue
I did not yet implement a central message queue in the HSI framework.
I will do this after Nokia N900 modem is working in the mainline kernel.
* Remove the hwmod DT hack
This depends on some future work merging hwmod data into DT.
* Implement proper context loss detection
* Implement N900 modem PM

[0] https://lkml.org/lkml/2014/3/9/139
[1] git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi.git

-- Sebastian

Sebastian Reichel (14):
Documentation: HSI: Add some general description for the HSI subsystem
MAINTAINERS: update HSI entry
HSI: hsi-char: fix driver for multiport scenarios
HSI: method to unregister clients from an hsi port
HSI: Add channel resource support to HSI clients
HSI: export method to (un)register clients
HSI: Add common DT binding for HSI client devices
HSI: Introduce OMAP SSI driver
Documentation: DT: omap-ssi binding documentation
HSI: Introduce driver for SSI Protocol
HSI: Introduce Nokia N900 modem driver
ARM: dts: omap3 clocks: simplify ssi aliases
DTS: ARM: OMAP3-N900: Add SSI support
DTS: ARM: OMAP3-N900: Add modem support

.../devicetree/bindings/hsi/client-devices.txt | 44 +
.../devicetree/bindings/hsi/nokia-modem.txt | 58 +
Documentation/devicetree/bindings/hsi/omap-ssi.txt | 85 ++
Documentation/hsi.txt | 75 ++
MAINTAINERS | 4 +-
arch/arm/boot/dts/omap3-n900.dts | 65 +
arch/arm/boot/dts/omap3.dtsi | 55 +
arch/arm/boot/dts/omap3430es1-clocks.dtsi | 10 +-
arch/arm/boot/dts/omap34xx.dtsi | 11 +
.../boot/dts/omap36xx-omap3430es2plus-clocks.dtsi | 10 +-
arch/arm/boot/dts/omap36xx.dtsi | 11 +
drivers/hsi/Kconfig | 1 +
drivers/hsi/Makefile | 1 +
drivers/hsi/clients/Kconfig | 17 +
drivers/hsi/clients/Makefile | 4 +-
drivers/hsi/clients/hsi_char.c | 14 +-
drivers/hsi/clients/nokia-modem.c | 272 ++++
drivers/hsi/clients/ssi_protocol.c | 1188 +++++++++++++++++
drivers/hsi/controllers/Kconfig | 19 +
drivers/hsi/controllers/Makefile | 6 +
drivers/hsi/controllers/omap_ssi.c | 621 +++++++++
drivers/hsi/controllers/omap_ssi.h | 166 +++
drivers/hsi/controllers/omap_ssi_port.c | 1401 ++++++++++++++++++++
drivers/hsi/controllers/omap_ssi_regs.h | 171 +++
drivers/hsi/hsi.c | 267 +++-
include/linux/hsi/hsi.h | 30 +-
include/linux/hsi/ssi_protocol.h | 42 +
27 files changed, 4619 insertions(+), 29 deletions(-)
create mode 100644 Documentation/devicetree/bindings/hsi/client-devices.txt
create mode 100644 Documentation/devicetree/bindings/hsi/nokia-modem.txt
create mode 100644 Documentation/devicetree/bindings/hsi/omap-ssi.txt
create mode 100644 Documentation/hsi.txt
create mode 100644 drivers/hsi/clients/nokia-modem.c
create mode 100644 drivers/hsi/clients/ssi_protocol.c
create mode 100644 drivers/hsi/controllers/Kconfig
create mode 100644 drivers/hsi/controllers/Makefile
create mode 100644 drivers/hsi/controllers/omap_ssi.c
create mode 100644 drivers/hsi/controllers/omap_ssi.h
create mode 100644 drivers/hsi/controllers/omap_ssi_port.c
create mode 100644 drivers/hsi/controllers/omap_ssi_regs.h
create mode 100644 include/linux/hsi/ssi_protocol.h

--
1.9.0

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/