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

Commit f17b9e76 authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

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

Merge tag 'davinci-fixes-for-v4.15' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into fixes

Pull "TI DaVinci fixes for v4.15" from Sekhar Nori:

DaVinci fixes for v4.15 consiting of fixes to make EDMA and MMC/SD
work on DM365 and a fix for battery voltage monitoring on Lego EV3.

* tag 'davinci-fixes-for-v4.15' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci:
  ARM: davinci: fix mmc entries in dm365's dma_slave_map
  ARM: dts: da850-lego-ev3: Fix battery voltage gpio
  ARM: davinci: Add dma_mask to dm365's eDMA device
  ARM: davinci: Use platform_device_register_full() to create pdev for dm365's eDMA
parents 4c1b7b61 451df7d1
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -178,7 +178,7 @@
	 */
	battery {
		pinctrl-names = "default";
		pintctrl-0 = <&battery_pins>;
		pinctrl-0 = <&battery_pins>;
		compatible = "lego,ev3-battery";
		io-channels = <&adc 4>, <&adc 3>;
		io-channel-names = "voltage", "current";
@@ -392,7 +392,7 @@
	batt_volt_en {
		gpio-hog;
		gpios = <6 GPIO_ACTIVE_HIGH>;
		output-low;
		output-high;
	};
};

+18 −11
Original line number Diff line number Diff line
@@ -868,10 +868,10 @@ static const struct dma_slave_map dm365_edma_map[] = {
	{ "spi_davinci.0", "rx", EDMA_FILTER_PARAM(0, 17) },
	{ "spi_davinci.3", "tx", EDMA_FILTER_PARAM(0, 18) },
	{ "spi_davinci.3", "rx", EDMA_FILTER_PARAM(0, 19) },
	{ "dm6441-mmc.0", "rx", EDMA_FILTER_PARAM(0, 26) },
	{ "dm6441-mmc.0", "tx", EDMA_FILTER_PARAM(0, 27) },
	{ "dm6441-mmc.1", "rx", EDMA_FILTER_PARAM(0, 30) },
	{ "dm6441-mmc.1", "tx", EDMA_FILTER_PARAM(0, 31) },
	{ "da830-mmc.0", "rx", EDMA_FILTER_PARAM(0, 26) },
	{ "da830-mmc.0", "tx", EDMA_FILTER_PARAM(0, 27) },
	{ "da830-mmc.1", "rx", EDMA_FILTER_PARAM(0, 30) },
	{ "da830-mmc.1", "tx", EDMA_FILTER_PARAM(0, 31) },
};

static struct edma_soc_info dm365_edma_pdata = {
@@ -925,12 +925,14 @@ static struct resource edma_resources[] = {
	/* not using TC*_ERR */
};

static struct platform_device dm365_edma_device = {
static const struct platform_device_info dm365_edma_device __initconst = {
	.name		= "edma",
	.id		= 0,
	.dev.platform_data	= &dm365_edma_pdata,
	.num_resources		= ARRAY_SIZE(edma_resources),
	.resource		= edma_resources,
	.dma_mask	= DMA_BIT_MASK(32),
	.res		= edma_resources,
	.num_res	= ARRAY_SIZE(edma_resources),
	.data		= &dm365_edma_pdata,
	.size_data	= sizeof(dm365_edma_pdata),
};

static struct resource dm365_asp_resources[] = {
@@ -1428,13 +1430,18 @@ int __init dm365_init_video(struct vpfe_config *vpfe_cfg,

static int __init dm365_init_devices(void)
{
	struct platform_device *edma_pdev;
	int ret = 0;

	if (!cpu_is_davinci_dm365())
		return 0;

	davinci_cfg_reg(DM365_INT_EDMA_CC);
	platform_device_register(&dm365_edma_device);
	edma_pdev = platform_device_register_full(&dm365_edma_device);
	if (IS_ERR(edma_pdev)) {
		pr_warn("%s: Failed to register eDMA\n", __func__);
		return PTR_ERR(edma_pdev);
	}

	platform_device_register(&dm365_mdio_device);
	platform_device_register(&dm365_emac_device);