diff mbox

ARM: dts: BCM5301X: Add support for TP-LINK Archer C5 V2

Message ID 437d898d-b0f4-a4b5-cb51-8ea88ba7a35a@milecki.pl (mailing list archive)
State New, archived
Headers show

Commit Message

Rafał Miłecki March 13, 2017, 6:48 p.m. UTC
On 03/12/2017 06:10 PM, Andrew Lunn wrote:
>> +	chosen {
>> +		bootargs = "console=ttyS0,115200 earlycon";
>
> Using bootargs to pass the serial settings has been deprecated for a
> while. Please use stdout-path instead.

I tried following patch with my SR400ac (I put Archer C5 aside for now).

While serial console seems to work:
1) I keep seeing boot log messages after:
[    0.402309] 18000300.serial: ttyS0 at MMIO 0x18000300 (irq = 18, base_baud = 6250000) is a 16550
2) Typed chars come back to my serial console

I can't log in. I press ENTER but I'm not getting prompt for entering user name.

Do you know why this change could have such an effect?

Comments

Andrew Lunn March 13, 2017, 7:14 p.m. UTC | #1
On Mon, Mar 13, 2017 at 07:48:26PM +0100, Rafa?? Mi??ecki wrote:
> On 03/12/2017 06:10 PM, Andrew Lunn wrote:
> >>+	chosen {
> >>+		bootargs = "console=ttyS0,115200 earlycon";
> >
> >Using bootargs to pass the serial settings has been deprecated for a
> >while. Please use stdout-path instead.
> 
> I tried following patch with my SR400ac (I put Archer C5 aside for now).

Hi Rafael

Take a look at for example the bcm911360k.dts

        aliases {
                serial0 = &uart3;
        };

        chosen {
                stdout-path = "serial0:115200n8";
        };

You need an alias to the serial device you want to us, and you should
list the speed, parity, bits etc.

	Andrew
Rafał Miłecki March 13, 2017, 7:15 p.m. UTC | #2
On 03/13/2017 08:14 PM, Andrew Lunn wrote:
> On Mon, Mar 13, 2017 at 07:48:26PM +0100, Rafa?? Mi??ecki wrote:
>> On 03/12/2017 06:10 PM, Andrew Lunn wrote:
>>>> +	chosen {
>>>> +		bootargs = "console=ttyS0,115200 earlycon";
>>>
>>> Using bootargs to pass the serial settings has been deprecated for a
>>> while. Please use stdout-path instead.
>>
>> I tried following patch with my SR400ac (I put Archer C5 aside for now).
>
> Hi Rafael
>
> Take a look at for example the bcm911360k.dts
>
>         aliases {
>                 serial0 = &uart3;
>         };
>
>         chosen {
>                 stdout-path = "serial0:115200n8";
>         };
>
> You need an alias to the serial device you want to us, and you should
> list the speed, parity, bits etc.

That was actually my first try (just with s/uart3/uart0) and I got the same problem.
Jon Mason March 13, 2017, 7:27 p.m. UTC | #3
On Mon, Mar 13, 2017 at 3:15 PM, Rafał Miłecki <rafal@milecki.pl> wrote:
> On 03/13/2017 08:14 PM, Andrew Lunn wrote:
>>
>> On Mon, Mar 13, 2017 at 07:48:26PM +0100, Rafa?? Mi??ecki wrote:
>>>
>>> On 03/12/2017 06:10 PM, Andrew Lunn wrote:
>>>>>
>>>>> +       chosen {
>>>>> +               bootargs = "console=ttyS0,115200 earlycon";
>>>>
>>>>
>>>> Using bootargs to pass the serial settings has been deprecated for a
>>>> while. Please use stdout-path instead.
>>>
>>>
>>> I tried following patch with my SR400ac (I put Archer C5 aside for now).
>>
>>
>> Hi Rafael
>>
>> Take a look at for example the bcm911360k.dts
>>
>>         aliases {
>>                 serial0 = &uart3;
>>         };
>>
>>         chosen {
>>                 stdout-path = "serial0:115200n8";
>>         };
>>
>> You need an alias to the serial device you want to us, and you should
>> list the speed, parity, bits etc.
>
>
> That was actually my first try (just with s/uart3/uart0) and I got the same
> problem.

I have a similar line in the bcm953012k.dts, and the serial there works for me.
Andrew Lunn March 13, 2017, 7:35 p.m. UTC | #4
On Mon, Mar 13, 2017 at 08:15:27PM +0100, Rafa?? Mi??ecki wrote:
> On 03/13/2017 08:14 PM, Andrew Lunn wrote:
> >On Mon, Mar 13, 2017 at 07:48:26PM +0100, Rafa?? Mi??ecki wrote:
> >>On 03/12/2017 06:10 PM, Andrew Lunn wrote:
> >>>>+	chosen {
> >>>>+		bootargs = "console=ttyS0,115200 earlycon";
> >>>
> >>>Using bootargs to pass the serial settings has been deprecated for a
> >>>while. Please use stdout-path instead.
> >>
> >>I tried following patch with my SR400ac (I put Archer C5 aside for now).
> >
> >Hi Rafael
> >
> >Take a look at for example the bcm911360k.dts
> >
> >        aliases {
> >                serial0 = &uart3;
> >        };
> >
> >        chosen {
> >                stdout-path = "serial0:115200n8";
> >        };
> >
> >You need an alias to the serial device you want to us, and you should
> >list the speed, parity, bits etc.
> 
> That was actually my first try (just with s/uart3/uart0) and I got the same problem.

Hi Rafael

Try decompiling the generate .dtb file back to a dts and see if it
looks correct.

      Andrew
Rafał Miłecki March 13, 2017, 9:46 p.m. UTC | #5
On 03/13/2017 08:35 PM, Andrew Lunn wrote:
> On Mon, Mar 13, 2017 at 08:15:27PM +0100, Rafa?? Mi??ecki wrote:
>> On 03/13/2017 08:14 PM, Andrew Lunn wrote:
>>> On Mon, Mar 13, 2017 at 07:48:26PM +0100, Rafa?? Mi??ecki wrote:
>>>> On 03/12/2017 06:10 PM, Andrew Lunn wrote:
>>>>>> +	chosen {
>>>>>> +		bootargs = "console=ttyS0,115200 earlycon";
>>>>>
>>>>> Using bootargs to pass the serial settings has been deprecated for a
>>>>> while. Please use stdout-path instead.
>>>>
>>>> I tried following patch with my SR400ac (I put Archer C5 aside for now).
>>>
>>> Hi Rafael
>>>
>>> Take a look at for example the bcm911360k.dts
>>>
>>>        aliases {
>>>                serial0 = &uart3;
>>>        };
>>>
>>>        chosen {
>>>                stdout-path = "serial0:115200n8";
>>>        };
>>>
>>> You need an alias to the serial device you want to us, and you should
>>> list the speed, parity, bits etc.
>>
>> That was actually my first try (just with s/uart3/uart0) and I got the same problem.
>
> Hi Rafael
>
> Try decompiling the generate .dtb file back to a dts and see if it
> looks correct.

I decompiled dtb, it looks OK to me, let me paste relevant part:

	chosen {
		stdout-path = "serial0:115200n8";
		bootargs = "earlycon";
	};

	aliases {
		serial0 = "/chipcommonA/serial@0300";
	};

	memory {
		device_type = "memory";
		reg = <0x0 0x8000000 0x88000000 0x8000000>;
	};

	chipcommonA {
		compatible = "simple-bus";
		ranges = <0x0 0x18000000 0x1000>;
		#address-cells = <0x1>;
		#size-cells = <0x1>;

		serial@0300 {
			compatible = "ns16550";
			reg = <0x300 0x100>;
			interrupts = <0x0 0x55 0x4>;
			clocks = <0x2>;
			status = "okay";
		};

		serial@0400 {
			compatible = "ns16550";
			reg = <0x400 0x100>;
			interrupts = <0x0 0x55 0x4>;
			clocks = <0x2>;
			status = "disabled";
		};
	};

I got some warnings, but I don't think they are critical:
Warning (unit_address_vs_reg): Node /memory has a reg or ranges property, but no unit name
Warning (unit_address_vs_reg): Node /chipcommonA has a reg or ranges property, but no unit name
Warning (unit_address_vs_reg): Node /mpcore has a reg or ranges property, but no unit name
Warning (unit_address_vs_reg): Node /usb2-phy has a reg or ranges property, but no unit name
Warning (unit_address_vs_reg): Node /usb3-phy has a reg or ranges property, but no unit name
diff mbox

Patch

diff --git a/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts b/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
index 36b628b..a5442a9 100644
--- a/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
+++ b/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
@@ -17,7 +17,7 @@ 
  	model = "SmartRG SR400ac";

  	chosen {
-		bootargs = "console=ttyS0,115200 earlycon";
+		bootargs = "earlycon";
  	};

  	memory {
diff --git a/arch/arm/boot/dts/bcm5301x.dtsi b/arch/arm/boot/dts/bcm5301x.dtsi
index 4fbb089..66c6d2a 100644
--- a/arch/arm/boot/dts/bcm5301x.dtsi
+++ b/arch/arm/boot/dts/bcm5301x.dtsi
@@ -19,7 +19,7 @@ 
  	interrupt-parent = <&gic>;

  	chosen {
-		stdout-path = &uart0;
+		stdout-path = "/chipcommonA/serial@0300:115200";
  	};

  	chipcommonA {