Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e87a850b authored by Vineet Gupta's avatar Vineet Gupta
Browse files

ARC: [arcfpga] Early ARC UART to be only activated by cmdline



Earlier CONFIG_SERIAL_ARC_CONSOLE would unconditionally enable the
legacy ARC UART based early console even if platform lacked that UART
(e.g. nSIM OSCI platform).

So a multi-platform image containing the 2 UART drivers won't work.

Fix that by probing the driver only if "earlyprintk=ttyARC0" is present
in cmdline.

Reported-by: default avatarChuck Jordan <cjordan@synopsys.com>
Signed-off-by: default avatarVineet Gupta <vgupta@synopsys.com>
parent c00bfd97
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -17,7 +17,7 @@
	interrupt-parent = <&intc>;

	chosen {
		bootargs = "console=ttyARC0,115200n8";
		bootargs = "console=ttyARC0,115200n8 earlyprintk=ttyARC0";
	};

	aliases {
+4 −9
Original line number Diff line number Diff line
@@ -79,16 +79,11 @@ static void arc_fpga_serial_init(void)
				   ARRAY_SIZE(fpga_early_devs));

	/*
	 * ARC console driver registers itself as an early platform driver
	 * of class "earlyprintk".
	 * Install it here, followed by probe of devices.
	 * The installation here doesn't require earlyprintk in command line
	 * To do so however, replace the lines below with
	 *	parse_early_param();
	 *	early_platform_driver_probe("earlyprintk", 1, 1);
	 *						      ^^
	 * ARC console driver registers (build time) as an early platform driver
	 * of class "earlyprintk". However it needs explicit cmdline toggle
	 * "earlyprintk=ttyARC0" to be successfuly runtime registered.
	 * Otherwise the early probe below fails to find the driver
	 */
	early_platform_driver_register_all("earlyprintk");
	early_platform_driver_probe("earlyprintk", 1, 0);

	/*