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

Commit 8b87963b authored by Olof Johansson's avatar Olof Johansson
Browse files

Merge tag 'davinci-fixes-for-v4.9' of...

Merge tag 'davinci-fixes-for-v4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into next/fixes-non-critical

This patch enables usage of multiple eCAP and eHRPWM devices
using PWM sysfs entries.

Without this patch, creation of multiple entries fails due
to name clash.

This is not a v4.9 regression but it will be nice to fix it
soon.

* tag 'davinci-fixes-for-v4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci

:
  ARM: davinci: da850: Fix pwm name matching

Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents 9cfc93b2 36173c2d
Loading
Loading
Loading
Loading
+45 −3
Original line number Diff line number Diff line
@@ -424,6 +424,16 @@ static struct clk ehrpwm_clk = {
	.gpsc		= 1,
};

static struct clk ehrpwm0_clk = {
	.name		= "ehrpwm0",
	.parent		= &ehrpwm_clk,
};

static struct clk ehrpwm1_clk = {
	.name		= "ehrpwm1",
	.parent		= &ehrpwm_clk,
};

#define DA8XX_EHRPWM_TBCLKSYNC	BIT(12)

static void ehrpwm_tblck_enable(struct clk *clk)
@@ -451,6 +461,16 @@ static struct clk ehrpwm_tbclk = {
	.clk_disable	= ehrpwm_tblck_disable,
};

static struct clk ehrpwm0_tbclk = {
	.name		= "ehrpwm0_tbclk",
	.parent		= &ehrpwm_tbclk,
};

static struct clk ehrpwm1_tbclk = {
	.name		= "ehrpwm1_tbclk",
	.parent		= &ehrpwm_tbclk,
};

static struct clk ecap_clk = {
	.name		= "ecap",
	.parent		= &async3_clk,
@@ -458,6 +478,21 @@ static struct clk ecap_clk = {
	.gpsc		= 1,
};

static struct clk ecap0_clk = {
	.name		= "ecap0_clk",
	.parent		= &ecap_clk,
};

static struct clk ecap1_clk = {
	.name		= "ecap1_clk",
	.parent		= &ecap_clk,
};

static struct clk ecap2_clk = {
	.name		= "ecap2_clk",
	.parent		= &ecap_clk,
};

static struct clk_lookup da850_clks[] = {
	CLK(NULL,		"ref",		&ref_clk),
	CLK(NULL,		"pll0",		&pll0_clk),
@@ -510,9 +545,16 @@ static struct clk_lookup da850_clks[] = {
	CLK("vpif",		NULL,		&vpif_clk),
	CLK("ahci_da850",		NULL,		&sata_clk),
	CLK("davinci-rproc.0",	NULL,		&dsp_clk),
	CLK("ehrpwm",		"fck",		&ehrpwm_clk),
	CLK("ehrpwm",		"tbclk",	&ehrpwm_tbclk),
	CLK("ecap",		"fck",		&ecap_clk),
	CLK(NULL,		NULL,		&ehrpwm_clk),
	CLK("ehrpwm.0",		"fck",		&ehrpwm0_clk),
	CLK("ehrpwm.1",		"fck",		&ehrpwm1_clk),
	CLK(NULL,		NULL,		&ehrpwm_tbclk),
	CLK("ehrpwm.0",		"tbclk",	&ehrpwm0_tbclk),
	CLK("ehrpwm.1",		"tbclk",	&ehrpwm1_tbclk),
	CLK(NULL,		NULL,		&ecap_clk),
	CLK("ecap.0",		"fck",		&ecap0_clk),
	CLK("ecap.1",		"fck",		&ecap1_clk),
	CLK("ecap.2",		"fck",		&ecap2_clk),
	CLK(NULL,		NULL,		NULL),
};

+5 −5
Original line number Diff line number Diff line
@@ -23,11 +23,11 @@ static struct of_dev_auxdata da850_auxdata_lookup[] __initdata = {
	OF_DEV_AUXDATA("ti,davinci-i2c", 0x01e28000, "i2c_davinci.2", NULL),
	OF_DEV_AUXDATA("ti,davinci-wdt", 0x01c21000, "davinci-wdt", NULL),
	OF_DEV_AUXDATA("ti,da830-mmc", 0x01c40000, "da830-mmc.0", NULL),
	OF_DEV_AUXDATA("ti,da850-ehrpwm", 0x01f00000, "ehrpwm", NULL),
	OF_DEV_AUXDATA("ti,da850-ehrpwm", 0x01f02000, "ehrpwm", NULL),
	OF_DEV_AUXDATA("ti,da850-ecap", 0x01f06000, "ecap", NULL),
	OF_DEV_AUXDATA("ti,da850-ecap", 0x01f07000, "ecap", NULL),
	OF_DEV_AUXDATA("ti,da850-ecap", 0x01f08000, "ecap", NULL),
	OF_DEV_AUXDATA("ti,da850-ehrpwm", 0x01f00000, "ehrpwm.0", NULL),
	OF_DEV_AUXDATA("ti,da850-ehrpwm", 0x01f02000, "ehrpwm.1", NULL),
	OF_DEV_AUXDATA("ti,da850-ecap", 0x01f06000, "ecap.0", NULL),
	OF_DEV_AUXDATA("ti,da850-ecap", 0x01f07000, "ecap.1", NULL),
	OF_DEV_AUXDATA("ti,da850-ecap", 0x01f08000, "ecap.2", NULL),
	OF_DEV_AUXDATA("ti,da830-spi", 0x01c41000, "spi_davinci.0", NULL),
	OF_DEV_AUXDATA("ti,da830-spi", 0x01f0e000, "spi_davinci.1", NULL),
	OF_DEV_AUXDATA("ns16550a", 0x01c42000, "serial8250.0", NULL),