[3/6] dt-bindings: serdev: ngsm: Add binding for GNSS child node

Message ID 20200512214713.40501-4-tony@atomide.com
State New
Headers show
Series
  • [1/6] tty: n_gsm: Add support for serdev drivers
Related show

Commit Message

Tony Lindgren May 12, 2020, 9:47 p.m.
For motorola modem case, we may have a GNSS device on channel 4.
Let's add that to the binding and example.

Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 .../devicetree/bindings/serdev/serdev-ngsm.yaml          | 9 +++++++++
 1 file changed, 9 insertions(+)

Comments

Pavel Machek March 5, 2021, 10:46 a.m. | #1
Hi!

> > > For motorola modem case, we may have a GNSS device on channel 4.

> > > Let's add that to the binding and example.

> > > 

> > > Signed-off-by: Tony Lindgren <tony@atomide.com>

> > > ---

> > >  .../devicetree/bindings/serdev/serdev-ngsm.yaml          | 9 +++++++++

> > >  1 file changed, 9 insertions(+)


> 

> And since we're describing a mux, I think you need nodes for the virtual

> ports rather than a reg property in what should be a serial client. That

> is something like

> 

> 	serial@nnn {

> 		modem {

> 			compatible = "etsi,ts27001-mux";

> 

> 			serial@4 {

> 				compatible = "etsi,ts27001-serial";

> 				reg = <4>;

> 

> 				gnss {

> 					compatible = "motorola,motmdm-gnss";

> 				};

> 			};

> 		};

> 	};

> 

> This way you can actually use serdev for the client drivers (e.g. for

> gnss), and those drivers also be used for non-muxed ports if needed

> (e.g. over USB).


I have done changes you requested, and then hit "serdev is busy
because it can have at most one child" limit in the code. You have
pretty clean driver in your inbox, and no reply. No help with serdev
core limitations, either. Can you start to communicate?

Best regards,
								Pavel

-- 
http://www.livejournal.com/~pavelmachek
Johan Hovold March 5, 2021, 10:52 a.m. | #2
On Fri, Mar 05, 2021 at 11:46:35AM +0100, Pavel Machek wrote:
> Hi!
> 
> > > > For motorola modem case, we may have a GNSS device on channel 4.
> > > > Let's add that to the binding and example.
> > > > 
> > > > Signed-off-by: Tony Lindgren <tony@atomide.com>
> > > > ---
> > > >  .../devicetree/bindings/serdev/serdev-ngsm.yaml          | 9 +++++++++
> > > >  1 file changed, 9 insertions(+)
> 
> > 
> > And since we're describing a mux, I think you need nodes for the virtual
> > ports rather than a reg property in what should be a serial client. That
> > is something like
> > 
> > 	serial@nnn {
> > 		modem {
> > 			compatible = "etsi,ts27001-mux";
> > 
> > 			serial@4 {
> > 				compatible = "etsi,ts27001-serial";
> > 				reg = <4>;
> > 
> > 				gnss {
> > 					compatible = "motorola,motmdm-gnss";
> > 				};
> > 			};
> > 		};
> > 	};
> > 
> > This way you can actually use serdev for the client drivers (e.g. for
> > gnss), and those drivers also be used for non-muxed ports if needed
> > (e.g. over USB).
> 
> I have done changes you requested, and then hit "serdev is busy
> because it can have at most one child" limit in the code. You have
> pretty clean driver in your inbox, and no reply. No help with serdev
> core limitations, either. Can you start to communicate?

It's on my list, but time is limited.

Johan
Pavel Machek March 24, 2021, 1:09 a.m. | #3
On Fri 2021-03-05 11:52:38, Johan Hovold wrote:
> On Fri, Mar 05, 2021 at 11:46:35AM +0100, Pavel Machek wrote:

> > Hi!

> > 

> > > > > For motorola modem case, we may have a GNSS device on channel 4.

> > > > > Let's add that to the binding and example.

> > > > > 

> > > > > Signed-off-by: Tony Lindgren <tony@atomide.com>

> > > > > ---

> > > > >  .../devicetree/bindings/serdev/serdev-ngsm.yaml          | 9 +++++++++

> > > > >  1 file changed, 9 insertions(+)

> > 

> > > 

> > > And since we're describing a mux, I think you need nodes for the virtual

> > > ports rather than a reg property in what should be a serial client. That

> > > is something like

> > > 

> > > 	serial@nnn {

> > > 		modem {

> > > 			compatible = "etsi,ts27001-mux";

> > > 

> > > 			serial@4 {

> > > 				compatible = "etsi,ts27001-serial";

> > > 				reg = <4>;

> > > 

> > > 				gnss {

> > > 					compatible = "motorola,motmdm-gnss";

> > > 				};

> > > 			};

> > > 		};

> > > 	};

> > > 

> > > This way you can actually use serdev for the client drivers (e.g. for

> > > gnss), and those drivers also be used for non-muxed ports if needed

> > > (e.g. over USB).

> > 

> > I have done changes you requested, and then hit "serdev is busy

> > because it can have at most one child" limit in the code. You have

> > pretty clean driver in your inbox, and no reply. No help with serdev

> > core limitations, either. Can you start to communicate?

> 

> It's on my list, but time is limited.


Everyone's time is limited. Do you have any time estimates?
								Pavel

-- 
http://www.livejournal.com/~pavelmachek

Patch

diff --git a/Documentation/devicetree/bindings/serdev/serdev-ngsm.yaml b/Documentation/devicetree/bindings/serdev/serdev-ngsm.yaml
--- a/Documentation/devicetree/bindings/serdev/serdev-ngsm.yaml
+++ b/Documentation/devicetree/bindings/serdev/serdev-ngsm.yaml
@@ -42,6 +42,10 @@  allOf:
           description: Name of the USB PHY
           const: usb
 
+        compatible:
+          description: GNSS receiver
+          const: motorola,mapphone-mdm6600-gnss
+
       required:
         - phys
         - phy-names
@@ -61,4 +65,9 @@  examples:
       phy-names = "usb";
       #address-cells = <1>;
       #size-cells = <0>;
+
+      gnss@4 {
+         compatible = "motorola,mapphone-mdm6600-gnss";
+         reg = <4>;
+      };
     };