diff mbox series

[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 | expand

Commit Message

Tony Lindgren May 12, 2020, 9:47 p.m. UTC
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. UTC | #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
Johan Hovold March 5, 2021, 10:52 a.m. UTC | #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
Johan Hovold April 1, 2021, 9:43 a.m. UTC | #3
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?


Heh, look at the devicetree example above that I gave you back in March.
It has the virtual serial ports described ("serial@4"), which you were
missing.

Johan
diff mbox series

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>;
+      };
     };