Merge remote-tracking branch 'agust/next' into next

From Anatolij:

"There are small cleanups and fixes for mpc512x common code,
mpc512x_defconfig updates and soft reboot support for mpc5125
based boards."
This commit is contained in:
Benjamin Herrenschmidt 2013-07-02 18:31:08 +10:00
Родитель dd8164c1dd dd0120dea6
Коммит 7a9cdd95fe
7 изменённых файлов: 47 добавлений и 38 удалений

Просмотреть файл

@ -1,7 +1,6 @@
CONFIG_EXPERIMENTAL=y
# CONFIG_SWAP is not set # CONFIG_SWAP is not set
CONFIG_SYSVIPC=y CONFIG_SYSVIPC=y
CONFIG_SPARSE_IRQ=y CONFIG_NO_HZ=y
CONFIG_LOG_BUF_SHIFT=16 CONFIG_LOG_BUF_SHIFT=16
CONFIG_BLK_DEV_INITRD=y CONFIG_BLK_DEV_INITRD=y
# CONFIG_COMPAT_BRK is not set # CONFIG_COMPAT_BRK is not set
@ -9,6 +8,7 @@ CONFIG_SLAB=y
CONFIG_MODULES=y CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y CONFIG_MODULE_UNLOAD=y
# CONFIG_BLK_DEV_BSG is not set # CONFIG_BLK_DEV_BSG is not set
CONFIG_PARTITION_ADVANCED=y
# CONFIG_IOSCHED_CFQ is not set # CONFIG_IOSCHED_CFQ is not set
# CONFIG_PPC_CHRP is not set # CONFIG_PPC_CHRP is not set
CONFIG_PPC_MPC512x=y CONFIG_PPC_MPC512x=y
@ -16,9 +16,7 @@ CONFIG_MPC5121_ADS=y
CONFIG_MPC512x_GENERIC=y CONFIG_MPC512x_GENERIC=y
CONFIG_PDM360NG=y CONFIG_PDM360NG=y
# CONFIG_PPC_PMAC is not set # CONFIG_PPC_PMAC is not set
CONFIG_NO_HZ=y
CONFIG_HZ_1000=y CONFIG_HZ_1000=y
# CONFIG_MIGRATION is not set
# CONFIG_SECCOMP is not set # CONFIG_SECCOMP is not set
# CONFIG_PCI is not set # CONFIG_PCI is not set
CONFIG_NET=y CONFIG_NET=y
@ -33,8 +31,6 @@ CONFIG_IP_PNP=y
# CONFIG_INET_DIAG is not set # CONFIG_INET_DIAG is not set
# CONFIG_IPV6 is not set # CONFIG_IPV6 is not set
CONFIG_CAN=y CONFIG_CAN=y
CONFIG_CAN_RAW=y
CONFIG_CAN_BCM=y
CONFIG_CAN_VCAN=y CONFIG_CAN_VCAN=y
CONFIG_CAN_MSCAN=y CONFIG_CAN_MSCAN=y
CONFIG_CAN_DEBUG_DEVICES=y CONFIG_CAN_DEBUG_DEVICES=y
@ -46,7 +42,6 @@ CONFIG_DEVTMPFS_MOUNT=y
# CONFIG_FIRMWARE_IN_KERNEL is not set # CONFIG_FIRMWARE_IN_KERNEL is not set
CONFIG_MTD=y CONFIG_MTD=y
CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_CMDLINE_PARTS=y
CONFIG_MTD_CHAR=y
CONFIG_MTD_BLOCK=y CONFIG_MTD_BLOCK=y
CONFIG_MTD_CFI=y CONFIG_MTD_CFI=y
CONFIG_MTD_CFI_AMDSTD=y CONFIG_MTD_CFI_AMDSTD=y
@ -60,7 +55,6 @@ CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=1 CONFIG_BLK_DEV_RAM_COUNT=1
CONFIG_BLK_DEV_RAM_SIZE=8192 CONFIG_BLK_DEV_RAM_SIZE=8192
CONFIG_BLK_DEV_XIP=y CONFIG_BLK_DEV_XIP=y
CONFIG_MISC_DEVICES=y
CONFIG_EEPROM_AT24=y CONFIG_EEPROM_AT24=y
CONFIG_EEPROM_AT25=y CONFIG_EEPROM_AT25=y
CONFIG_SCSI=y CONFIG_SCSI=y
@ -68,6 +62,7 @@ CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_SG=y CONFIG_CHR_DEV_SG=y
CONFIG_NETDEVICES=y CONFIG_NETDEVICES=y
CONFIG_FS_ENET=y
CONFIG_MARVELL_PHY=y CONFIG_MARVELL_PHY=y
CONFIG_DAVICOM_PHY=y CONFIG_DAVICOM_PHY=y
CONFIG_QSEMI_PHY=y CONFIG_QSEMI_PHY=y
@ -83,10 +78,6 @@ CONFIG_STE10XP=y
CONFIG_LSI_ET1011C_PHY=y CONFIG_LSI_ET1011C_PHY=y
CONFIG_FIXED_PHY=y CONFIG_FIXED_PHY=y
CONFIG_MDIO_BITBANG=y CONFIG_MDIO_BITBANG=y
CONFIG_NET_ETHERNET=y
CONFIG_FS_ENET=y
# CONFIG_NETDEV_1000 is not set
# CONFIG_NETDEV_10000 is not set
# CONFIG_WLAN is not set # CONFIG_WLAN is not set
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set # CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_EVDEV=y CONFIG_INPUT_EVDEV=y
@ -106,14 +97,18 @@ CONFIG_GPIO_SYSFS=y
CONFIG_GPIO_MPC8XXX=y CONFIG_GPIO_MPC8XXX=y
# CONFIG_HWMON is not set # CONFIG_HWMON is not set
CONFIG_MEDIA_SUPPORT=y CONFIG_MEDIA_SUPPORT=y
CONFIG_VIDEO_DEV=y
CONFIG_VIDEO_ADV_DEBUG=y CONFIG_VIDEO_ADV_DEBUG=y
# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set
CONFIG_VIDEO_SAA711X=y
CONFIG_FB=y CONFIG_FB=y
CONFIG_FB_FSL_DIU=y CONFIG_FB_FSL_DIU=y
# CONFIG_VGA_CONSOLE is not set # CONFIG_VGA_CONSOLE is not set
CONFIG_FRAMEBUFFER_CONSOLE=y CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_USB=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_FSL=y
# CONFIG_USB_EHCI_HCD_PPC_OF is not set
CONFIG_USB_STORAGE=y
CONFIG_USB_GADGET=y
CONFIG_USB_FSL_USB2=y
CONFIG_RTC_CLASS=y CONFIG_RTC_CLASS=y
CONFIG_RTC_DRV_M41T80=y CONFIG_RTC_DRV_M41T80=y
CONFIG_RTC_DRV_MPC5121=y CONFIG_RTC_DRV_MPC5121=y
@ -129,9 +124,7 @@ CONFIG_TMPFS=y
CONFIG_JFFS2_FS=y CONFIG_JFFS2_FS=y
CONFIG_UBIFS_FS=y CONFIG_UBIFS_FS=y
CONFIG_NFS_FS=y CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
CONFIG_ROOT_NFS=y CONFIG_ROOT_NFS=y
CONFIG_PARTITION_ADVANCED=y
CONFIG_NLS_CODEPAGE_437=y CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_ISO8859_1=y CONFIG_NLS_ISO8859_1=y
# CONFIG_ENABLE_WARN_DEPRECATED is not set # CONFIG_ENABLE_WARN_DEPRECATED is not set

Просмотреть файл

@ -68,6 +68,5 @@ struct mpc512x_lpc {
}; };
int mpc512x_cs_config(unsigned int cs, u32 val); int mpc512x_cs_config(unsigned int cs, u32 val);
int __init mpc5121_clk_init(void);
#endif /* __ASM_POWERPC_MPC5121_H__ */ #endif /* __ASM_POWERPC_MPC5121_H__ */

Просмотреть файл

@ -43,9 +43,7 @@ static void __init mpc5121_ads_setup_arch(void)
mpc83xx_add_bridge(np); mpc83xx_add_bridge(np);
#endif #endif
#if defined(CONFIG_FB_FSL_DIU) || defined(CONFIG_FB_FSL_DIU_MODULE) mpc512x_setup_arch();
mpc512x_setup_diu();
#endif
} }
static void __init mpc5121_ads_init_IRQ(void) static void __init mpc5121_ads_init_IRQ(void)
@ -69,7 +67,7 @@ define_machine(mpc5121_ads) {
.probe = mpc5121_ads_probe, .probe = mpc5121_ads_probe,
.setup_arch = mpc5121_ads_setup_arch, .setup_arch = mpc5121_ads_setup_arch,
.init = mpc512x_init, .init = mpc512x_init,
.init_early = mpc512x_init_diu, .init_early = mpc512x_init_early,
.init_IRQ = mpc5121_ads_init_IRQ, .init_IRQ = mpc5121_ads_init_IRQ,
.get_irq = ipic_get_irq, .get_irq = ipic_get_irq,
.calibrate_decr = generic_calibrate_decr, .calibrate_decr = generic_calibrate_decr,

Просмотреть файл

@ -12,18 +12,12 @@
#ifndef __MPC512X_H__ #ifndef __MPC512X_H__
#define __MPC512X_H__ #define __MPC512X_H__
extern void __init mpc512x_init_IRQ(void); extern void __init mpc512x_init_IRQ(void);
extern void __init mpc512x_init_early(void);
extern void __init mpc512x_init(void); extern void __init mpc512x_init(void);
extern void __init mpc512x_setup_arch(void);
extern int __init mpc5121_clk_init(void); extern int __init mpc5121_clk_init(void);
void __init mpc512x_declare_of_platform_devices(void);
extern const char *mpc512x_select_psc_compat(void); extern const char *mpc512x_select_psc_compat(void);
extern const char *mpc512x_select_reset_compat(void);
extern void mpc512x_restart(char *cmd); extern void mpc512x_restart(char *cmd);
#if defined(CONFIG_FB_FSL_DIU) || defined(CONFIG_FB_FSL_DIU_MODULE)
void mpc512x_init_diu(void);
void mpc512x_setup_diu(void);
#else
#define mpc512x_init_diu NULL
#define mpc512x_setup_diu NULL
#endif
#endif /* __MPC512X_H__ */ #endif /* __MPC512X_H__ */

Просмотреть файл

@ -45,8 +45,8 @@ define_machine(mpc512x_generic) {
.name = "MPC512x generic", .name = "MPC512x generic",
.probe = mpc512x_generic_probe, .probe = mpc512x_generic_probe,
.init = mpc512x_init, .init = mpc512x_init,
.init_early = mpc512x_init_diu, .init_early = mpc512x_init_early,
.setup_arch = mpc512x_setup_diu, .setup_arch = mpc512x_setup_arch,
.init_IRQ = mpc512x_init_IRQ, .init_IRQ = mpc512x_init_IRQ,
.get_irq = ipic_get_irq, .get_irq = ipic_get_irq,
.calibrate_decr = generic_calibrate_decr, .calibrate_decr = generic_calibrate_decr,

Просмотреть файл

@ -35,8 +35,10 @@ static struct mpc512x_reset_module __iomem *reset_module_base;
static void __init mpc512x_restart_init(void) static void __init mpc512x_restart_init(void)
{ {
struct device_node *np; struct device_node *np;
const char *reset_compat;
np = of_find_compatible_node(NULL, NULL, "fsl,mpc5121-reset"); reset_compat = mpc512x_select_reset_compat();
np = of_find_compatible_node(NULL, NULL, reset_compat);
if (!np) if (!np)
return; return;
@ -58,7 +60,7 @@ void mpc512x_restart(char *cmd)
; ;
} }
#if defined(CONFIG_FB_FSL_DIU) || defined(CONFIG_FB_FSL_DIU_MODULE) #if IS_ENABLED(CONFIG_FB_FSL_DIU)
struct fsl_diu_shared_fb { struct fsl_diu_shared_fb {
u8 gamma[0x300]; /* 32-bit aligned! */ u8 gamma[0x300]; /* 32-bit aligned! */
@ -355,6 +357,17 @@ const char *mpc512x_select_psc_compat(void)
return NULL; return NULL;
} }
const char *mpc512x_select_reset_compat(void)
{
if (of_machine_is_compatible("fsl,mpc5121"))
return "fsl,mpc5121-reset";
if (of_machine_is_compatible("fsl,mpc5125"))
return "fsl,mpc5125-reset";
return NULL;
}
static unsigned int __init get_fifo_size(struct device_node *np, static unsigned int __init get_fifo_size(struct device_node *np,
char *prop_name) char *prop_name)
{ {
@ -436,14 +449,26 @@ void __init mpc512x_psc_fifo_init(void)
} }
} }
void __init mpc512x_init_early(void)
{
mpc512x_restart_init();
if (IS_ENABLED(CONFIG_FB_FSL_DIU))
mpc512x_init_diu();
}
void __init mpc512x_init(void) void __init mpc512x_init(void)
{ {
mpc5121_clk_init(); mpc5121_clk_init();
mpc512x_declare_of_platform_devices(); mpc512x_declare_of_platform_devices();
mpc512x_restart_init();
mpc512x_psc_fifo_init(); mpc512x_psc_fifo_init();
} }
void __init mpc512x_setup_arch(void)
{
if (IS_ENABLED(CONFIG_FB_FSL_DIU))
mpc512x_setup_diu();
}
/** /**
* mpc512x_cs_config - Setup chip select configuration * mpc512x_cs_config - Setup chip select configuration
* @cs: chip select number * @cs: chip select number

Просмотреть файл

@ -119,9 +119,9 @@ static int __init pdm360ng_probe(void)
define_machine(pdm360ng) { define_machine(pdm360ng) {
.name = "PDM360NG", .name = "PDM360NG",
.probe = pdm360ng_probe, .probe = pdm360ng_probe,
.setup_arch = mpc512x_setup_diu, .setup_arch = mpc512x_setup_arch,
.init = pdm360ng_init, .init = pdm360ng_init,
.init_early = mpc512x_init_diu, .init_early = mpc512x_init_early,
.init_IRQ = mpc512x_init_IRQ, .init_IRQ = mpc512x_init_IRQ,
.get_irq = ipic_get_irq, .get_irq = ipic_get_irq,
.calibrate_decr = generic_calibrate_decr, .calibrate_decr = generic_calibrate_decr,