[RFC] Driver configuration using Device Tree
Grant Likely
grant.likely at secretlab.ca
Sat Jul 20 16:02:14 EST 2013
On Tue, 09 Jul 2013 14:10:58 -0600, Eric Holmberg <eholmber at codeaurora.org> wrote:
> I am trying to determine if Device Tree is an appropriate use for
> configuring drivers and would like to request comments. We currently
> use Device Tree in our Shared Memory Driver (SMD) that manages up to 64
> ports (where a port consists of an RX FIFO and a TX FIFO) between any
> two processors and a pair of interrupts for each processor. The shared
> memory address and interrupt configuration is stored in Device Tree and
> since this is hardware, this is considered an acceptable use. However,
> we also have two separate modules that use SMD and export devices to
> userspace through either the TTY framework (SMD TTY) or through a
> character device (SMD PKT). For these drivers, the configuration has
> less to do with hardware and more about which port to connect to in the
> SMD driver and how to expose the port to userspace through a device
> node. This code is used in Linux-based phones.
>
> The DT configuration looks like this:
> qcom,smdtty {
> compatible = "qcom,smdtty";
>
> qcom,smdtty-ds {
> qcom,smdtty-port-name = "DS";
> qcom,smdtty-edge = <0>;
> qcom,smdtty-dev-idx = <0>;
> };
> . . .
> /* on the order of 10 more port config items */
> };
>
>
> Question
> --------
> Is there a concern that DT should only be used for hardware
> configuration and that this "driver configuration" is not an acceptable
> use? If it is not acceptable, should I go back to using platform
> devices (seems like a step backwards) or some other method such as
> exporting a control channel to userspace that can be configured using an
> IOCTL?
It still is a reasonable leap to say that the DT contains the known-sane
configuration settings that are needed by the platform. It may not be
/strictly/ a hardware description, but it is a description of the usage
model of the platform.
I would however say that you only want that configuration to appear once
in the system. If, say, the linux host sets up and configures the SMD
regions, then I would like to see the remote systems dynamically
receiving the configuration from the linux host instead of having a
separate configuration file.
g.
More information about the devicetree-discuss
mailing list