Commit 3bb37c8e authored by Tony Lindgren's avatar Tony Lindgren

bus: ti-sysc: Handle stdout-path for debug console

If we have stdout-path specified for earlycon, we must prevent
the debug console from idling until runtime PM kicks in.
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent 62020f23
...@@ -206,6 +206,50 @@ static int sysc_parse_and_check_child_range(struct sysc *ddata) ...@@ -206,6 +206,50 @@ static int sysc_parse_and_check_child_range(struct sysc *ddata)
return 0; return 0;
} }
static struct device_node *stdout_path;
static void sysc_init_stdout_path(struct sysc *ddata)
{
struct device_node *np = NULL;
const char *uart;
if (IS_ERR(stdout_path))
return;
if (stdout_path)
return;
np = of_find_node_by_path("/chosen");
if (!np)
goto err;
uart = of_get_property(np, "stdout-path", NULL);
if (!uart)
goto err;
np = of_find_node_by_path(uart);
if (!np)
goto err;
stdout_path = np;
return;
err:
stdout_path = ERR_PTR(-ENODEV);
}
static void sysc_check_quirk_stdout(struct sysc *ddata,
struct device_node *np)
{
sysc_init_stdout_path(ddata);
if (np != stdout_path)
return;
ddata->cfg.quirks |= SYSC_QUIRK_NO_IDLE_ON_INIT |
SYSC_QUIRK_NO_RESET_ON_INIT;
}
/** /**
* sysc_check_one_child - check child configuration * sysc_check_one_child - check child configuration
* @ddata: device driver data * @ddata: device driver data
...@@ -224,6 +268,8 @@ static int sysc_check_one_child(struct sysc *ddata, ...@@ -224,6 +268,8 @@ static int sysc_check_one_child(struct sysc *ddata,
if (name) if (name)
dev_warn(ddata->dev, "really a child ti,hwmods property?"); dev_warn(ddata->dev, "really a child ti,hwmods property?");
sysc_check_quirk_stdout(ddata, np);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment