mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-30 00:06:46 +07:00
813a95e5b4
With this, five platforms are moving to the relatively new pinctrl subsystem for their pin management, replacing the older soc specific in-kernel interfaces with common code. There is quite a bit of net addition of code for each platform being added to the pinctrl subsystem. but the payback comes later when adding new boards can be done by only providing new device trees instead. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iQIcBAABAgAGBQJPuw1/AAoJEIwa5zzehBx3wbsP/RFCYzMVyz85BNLQuRyY9eO2 GCRWd0Vvy3fIfypiPdHdhkq6nIU/JnxgsfBbKX9FvWqvxXi96Ojh13KSIhSI1rQ9 t14VyuwUXaS3leeCyKxhNF1vRscz2iyEGXJqp+XEN4ckf2nrQCpKBiY5Eg9sH6/J fvYgSBY9Lf9nFAn+/wqSKIfdvw7H0NXwUdsLvNU0uCwvrSG929bTxx2AnHX00TdJ qf4XLhmatMg1uwdUgL/99ZxxgHlj6o55u7S6aRhUWXNXCimV6uEZ1F35ET37b+x3 YUltBCIaXjFR7iwNHmkkl42d8uyfkBznB555sY5qS3G/uF5Ma1R5I7fv8EIEy+2w bVHsva4lj1yFazic6m8yKTET4i8n6OPiKVNqGnDsp2yb6WzOGSliKdr0Jlo1oNG2 gS69LcDZxCkXrqEq0Ht8uUoCo9TWei+qhJ6ZOJ1Z3+9ZyFq1iRTKgPVxyA5VaHaB wwBbqKrohAwuExY8/gkAj6SYqBOF3l/J8QSB2JjXyj4trLC5UMq+l3L4cIWyMRPc fil83hV6460CiIBoKcsnV9hDUS0oh74mv52zHo0Xj73qABqZ4dcrpHVayWjtMtpl Z+tUpvD1rMQ+E0gdXDrwMrwILVyCDsBvpFKF4avnujDJ4WmyywtKZ+xvnpMd73VZ YrI/+XQsMT8ZfVkkj54D =HIfz -----END PGP SIGNATURE----- Merge tag 'pinctrl' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull arm soc-specific pinctrl changes from Olof Johansson: "With this, five platforms are moving to the relatively new pinctrl subsystem for their pin management, replacing the older soc specific in-kernel interfaces with common code. There is quite a bit of net addition of code for each platform being added to the pinctrl subsystem. But the payback comes later when adding new boards can be done by only providing new device trees instead." Fix up trivial conflicts in arch/arm/mach-ux500/{Makefile,board-mop500.c} * tag 'pinctrl' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (61 commits) mtd: nand: gpmi: fix compile error caused by pinctrl call ARM: PRIMA2: select PINCTRL and PINCTRL_SIRF in Kconfig ARM: nomadik: enable PINCTRL_NOMADIK where needed ARM: mxs: enable pinctrl support video: mxsfb: adopt pinctrl support ASoC: mxs-saif: adopt pinctrl support i2c: mxs: adopt pinctrl support mtd: nand: gpmi: adopt pinctrl support mmc: mxs-mmc: adopt pinctrl support serial: mxs-auart: adopt pinctrl support serial: amba-pl011: adopt pinctrl support spi/imx: adopt pinctrl support i2c: imx: adopt pinctrl support can: flexcan: adopt pinctrl support net: fec: adopt pinctrl support ARM: ux500: switch MSP to using pinctrl for pins ARM: ux500: alter MSP registration to return a device pointer ARM: ux500: switch to using pinctrl for uart0 ARM: ux500: delete custom pin control system ARM: ux500: switch over to Nomadik pinctrl driver ...
118 lines
4.1 KiB
C
118 lines
4.1 KiB
C
/*
|
|
* Copyright (C) ST-Ericsson SA 2010
|
|
*
|
|
* Author: Rabin Vincent <rabin.vincent@stericsson.com> for ST-Ericsson
|
|
* License terms: GNU General Public License (GPL), version 2.
|
|
*/
|
|
|
|
#ifndef __DEVICES_DB8500_H
|
|
#define __DEVICES_DB8500_H
|
|
|
|
#include "devices-common.h"
|
|
|
|
struct ske_keypad_platform_data;
|
|
struct pl022_ssp_controller;
|
|
|
|
static inline struct platform_device *
|
|
db8500_add_ske_keypad(struct device *parent,
|
|
struct ske_keypad_platform_data *pdata,
|
|
size_t size)
|
|
{
|
|
struct resource resources[] = {
|
|
DEFINE_RES_MEM(U8500_SKE_BASE, SZ_4K),
|
|
DEFINE_RES_IRQ(IRQ_DB8500_KB),
|
|
};
|
|
|
|
return platform_device_register_resndata(parent, "nmk-ske-keypad", -1,
|
|
resources, 2, pdata, size);
|
|
}
|
|
|
|
static inline struct amba_device *
|
|
db8500_add_ssp(struct device *parent, const char *name, resource_size_t base,
|
|
int irq, struct pl022_ssp_controller *pdata)
|
|
{
|
|
return amba_ahb_device_add(parent, name, base, SZ_4K, irq, 0, pdata, 0);
|
|
}
|
|
|
|
#define db8500_add_i2c0(parent, pdata) \
|
|
dbx500_add_i2c(parent, 0, U8500_I2C0_BASE, IRQ_DB8500_I2C0, pdata)
|
|
#define db8500_add_i2c1(parent, pdata) \
|
|
dbx500_add_i2c(parent, 1, U8500_I2C1_BASE, IRQ_DB8500_I2C1, pdata)
|
|
#define db8500_add_i2c2(parent, pdata) \
|
|
dbx500_add_i2c(parent, 2, U8500_I2C2_BASE, IRQ_DB8500_I2C2, pdata)
|
|
#define db8500_add_i2c3(parent, pdata) \
|
|
dbx500_add_i2c(parent, 3, U8500_I2C3_BASE, IRQ_DB8500_I2C3, pdata)
|
|
#define db8500_add_i2c4(parent, pdata) \
|
|
dbx500_add_i2c(parent, 4, U8500_I2C4_BASE, IRQ_DB8500_I2C4, pdata)
|
|
|
|
#define db8500_add_msp0_spi(parent, pdata) \
|
|
dbx500_add_msp_spi(parent, "msp0", U8500_MSP0_BASE, \
|
|
IRQ_DB8500_MSP0, pdata)
|
|
#define db8500_add_msp1_spi(parent, pdata) \
|
|
dbx500_add_msp_spi(parent, "msp1", U8500_MSP1_BASE, \
|
|
IRQ_DB8500_MSP1, pdata)
|
|
#define db8500_add_msp2_spi(parent, pdata) \
|
|
dbx500_add_msp_spi(parent, "msp2", U8500_MSP2_BASE, \
|
|
IRQ_DB8500_MSP2, pdata)
|
|
#define db8500_add_msp3_spi(parent, pdata) \
|
|
dbx500_add_msp_spi(parent, "msp3", U8500_MSP3_BASE, \
|
|
IRQ_DB8500_MSP1, pdata)
|
|
|
|
#define db8500_add_rtc(parent) \
|
|
dbx500_add_rtc(parent, U8500_RTC_BASE, IRQ_DB8500_RTC);
|
|
|
|
#define db8500_add_usb(parent, rx_cfg, tx_cfg) \
|
|
ux500_add_usb(parent, U8500_USBOTG_BASE, \
|
|
IRQ_DB8500_USBOTG, rx_cfg, tx_cfg)
|
|
|
|
#define db8500_add_sdi0(parent, pdata, pid) \
|
|
dbx500_add_sdi(parent, "sdi0", U8500_SDI0_BASE, \
|
|
IRQ_DB8500_SDMMC0, pdata, pid)
|
|
#define db8500_add_sdi1(parent, pdata, pid) \
|
|
dbx500_add_sdi(parent, "sdi1", U8500_SDI1_BASE, \
|
|
IRQ_DB8500_SDMMC1, pdata, pid)
|
|
#define db8500_add_sdi2(parent, pdata, pid) \
|
|
dbx500_add_sdi(parent, "sdi2", U8500_SDI2_BASE, \
|
|
IRQ_DB8500_SDMMC2, pdata, pid)
|
|
#define db8500_add_sdi3(parent, pdata, pid) \
|
|
dbx500_add_sdi(parent, "sdi3", U8500_SDI3_BASE, \
|
|
IRQ_DB8500_SDMMC3, pdata, pid)
|
|
#define db8500_add_sdi4(parent, pdata, pid) \
|
|
dbx500_add_sdi(parent, "sdi4", U8500_SDI4_BASE, \
|
|
IRQ_DB8500_SDMMC4, pdata, pid)
|
|
#define db8500_add_sdi5(parent, pdata, pid) \
|
|
dbx500_add_sdi(parent, "sdi5", U8500_SDI5_BASE, \
|
|
IRQ_DB8500_SDMMC5, pdata, pid)
|
|
|
|
#define db8500_add_ssp0(parent, pdata) \
|
|
db8500_add_ssp(parent, "ssp0", U8500_SSP0_BASE, \
|
|
IRQ_DB8500_SSP0, pdata)
|
|
#define db8500_add_ssp1(parent, pdata) \
|
|
db8500_add_ssp(parent, "ssp1", U8500_SSP1_BASE, \
|
|
IRQ_DB8500_SSP1, pdata)
|
|
|
|
#define db8500_add_spi0(parent, pdata) \
|
|
dbx500_add_spi(parent, "spi0", U8500_SPI0_BASE, \
|
|
IRQ_DB8500_SPI0, pdata, 0)
|
|
#define db8500_add_spi1(parent, pdata) \
|
|
dbx500_add_spi(parent, "spi1", U8500_SPI1_BASE, \
|
|
IRQ_DB8500_SPI1, pdata, 0)
|
|
#define db8500_add_spi2(parent, pdata) \
|
|
dbx500_add_spi(parent, "spi2", U8500_SPI2_BASE, \
|
|
IRQ_DB8500_SPI2, pdata, 0)
|
|
#define db8500_add_spi3(parent, pdata) \
|
|
dbx500_add_spi(parent, "spi3", U8500_SPI3_BASE, \
|
|
IRQ_DB8500_SPI3, pdata, 0)
|
|
|
|
#define db8500_add_uart0(parent, pdata) \
|
|
dbx500_add_uart(parent, "uart0", U8500_UART0_BASE, \
|
|
IRQ_DB8500_UART0, pdata)
|
|
#define db8500_add_uart1(parent, pdata) \
|
|
dbx500_add_uart(parent, "uart1", U8500_UART1_BASE, \
|
|
IRQ_DB8500_UART1, pdata)
|
|
#define db8500_add_uart2(parent, pdata) \
|
|
dbx500_add_uart(parent, "uart2", U8500_UART2_BASE, \
|
|
IRQ_DB8500_UART2, pdata)
|
|
|
|
#endif
|