Commit 7d19273c authored by Christian Ruppert's avatar Christian Ruppert Committed by Vineet Gupta

ARC: [TB10x] Remove redundant abilis,simple-pinctrl mechanism

The TB10x platform port includes a custom mechanism using to set up
default pin controller configurations using abilis,simple-default
pin configurations of nodes compatible with abilis,simple-pinctrl. This
mechanism is redundant with the Linux standard "default" pin
configuration, see commit ab78029e
"drivers/pinctrl: grab default handles from device core".
This patch removes the TB10x custom mechanism in favour of the Linux
standard.
Signed-off-by: default avatarChristian Ruppert <christian.ruppert@abilis.com>
Reviewed-by: default avatarStephen Warren <swarren@nvidia.com>
Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Signed-off-by: default avatarVineet Gupta <vgupta@synopsys.com>
parent f722406f
...@@ -37,7 +37,7 @@ memory { ...@@ -37,7 +37,7 @@ memory {
soc100 { soc100 {
uart@FF100000 { uart@FF100000 {
pinctrl-names = "abilis,simple-default"; pinctrl-names = "default";
pinctrl-0 = <&pctl_uart0>; pinctrl-0 = <&pctl_uart0>;
}; };
ethernet@FE100000 { ethernet@FE100000 {
......
...@@ -37,7 +37,7 @@ memory { ...@@ -37,7 +37,7 @@ memory {
soc100 { soc100 {
uart@FF100000 { uart@FF100000 {
pinctrl-names = "abilis,simple-default"; pinctrl-names = "default";
pinctrl-0 = <&pctl_uart0>; pinctrl-0 = <&pctl_uart0>;
}; };
ethernet@FE100000 { ethernet@FE100000 {
......
...@@ -88,8 +88,7 @@ tb10x_ictl: pic@fe002000 { ...@@ -88,8 +88,7 @@ tb10x_ictl: pic@fe002000 {
}; };
uart@FF100000 { uart@FF100000 {
compatible = "snps,dw-apb-uart", compatible = "snps,dw-apb-uart";
"abilis,simple-pinctrl";
reg = <0xFF100000 0x100>; reg = <0xFF100000 0x100>;
clock-frequency = <166666666>; clock-frequency = <166666666>;
interrupts = <25 1>; interrupts = <25 1>;
...@@ -184,8 +183,7 @@ spi1: spi@0xFE011000 { ...@@ -184,8 +183,7 @@ spi1: spi@0xFE011000 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
cell-index = <1>; cell-index = <1>;
compatible = "abilis,tb100-spi", compatible = "abilis,tb100-spi";
"abilis,simple-pinctrl";
num-cs = <2>; num-cs = <2>;
reg = <0xFE011000 0x20>; reg = <0xFE011000 0x20>;
interrupt-parent = <&tb10x_ictl>; interrupt-parent = <&tb10x_ictl>;
......
...@@ -34,31 +34,6 @@ static void __init tb10x_platform_init(void) ...@@ -34,31 +34,6 @@ static void __init tb10x_platform_init(void)
of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
} }
static void __init tb10x_platform_late_init(void)
{
struct device_node *dn;
/*
* Pinctrl documentation recommends setting up the iomux here for
* all modules which don't require control over the pins themselves.
* Modules which need this kind of assistance are compatible with
* "abilis,simple-pinctrl", i.e. we can easily iterate over them.
* TODO: Does this recommended method work cleanly with pins required
* by modules?
*/
for_each_compatible_node(dn, NULL, "abilis,simple-pinctrl") {
struct platform_device *pd = of_find_device_by_node(dn);
struct pinctrl *pctl;
pctl = pinctrl_get_select(&pd->dev, "abilis,simple-default");
if (IS_ERR(pctl)) {
int ret = PTR_ERR(pctl);
dev_err(&pd->dev, "Could not set up pinctrl: %d\n",
ret);
}
}
}
static const char *tb10x_compat[] __initdata = { static const char *tb10x_compat[] __initdata = {
"abilis,arc-tb10x", "abilis,arc-tb10x",
NULL, NULL,
...@@ -67,5 +42,4 @@ static const char *tb10x_compat[] __initdata = { ...@@ -67,5 +42,4 @@ static const char *tb10x_compat[] __initdata = {
MACHINE_START(TB10x, "tb10x") MACHINE_START(TB10x, "tb10x")
.dt_compat = tb10x_compat, .dt_compat = tb10x_compat,
.init_machine = tb10x_platform_init, .init_machine = tb10x_platform_init,
.init_late = tb10x_platform_late_init,
MACHINE_END MACHINE_END
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