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.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJaOK1wAAoJEGFBu2jqvgRNd0oP/ip3Pg8GY2Xq9N18KvVHxOJY
 Mfw/h5W6+ZZTdao5R+MEcjoV51/GI5dxCp+ASCC+5cdKCKK3ePJCbbqKpEx87nzs
 fyC+V7jPAXYrcbrY6ilad1MBi4I4DVcBdgWn8uT5L/G65p+A78w1j2CivxrabE/s
 7WEVFW7rEaU3XITsDNJ+ZT/UDHw60GgizpjngCv2UohhzdWPWKLLMeGvw9ZFe0a5
 BdzS6btt9l+wJZCD1kAHXlMOJkMaxYB8gf/l+fbk6E+Kroqbh/T0gcOC70xm8Y1k
 HTqsBRJNMkCMlzHqWXWq14Qrtiw6kIDzG55I6M3jRim1Gg9zhel1Eze1zKKw2gyi
 rr0Ga53nhxmPQsGRcr6Wo8m69tvbEE0OjhPuhWOmw/L1sdhYNdU9DYiAChtFqZAr
 nupTfZGr4oik0Zyw/T5/Ut43TL0bNsDQDtjxz9ohbuRFoV1gWIjaGBuaewBCtYFm
 2yG7d2JP0bR6/o2cgOVo1xlc1I0M8R6jsptGppCwUXMLxD2hP/4otZu2Iuw25VbM
 ht5Cbrb4mAIUZah0nd3DmJQNyknjSKRBcd+4sH1ORJFAHYpa00RYksHlZ/IFF2+q
 iJPtog5fUnuAGnUGj7aFoH97e9qUJsCemaTpMU3OTPJ21CmYEOWCt+HYke3L5i5z
 DvBswbjOLalxM2kfFyVZ
 =GZm0
 -----END PGP SIGNATURE-----

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
This commit is contained in:
Arnd Bergmann 2017-12-21 17:02:14 +01:00
commit f17b9e764d
2 changed files with 20 additions and 13 deletions

View file

@ -178,7 +178,7 @@ amp: regulator3 {
*/
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 @@ &gpio {
batt_volt_en {
gpio-hog;
gpios = <6 GPIO_ACTIVE_HIGH>;
output-low;
output-high;
};
};

View file

@ -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 = {
.name = "edma",
.id = 0,
.dev.platform_data = &dm365_edma_pdata,
.num_resources = ARRAY_SIZE(edma_resources),
.resource = edma_resources,
static const struct platform_device_info dm365_edma_device __initconst = {
.name = "edma",
.id = 0,
.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);