Updating SPEAr Support
Subsystems (4)
PATCH v5 55/63 SPEAr3xx: Replace defconfigs with single unified defconfig
In reply to Viresh KumarFrom: Ryan Mallon <[email protected]>
We only need one defconfig for SPEAr3xx now since we can build all three boards into one kernel.
---
arch/arm/configs/spear310_defconfig | 52 --------------------
arch/arm/configs/spear320_defconfig | 52 --------------------
.../{spear300_defconfig => spear3xx_defconfig} | 4 +-
3 files changed, 3 insertions(+), 105 deletions(-)
delete mode 100644 arch/arm/configs/spear310_defconfig
delete mode 100644 arch/arm/configs/spear320_defconfig
rename arch/arm/configs/{spear300_defconfig => spear3xx_defconfig} (93%)arch/arm/configs/spear310_defconfig deleted +0 -52
@@ -1,52 +0,0 @@ -CONFIG_EXPERIMENTAL=y -CONFIG_SYSVIPC=y -CONFIG_BSD_PROCESS_ACCT=y -CONFIG_BLK_DEV_INITRD=y -CONFIG_KALLSYMS_EXTRA_PASS=y -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -CONFIG_MODVERSIONS=y -CONFIG_PLAT_SPEAR=y -CONFIG_MACH_SPEAR310=y -CONFIG_BINFMT_MISC=y -CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" -CONFIG_BLK_DEV_RAM=y -CONFIG_BLK_DEV_RAM_SIZE=16384 -CONFIG_INPUT_FF_MEMLESS=y -# CONFIG_INPUT_MOUSEDEV_PSAUX is not set -# CONFIG_INPUT_KEYBOARD is not set -# CONFIG_INPUT_MOUSE is not set -CONFIG_SERIAL_AMBA_PL011=y -CONFIG_SERIAL_AMBA_PL011_CONSOLE=y -# CONFIG_LEGACY_PTYS is not set -# CONFIG_HW_RANDOM is not set -CONFIG_RAW_DRIVER=y -CONFIG_MAX_RAW_DEVS=8192 -CONFIG_GPIO_SYSFS=y -CONFIG_GPIO_PL061=y -# CONFIG_HWMON is not set -# CONFIG_VGA_CONSOLE is not set -# CONFIG_HID_SUPPORT is not set -# CONFIG_USB_SUPPORT is not set -CONFIG_EXT2_FS=y -CONFIG_EXT2_FS_XATTR=y -CONFIG_EXT2_FS_SECURITY=y -CONFIG_EXT3_FS=y -CONFIG_EXT3_FS_SECURITY=y -CONFIG_AUTOFS4_FS=m -CONFIG_MSDOS_FS=m -CONFIG_VFAT_FS=m -CONFIG_FAT_DEFAULT_IOCHARSET="ascii" -CONFIG_TMPFS=y -CONFIG_PARTITION_ADVANCED=y -CONFIG_NLS=y -CONFIG_NLS_DEFAULT="utf8" -CONFIG_NLS_CODEPAGE_437=y -CONFIG_NLS_ASCII=m -CONFIG_MAGIC_SYSRQ=y -CONFIG_DEBUG_FS=y -CONFIG_DEBUG_KERNEL=y -CONFIG_DEBUG_SPINLOCK=y -CONFIG_DEBUG_SPINLOCK_SLEEP=y -CONFIG_DEBUG_INFO=y -# CONFIG_CRC32 is not set
arch/arm/configs/spear320_defconfig deleted +0 -52
52 lines not on this page · raw message
arch/arm/configs/spear3xx_defconfig renamed from arch/arm/configs/spear300_defconfig +3 -1
@@ -7,6 +7,9 @@ CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y CONFIG_MODVERSIONS=y CONFIG_PLAT_SPEAR=y +CONFIG_BOARD_SPEAR300_EVB=y +CONFIG_BOARD_SPEAR310_EVB=y +CONFIG_BOARD_SPEAR320_EVB=y CONFIG_BINFMT_MISC=y CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" CONFIG_BLK_DEV_RAM=y
@@ -24,7 +27,6 @@ CONFIG_MAX_RAW_DEVS=8192 CONFIG_GPIO_SYSFS=y CONFIG_GPIO_PL061=y # CONFIG_HWMON is not set -# CONFIG_VGA_CONSOLE is not set # CONFIG_HID_SUPPORT is not set # CONFIG_USB_SUPPORT is not set CONFIG_EXT2_FS=y
Signature · 1 line
1.7.3.4
PATCH v5 56/63 ST SPEAr: Appending spear3** with global structures
In reply to Viresh Kumar--- arch/arm/mach-spear3xx/include/mach/generic.h | 138 ++++++++++++------------ arch/arm/mach-spear3xx/spear300.c | 42 ++++---- arch/arm/mach-spear3xx/spear300_evb.c | 39 ++++---- arch/arm/mach-spear3xx/spear310.c | 16 ++-- arch/arm/mach-spear3xx/spear310_evb.c | 33 +++--- arch/arm/mach-spear3xx/spear320.c | 36 +++--- arch/arm/mach-spear3xx/spear320_evb.c | 46 +++++---- arch/arm/mach-spear3xx/spear3xx.c | 18 ++-- 8 files changed, 186 insertions(+), 182 deletions(-)
arch/arm/mach-spear3xx/include/mach/generic.h +69 -69
@@ -31,15 +31,15 @@#define SPEAR_GPT0_CHAN1_IRQ SPEAR3XX_IRQ_CPU_GPT1_2/* Add spear3xx family device structure declarations here */ -extern struct amba_device gpio_device; -extern struct amba_device ssp0_device; -extern struct amba_device uart_device; -extern struct amba_device wdt_device; -extern struct platform_device ehci_device; -extern struct platform_device i2c_device; -extern struct platform_device ohci0_device; -extern struct platform_device ohci1_device; -extern struct platform_device rtc_device; +extern struct amba_device spear3xx_gpio_device; +extern struct amba_device spear3xx_ssp0_device; +extern struct amba_device spear3xx_uart_device; +extern struct amba_device spear3xx_wdt_device; +extern struct platform_device spear3xx_ehci_device; +extern struct platform_device spear3xx_i2c_device; +extern struct platform_device spear3xx_ohci0_device; +extern struct platform_device spear3xx_ohci1_device; +extern struct platform_device spear3xx_rtc_device;extern struct sys_timer spear3xx_timer;/* Add spear3xx family function declarations here */
@@ -87,49 +87,49 @@ extern struct pmx_dev spear3xx_pmx_timer_1_2;#if defined(CONFIG_MACH_SPEAR310 ) || defined(CONFIG_MACH_SPEAR320 )/* padmux plgpio devices */ -extern struct pmx_dev pmx_plgpio_0_1; -extern struct pmx_dev pmx_plgpio_2_3; -extern struct pmx_dev pmx_plgpio_4_5; -extern struct pmx_dev pmx_plgpio_6_9; -extern struct pmx_dev pmx_plgpio_10_27; -extern struct pmx_dev pmx_plgpio_28; -extern struct pmx_dev pmx_plgpio_29; -extern struct pmx_dev pmx_plgpio_30; -extern struct pmx_dev pmx_plgpio_31; -extern struct pmx_dev pmx_plgpio_32; -extern struct pmx_dev pmx_plgpio_33; -extern struct pmx_dev pmx_plgpio_34_36; -extern struct pmx_dev pmx_plgpio_37_42; -extern struct pmx_dev pmx_plgpio_43_44_47_48; -extern struct pmx_dev pmx_plgpio_45_46_49_50; +extern struct pmx_dev spear3xx_pmx_plgpio_0_1; +extern struct pmx_dev spear3xx_pmx_plgpio_2_3; +extern struct pmx_dev spear3xx_pmx_plgpio_4_5; +extern struct pmx_dev spear3xx_pmx_plgpio_6_9; +extern struct pmx_dev spear3xx_pmx_plgpio_10_27; +extern struct pmx_dev spear3xx_pmx_plgpio_28; +extern struct pmx_dev spear3xx_pmx_plgpio_29; +extern struct pmx_dev spear3xx_pmx_plgpio_30; +extern struct pmx_dev spear3xx_pmx_plgpio_31; +extern struct pmx_dev spear3xx_pmx_plgpio_32; +extern struct pmx_dev spear3xx_pmx_plgpio_33; +extern struct pmx_dev spear3xx_pmx_plgpio_34_36; +extern struct pmx_dev spear3xx_pmx_plgpio_37_42; +extern struct pmx_dev spear3xx_pmx_plgpio_43_44_47_48; +extern struct pmx_dev spear3xx_pmx_plgpio_45_46_49_50;#endif /* spear300 declarations */ #ifdef CONFIG_MACH_SPEAR300 /* Add spear300 machine device structure declarations here */ -extern struct amba_device clcd_device; -extern struct amba_device gpio1_device; -extern struct platform_device kbd_device; -extern struct platform_device nand0_device; -extern struct platform_device nand1_device; -extern struct platform_device nand2_device; -extern struct platform_device nand3_device; -extern struct platform_device sdhci_device; +extern struct amba_device spear300_clcd_device; +extern struct amba_device spear300_gpio1_device; +extern struct platform_device spear300_kbd_device; +extern struct platform_device spear300_nand0_device; +extern struct platform_device spear300_nand1_device; +extern struct platform_device spear300_nand2_device; +extern struct platform_device spear300_nand3_device; +extern struct platform_device spear300_sdhci_device;/* pad mux modes */ -extern struct pmx_mode nand_mode; -extern struct pmx_mode nor_mode; -extern struct pmx_mode photo_frame_mode; -extern struct pmx_mode lend_ip_phone_mode; -extern struct pmx_mode hend_ip_phone_mode; -extern struct pmx_mode lend_wifi_phone_mode; -extern struct pmx_mode hend_wifi_phone_mode; -extern struct pmx_mode ata_pabx_wi2s_mode; -extern struct pmx_mode ata_pabx_i2s_mode; -extern struct pmx_mode caml_lcdw_mode; -extern struct pmx_mode camu_lcd_mode; -extern struct pmx_mode camu_wlcd_mode; -extern struct pmx_mode caml_lcd_mode; +extern struct pmx_mode spear300_nand_mode; +extern struct pmx_mode spear300_nor_mode; +extern struct pmx_mode spear300_photo_frame_mode; +extern struct pmx_mode spear300_lend_ip_phone_mode; +extern struct pmx_mode spear300_hend_ip_phone_mode; +extern struct pmx_mode spear300_lend_wifi_phone_mode; +extern struct pmx_mode spear300_hend_wifi_phone_mode; +extern struct pmx_mode spear300_ata_pabx_wi2s_mode; +extern struct pmx_mode spear300_ata_pabx_i2s_mode; +extern struct pmx_mode spear300_caml_lcdw_mode; +extern struct pmx_mode spear300_camu_lcd_mode; +extern struct pmx_mode spear300_camu_wlcd_mode; +extern struct pmx_mode spear300_caml_lcd_mode;/* pad mux devices */ extern struct pmx_dev spear300_pmx_fsmc_2_chips;
@@ -165,14 +165,14 @@ extern struct clcd_board clcd_plat_data;/* spear310 declarations */ #if defined(CONFIG_MACH_SPEAR310 )/* Add spear310 machine device structure declarations here */ -extern struct amba_device uart1_device; -extern struct amba_device uart2_device; -extern struct amba_device uart3_device; -extern struct amba_device uart4_device; -extern struct amba_device uart5_device; -extern struct platform_device emi_nor_device; -extern struct platform_device plgpio_device; -extern struct platform_device nand_device; +extern struct amba_device spear310_uart1_device; +extern struct amba_device spear310_uart2_device; +extern struct amba_device spear310_uart3_device; +extern struct amba_device spear310_uart4_device; +extern struct amba_device spear310_uart5_device; +extern struct platform_device spear310_emi_nor_device; +extern struct platform_device spear310_plgpio_device; +extern struct platform_device spear310_nand_device;/* pad mux devices */ extern struct pmx_dev spear310_pmx_emi_cs_0_1_4_5;
@@ -193,24 +193,24 @@ void __init spear310_init(struct pmx_mode *pmx_mode, struct pmx_dev **pmx_devs,/* spear320 declarations */ #if defined(CONFIG_MACH_SPEAR320 )/* Add spear320 machine device structure declarations here */ -extern struct amba_device clcd_device; -extern struct amba_device ssp_device[]; -extern struct amba_device uart1_device; -extern struct amba_device uart2_device; -extern struct platform_device can0_device; -extern struct platform_device can1_device; -extern struct platform_device emi_nor_device; -extern struct platform_device i2c1_device; -extern struct platform_device nand_device; -extern struct platform_device plgpio_device; -extern struct platform_device pwm_device; -extern struct platform_device sdhci_device; +extern struct amba_device spear320_clcd_device; +extern struct amba_device spear320_ssp_device[]; +extern struct amba_device spear320_uart1_device; +extern struct amba_device spear320_uart2_device; +extern struct platform_device spear320_can0_device; +extern struct platform_device spear320_can1_device; +extern struct platform_device spear320_emi_nor_device; +extern struct platform_device spear320_i2c1_device; +extern struct platform_device spear320_nand_device; +extern struct platform_device spear320_plgpio_device; +extern struct platform_device spear320_pwm_device; +extern struct platform_device spear320_sdhci_device;/* pad mux modes */ -extern struct pmx_mode auto_net_smii_mode; -extern struct pmx_mode auto_net_mii_mode; -extern struct pmx_mode auto_exp_mode; -extern struct pmx_mode small_printers_mode; +extern struct pmx_mode spear320_auto_net_smii_mode; +extern struct pmx_mode spear320_auto_net_mii_mode; +extern struct pmx_mode spear320_auto_exp_mode; +extern struct pmx_mode spear320_small_printers_mode;/* pad mux devices */ extern struct pmx_dev spear320_pmx_clcd;
arch/arm/mach-spear3xx/spear300.c +21 -21
156 lines not on this page · raw message
arch/arm/mach-spear3xx/spear300_evb.c +20 -19
@@ -43,28 +43,28 @@ static struct pmx_dev *pmx_devs[] = {static struct amba_device *amba_devs[]__initdata = {/* spear3xx specific devices */ - &gpio_device, - &ssp0_device, - &uart_device, - &wdt_device, + &spear3xx_gpio_device, + &spear3xx_ssp0_device, + &spear3xx_uart_device, + &spear3xx_wdt_device,/* spear300 specific devices */ - &clcd_device, - &gpio1_device, + &spear300_clcd_device, + &spear300_gpio1_device, };static struct platform_device *plat_devs[]__initdata = {/* spear3xx specific devices */ - &ehci_device, - &i2c_device, - &nand0_device, - &ohci0_device, - &ohci1_device, - &rtc_device, + &spear3xx_ehci_device, + &spear3xx_i2c_device, + &spear3xx_ohci0_device, + &spear3xx_ohci1_device, + &spear3xx_rtc_device,/* spear300 specific devices */ - &kbd_device, - &sdhci_device, + &spear300_kbd_device, + &spear300_nand0_device, + &spear300_sdhci_device, };/* sdhci board specific information */
@@ -110,20 +110,21 @@ static void __init spear300_evb_init(void)unsigned int i;/* set keyboard plat data */ -kbd_set_plat_data (&kbd_device, &kbd_data); +kbd_set_plat_data (&spear300_kbd_device, &kbd_data);/* set nand0 device's plat data */ -fsmc_nand_set_plat_data (&nand0_device,NULL ,0 ,NAND_SKIP_BBTSCAN , -FSMC_NAND_BW8 ); +fsmc_nand_set_plat_data (&spear300_nand0_device,NULL ,0 , +NAND_SKIP_BBTSCAN ,FSMC_NAND_BW8 );/* set sdhci device platform data */ -sdhci_set_plat_data (&sdhci_device, &sdhci_plat_data); +sdhci_set_plat_data (&spear300_sdhci_device, &sdhci_plat_data);/* Enable sdhci memory */ sdhci_i2s_mem_enable (SDHCI_MEM_ENB );/* call spear300 machine init function */ -spear300_init (&photo_frame_mode, pmx_devs,ARRAY_SIZE (pmx_devs)); +spear300_init (&spear300_photo_frame_mode, pmx_devs, +ARRAY_SIZE (pmx_devs));/* Register slave devices on the I2C buses */ i2c_register_default_devices ();
arch/arm/mach-spear3xx/spear310.c +8 -8
@@ -196,7 +196,7 @@ static struct pmx_driver pmx_driver;/* Add spear310 specific devices here */ /* uart1 device registeration */ -struct amba_device uart1_device = { +struct amba_device spear310_uart1_device = { .dev = { .init_name ="uart1" , },
@@ -209,7 +209,7 @@ struct amba_device uart1_device = { };/* uart2 device registeration */ -struct amba_device uart2_device = { +struct amba_device spear310_uart2_device = { .dev = { .init_name ="uart2" , },
@@ -222,7 +222,7 @@ struct amba_device uart2_device = { };/* uart3 device registeration */ -struct amba_device uart3_device = { +struct amba_device spear310_uart3_device = { .dev = { .init_name ="uart3" , },
@@ -235,7 +235,7 @@ struct amba_device uart3_device = { };/* uart4 device registeration */ -struct amba_device uart4_device = { +struct amba_device spear310_uart4_device = { .dev = { .init_name ="uart4" , },
@@ -248,7 +248,7 @@ struct amba_device uart4_device = { };/* uart5 device registeration */ -struct amba_device uart5_device = { +struct amba_device spear310_uart5_device = { .dev = { .init_name ="uart5" , },
@@ -277,7 +277,7 @@ static struct resource nand_resources[] = { }, }; -struct platform_device nand_device = { +struct platform_device spear310_nand_device = { .name ="nand" , .id =-1 , .resource = nand_resources,
@@ -323,7 +323,7 @@ int spear300_o2p(int offset)/* emi nor flash device registeration */ static struct physmap_flash_data emi_norflash_data; -struct platform_device emi_nor_device = { +struct platform_device spear310_emi_nor_device = { .name ="physmap-flash" , .id =-1 , .dev.platform_data = &emi_norflash_data,
@@ -351,7 +351,7 @@ static struct resource plgpio_resources[] = { }, }; -struct platform_device plgpio_device = { +struct platform_device spear310_plgpio_device = { .name ="plgpio" , .id =-1 , .dev = {
arch/arm/mach-spear3xx/spear310_evb.c +17 -16
@@ -68,26 +68,26 @@ static struct pmx_dev *pmx_devs[] = {static struct amba_device *amba_devs[]__initdata = {/* spear3xx specific devices */ - &gpio_device, - &ssp0_device, - &uart_device, - &wdt_device, + &spear3xx_gpio_device, + &spear3xx_ssp0_device, + &spear3xx_uart_device, + &spear3xx_wdt_device,/* spear310 specific devices */ };static struct platform_device *plat_devs[]__initdata = {/* spear3xx specific devices */ - &ehci_device, - &i2c_device, - &nand_device, - &ohci0_device, - &ohci1_device, - &rtc_device, + &spear3xx_ehci_device, + &spear3xx_i2c_device, + &spear3xx_ohci0_device, + &spear3xx_ohci1_device, + &spear3xx_rtc_device,/* spear310 specific devices */ - &emi_nor_device, - &plgpio_device, + &spear310_emi_nor_device, + &spear310_nand_device, + &spear310_plgpio_device, };/* spi board information */
@@ -125,8 +125,8 @@ static void __init spear310_evb_init(void)unsigned int i;/* set nand device's plat data */ -fsmc_nand_set_plat_data (&nand_device,NULL ,0 ,NAND_SKIP_BBTSCAN , -FSMC_NAND_BW8 ); +fsmc_nand_set_plat_data (&spear310_nand_device,NULL ,0 , +NAND_SKIP_BBTSCAN ,FSMC_NAND_BW8 );/* call spear310 machine init function */ spear310_init (NULL , pmx_devs,ARRAY_SIZE (pmx_devs));
@@ -135,12 +135,13 @@ static void __init spear310_evb_init(void)i2c_register_default_devices ();/* initialize emi related data in emi plat data */ -emi_init_board_info (&emi_nor_device, emi_nor_resources, +emi_init_board_info (&spear310_emi_nor_device, emi_nor_resources,ARRAY_SIZE (emi_nor_resources), partition_info,ARRAY_SIZE (partition_info),EMI_FLASH_WIDTH32 );/* Initialize emi regiters */ -emi_init (&emi_nor_device,SPEAR310_EMI_REG_BASE ,0 ,EMI_FLASH_WIDTH32 ); +emi_init (&spear310_emi_nor_device,SPEAR310_EMI_REG_BASE ,0 , +EMI_FLASH_WIDTH32 );/* Add Platform Devices */ platform_add_devices (plat_devs,ARRAY_SIZE (plat_devs));
arch/arm/mach-spear3xx/spear320.c +18 -18
@@ -30,25 +30,25 @@#define SMALL_PRINTERS_MODE (1 << 3)#define ALL_MODES 0xF -struct pmx_mode auto_net_smii_mode = { +struct pmx_mode spear320_auto_net_smii_mode = { .id =AUTO_NET_SMII_MODE , .name ="Automation Networking SMII Mode" , .value =0x00 , }; -struct pmx_mode auto_net_mii_mode = { +struct pmx_mode spear320_auto_net_mii_mode = { .id =AUTO_NET_MII_MODE , .name ="Automation Networking MII Mode" , .value =0x01 , }; -struct pmx_mode auto_exp_mode = { +struct pmx_mode spear320_auto_exp_mode = { .id =AUTO_EXP_MODE , .name ="Automation Expanded Mode" , .value =0x02 , }; -struct pmx_mode small_printers_mode = { +struct pmx_mode spear320_small_printers_mode = { .id =SMALL_PRINTERS_MODE , .name ="Small Printers Mode" , .value =0x03 ,
@@ -594,7 +594,7 @@ static struct pmx_driver pmx_driver = {/* Add spear320 specific devices here */ /* CLCD device registration */ -struct amba_device clcd_device = { +struct amba_device spear320_clcd_device = { .dev = { .init_name ="clcd" , .coherent_dma_mask = ~0 ,
@@ -622,7 +622,7 @@ static struct pl022_ssp_controller ssp_platform_data[] = { } }; -struct amba_device ssp_device[] = { +struct amba_device spear320_ssp_device[] = { { .dev = { .coherent_dma_mask = ~0 ,
@@ -651,7 +651,7 @@ struct amba_device ssp_device[] = { };/* uart1 device registeration */ -struct amba_device uart1_device = { +struct amba_device spear320_uart1_device = { .dev = { .init_name ="uart1" , },
@@ -664,7 +664,7 @@ struct amba_device uart1_device = { };/* uart2 device registeration */ -struct amba_device uart2_device = { +struct amba_device spear320_uart2_device = { .dev = { .init_name ="uart2" , },
@@ -688,7 +688,7 @@ static struct resource can0_resources[] = { }, }; -struct platform_device can0_device = { +struct platform_device spear320_can0_device = { .name ="c_can_platform" , .id =0 , .num_resources =ARRAY_SIZE (can0_resources),
@@ -706,7 +706,7 @@ static struct resource can1_resources[] = { }, }; -struct platform_device can1_device = { +struct platform_device spear320_can1_device = { .name ="c_can_platform" , .id =1 , .num_resources =ARRAY_SIZE (can1_resources),
@@ -715,7 +715,7 @@ struct platform_device can1_device = {/* emi nor flash device registeration */ static struct physmap_flash_data emi_norflash_data; -struct platform_device emi_nor_device = { +struct platform_device spear320_emi_nor_device = { .name ="physmap-flash" , .id =-1 , .dev.platform_data = &emi_norflash_data,
@@ -733,7 +733,7 @@ static struct resource i2c1_resources[] = { }, }; -struct platform_device i2c1_device = { +struct platform_device spear320_i2c1_device = { .name ="i2c_designware" , .id =1 , .dev = {
@@ -760,7 +760,7 @@ static struct resource nand_resources[] = { }, }; -struct platform_device nand_device = { +struct platform_device spear320_nand_device = { .name ="nand" , .id =-1 , .resource = nand_resources,
@@ -771,8 +771,8 @@ struct platform_device nand_device = {/* plgpio device registeration */ static struct plgpio_platform_data plgpio_plat_data = { .gpio_base =8 , - .irq_base =SPEAR_PLGPIO_INT_BASE , - .gpio_count =SPEAR_PLGPIO_COUNT , + .irq_base =SPEAR3XX_PLGPIO_INT_BASE , + .gpio_count =SPEAR3XX_PLGPIO_COUNT , };static struct resource plgpio_resources[] = {
@@ -786,7 +786,7 @@ static struct resource plgpio_resources[] = { }, }; -struct platform_device plgpio_device = { +struct platform_device spear320_plgpio_device = { .name ="plgpio" , .id =-1 , .dev = {
@@ -805,7 +805,7 @@ static struct resource pwm_resources[] = { }, }; -struct platform_device pwm_device = { +struct platform_device spear320_pwm_device = { .name ="pwm" , .id =-1 , .num_resources =ARRAY_SIZE (pwm_resources),
@@ -824,7 +824,7 @@ static struct resource sdhci_resources[] = { } }; -struct platform_device sdhci_device = { +struct platform_device spear320_sdhci_device = { .dev = { .coherent_dma_mask = ~0 , },
arch/arm/mach-spear3xx/spear320_evb.c +24 -22
79 lines not on this page · raw message
arch/arm/mach-spear3xx/spear3xx.c +9 -9
@@ -32,7 +32,7 @@ static struct pl061_platform_data gpio_plat_data = { .irq_base = SPEAR3XX_GPIO_INT_BASE, }; -struct amba_device gpio_device = { +struct amba_device spear3xx_gpio_device = { .dev = { .init_name ="gpio" , .platform_data = &gpio_plat_data,
@@ -61,7 +61,7 @@ static struct pl022_ssp_controller ssp_platform_data = { .num_chipselect = 2, }; -struct amba_device ssp0_device = { +struct amba_device spear3xx_ssp0_device = { .dev = { .coherent_dma_mask = ~0 , .init_name ="ssp-pl022.0" ,
@@ -76,7 +76,7 @@ struct amba_device ssp0_device = { };/* uart device registration */ -struct amba_device uart_device = { +struct amba_device spear3xx_uart_device = { .dev = { .init_name ="uart" , },
@@ -89,7 +89,7 @@ struct amba_device uart_device = { };/* watchdog device registeration */ -struct amba_device wdt_device = { +struct amba_device spear3xx_wdt_device = { .dev = { .init_name ="wdt" , },
@@ -112,7 +112,7 @@ static struct resource i2c_resources[] = { }, }; -struct platform_device i2c_device = { +struct platform_device spear3xx_i2c_device = { .name ="i2c_designware" , .id =0 , .dev = {
@@ -162,7 +162,7 @@ static struct resource ohci1_resources[] = {static u64 ehci_dmamask = ~0 ;static int usbh_id =-1 ; -struct platform_device ehci_device = { +struct platform_device spear3xx_ehci_device = { .name ="spear-ehci" , .id =-1 , .dev = {
@@ -176,7 +176,7 @@ struct platform_device ehci_device = {static u64 ohci0_dmamask = ~0 ; -struct platform_device ohci0_device = { +struct platform_device spear3xx_ohci0_device = { .name ="spear-ohci" , .id =0 , .dev = {
@@ -190,7 +190,7 @@ struct platform_device ohci0_device = {static u64 ohci1_dmamask = ~0 ; -struct platform_device ohci1_device = { +struct platform_device spear3xx_ohci1_device = { .name ="spear-ohci" , .id =1 , .dev = {
@@ -214,7 +214,7 @@ static struct resource rtc_resources[] = { }, }; -struct platform_device rtc_device = { +struct platform_device spear3xx_rtc_device = { .name ="rtc-spear" , .id =-1 , .num_resources =ARRAY_SIZE (rtc_resources),
Signature · 1 line
1.7.3.4
PATCH v5 57/63 ST SPEAr3xx: Updating plgpio and emi source to make it compliant with single image strategy
In reply to Viresh Kumar--- arch/arm/mach-spear3xx/emi.c | 18 ++++++++++- arch/arm/mach-spear3xx/include/mach/emi.h | 19 ++++++----- arch/arm/mach-spear3xx/include/mach/gpio.h | 27 ++++++++-------- arch/arm/plat-spear/plgpio.c | 46 ++++++++++++++++++++------- 4 files changed, 75 insertions(+), 35 deletions(-)
arch/arm/mach-spear3xx/emi.c +17 -1
@@ -15,6 +15,7 @@#include <linux/err.h> #include <linux/init.h> #include <linux/io.h> +#include <asm/mach-types.h> #include <mach/emi.h> int __init emi_init(struct platform_device *pdev, unsigned long base,
@@ -23,8 +24,23 @@ int __init emi_init(struct platform_device *pdev, unsigned long base,void __iomem *emi_reg_base;struct clk *clk;int ret; +u32 ack_reg, max_banks; +/* u32 timeout_reg, irq_reg; */ + +/* fixing machine dependent values */ +if (machine_is_spear310 ()) { + ack_reg =SPEAR310_ACK_REG ; + max_banks =SPEAR310_EMI_MAX_BANKS ; +/* timeout_reg = SPEAR310_TIMEOUT_REG; */ +/* irq_reg = SPEAR310_IRQ_REG; */ + }else { + ack_reg =SPEAR320_ACK_REG ; + max_banks =SPEAR320_EMI_MAX_BANKS ; +/* timeout_reg = SPEAR320_TIMEOUT_REG; */ +/* irq_reg = SPEAR320_IRQ_REG; */ + } -if (bank > (EMI_MAX_BANKS -1 )) +if (bank > (max_banks -1 ))return -EINVAL ; emi_reg_base =ioremap (base,EMI_REG_SIZE );
arch/arm/mach-spear3xx/include/mach/emi.h +10 -9
@@ -33,18 +33,19 @@#define CTRL_REG (0x14)#if defined(CONFIG_MACH_SPEAR310 ) -#define TIMEOUT_REG (0x90) -#define ACK_REG (0x94) -#define IRQ_REG (0x98) +#define SPEAR310_TIMEOUT_REG (0x90) +#define SPEAR310_ACK_REG (0x94) +#define SPEAR310_IRQ_REG (0x98) -#define EMI_MAX_BANKS 6 +#define SPEAR310_EMI_MAX_BANKS 6 +#endif -#elif defined(CONFIG_MACH_SPEAR320 ) -#define TIMEOUT_REG (0x60) -#define ACK_REG (0x64) -#define IRQ_REG (0x68) +#if defined(CONFIG_MACH_SPEAR320 ) +#define SPEAR320_TIMEOUT_REG (0x60) +#define SPEAR320_ACK_REG (0x64) +#define SPEAR320_IRQ_REG (0x68) -#define EMI_MAX_BANKS 4 +#define SPEAR320_EMI_MAX_BANKS 4#endif
arch/arm/mach-spear3xx/include/mach/gpio.h +14 -13
@@ -17,20 +17,21 @@#include <plat/gpio.h> #ifdef CONFIG_MACH_SPEAR310 -#define PLGPIO_ENB 0x0010 -#define PLGPIO_WDATA 0x0020 -#define PLGPIO_DIR 0x0030 -#define PLGPIO_IE 0x0040 -#define PLGPIO_RDATA 0x0050 -#define PLGPIO_MIS 0x0060 +#define SPEAR310_PLGPIO_ENB 0x0010 +#define SPEAR310_PLGPIO_WDATA 0x0020 +#define SPEAR310_PLGPIO_DIR 0x0030 +#define SPEAR310_PLGPIO_IE 0x0040 +#define SPEAR310_PLGPIO_RDATA 0x0050 +#define SPEAR310_PLGPIO_MIS 0x0060 +#endif -#elif defined(CONFIG_MACH_SPEAR320 ) -#define PLGPIO_ENB 0x0024 -#define PLGPIO_WDATA 0x0034 -#define PLGPIO_DIR 0x0044 -#define PLGPIO_RDATA 0x0054 -#define PLGPIO_IE 0x0064 -#define PLGPIO_MIS 0x0074 +#if defined(CONFIG_MACH_SPEAR320 ) +#define SPEAR320_PLGPIO_ENB 0x0024 +#define SPEAR320_PLGPIO_WDATA 0x0034 +#define SPEAR320_PLGPIO_DIR 0x0044 +#define SPEAR320_PLGPIO_RDATA 0x0054 +#define SPEAR320_PLGPIO_IE 0x0064 +#define SPEAR320_PLGPIO_MIS 0x0074#endif #define BASIC_GPIO_0 0
arch/arm/plat-spear/plgpio.c +34 -12
121 lines not on this page · raw message
Signature · 1 line
1.7.3.4
PATCH v5 57/63 ST SPEAr3xx: Updating plgpio and emi source to make it compliant with single image strategy
Quoted 1 line · Viresh Kumar
Signed-off-by Viresh Kumar <[email protected]>
Why aren't the plgpio bits of this in patch 16?
arch/arm/plat-spear/plgpio.c line 33
Quoted 2 lines
arch/arm/plat-spear/plgpio.c +2
-0+static u32 plgpio_enb, plgpio_wdata, plgpio_dir, plgpio_rdata, plgpio_ie, + plgpio_mis;
'int' or 'unsigned int' will do for these. There's no pressing need for these to be exactly 32-bit quantities.
Quoted 8 lines
static int
__initplgpio_init(void)
{arch/arm/plat-spear/plgpio.c +6
-0+if (machine_is_spear310 ()) { + plgpio_enb =SPEAR310_PLGPIO_ENB ; + plgpio_wdata =SPEAR310_PLGPIO_WDATA ; + plgpio_dir =SPEAR310_PLGPIO_DIR ; + plgpio_rdata =SPEAR310_PLGPIO_IE ; + plgpio_ie =SPEAR310_PLGPIO_RDATA ;
arch/arm/plat-spear/plgpio.c static struct platform_driver plgpio_driver = { · line 465
Quoted 10 lines
arch/arm/plat-spear/plgpio.c +10
-0+ plgpio_mis =SPEAR310_PLGPIO_MIS ; + }else if (machine_is_spear320 ()) { + plgpio_enb =SPEAR320_PLGPIO_ENB ; + plgpio_wdata =SPEAR320_PLGPIO_WDATA ; + plgpio_dir =SPEAR320_PLGPIO_DIR ; + plgpio_rdata =SPEAR320_PLGPIO_IE ; + plgpio_ie =SPEAR320_PLGPIO_RDATA ; + plgpio_mis =SPEAR320_PLGPIO_MIS ; + }else { +return 0 ;
If it's not supported, then what about returning an error instead of zero?
Can you supersede this patch and patch 16 in the patch system with a single patch which adds PLGPIO support with no further updates.
You may also consider combining the EMI updates with the patch which creates EMI support in the first place, which I think is patch 36.
PATCH v5 57/63 ST SPEAr3xx: Updating plgpio and emi source to make it compliant with single image strategy
Quoted 5 lines · Russell King - ARM Linux
Quoted 1 line · Viresh Kumar
Signed-off-by Viresh Kumar <[email protected]>Why aren't the plgpio bits of this in patch 16?
Because we made these changes after that single image solution. And yes we should
have done our homework on this cleanly and merged all this in patch 16 and emi's patch.
Quoted 6 lines
arch/arm/plat-spear/plgpio.c line 33
Quoted 2 lines
arch/arm/plat-spear/plgpio.c +2
-0+static u32 plgpio_enb, plgpio_wdata, plgpio_dir, plgpio_rdata, plgpio_ie, + plgpio_mis;'int' or 'unsigned int' will do for these. There's no pressing need for these to be exactly 32-bit quantities.
Yes.
Quoted 13 lines
Quoted 13 lines
static int
__initplgpio_init(void)
{arch/arm/plat-spear/plgpio.c +11
-0+if (machine_is_spear310 ()) { + plgpio_enb =SPEAR310_PLGPIO_ENB ; + plgpio_wdata =SPEAR310_PLGPIO_WDATA ; + plgpio_dir =SPEAR310_PLGPIO_DIR ; + plgpio_rdata =SPEAR310_PLGPIO_IE ; + plgpio_ie =SPEAR310_PLGPIO_RDATA ; + plgpio_mis =SPEAR310_PLGPIO_MIS ; + }else if (machine_is_spear320 ()) { + plgpio_enb =SPEAR320_PLGPIO_ENB ; + plgpio_wdata =SPEAR320_PLGPIO_WDATA ; + plgpio_dir =SPEAR320_PLGPIO_DIR ;
Quoted 9 lines
arch/arm/plat-spear/plgpio.c static struct platform_driver plgpio_driver = { · line 465
Quoted 5 lines
arch/arm/plat-spear/plgpio.c +5
-0+ plgpio_rdata =SPEAR320_PLGPIO_IE ; + plgpio_ie =SPEAR320_PLGPIO_RDATA ; + plgpio_mis =SPEAR320_PLGPIO_MIS ; + }else { +return 0 ;If it's not supported, then what about returning an error instead of zero?
Yes. Error must be returned.
Quoted 6 lines
Can you supersede this patch and patch 16 in the patch system with a single patch which adds PLGPIO support with no further updates.
You may also consider combining the EMI updates with the patch which creates EMI support in the first place, which I think is patch 36.
Will do this for both plgpio and emi.
PATCH v5 58/63 SPEAr6xx: Rework Kconfig for single image solution
In reply to Viresh Kumar--- arch/arm/mach-spear6xx/Kconfig | 15 ++++++++------- arch/arm/mach-spear6xx/Kconfig600 | 17 ----------------- 2 files changed, 8 insertions(+), 24 deletions(-) delete mode 100644 arch/arm/mach-spear6xx/Kconfig600
arch/arm/mach-spear6xx/Kconfig +8 -7
@@ -4,17 +4,18 @@ if ARCH_SPEAR6XX -choice - prompt "SPEAr6XX Family" - default MACH_SPEAR600 +menu "SPEAr6xx Implementations" +config BOARD_SPEAR600_EVB + bool "SPEAr600 Evaluation Board" + select MACH_SPEAR600 + help + Supports ST SPEAr600 Evaluation Board + +endmenu config MACH_SPEAR600 bool "SPEAr600" help Supports ST SPEAr600 Machine -endchoice - -# Adding SPEAr6XX machine specific configuration files -source "arch/arm/mach-spear6xx/Kconfig600" endif #ARCH_SPEAR6XX
arch/arm/mach-spear6xx/Kconfig600 deleted +0 -17
@@ -1,17 +0,0 @@ -# -# SPEAr600 machine configuration file -# - -if MACH_SPEAR600 - -choice - prompt "SPEAr600 Boards" - default BOARD_SPEAR600_EVB - -config BOARD_SPEAR600_EVB - bool "SPEAr600 Evaluation Board" - help - Supports ST SPEAr600 Evaluation Board -endchoice - -endif #MACH_SPEAR600
Signature · 1 line
1.7.3.4
PATCH v5 59/63 ST SPEAR6xx: renaming spear600_defconfig as spear6xx_defconfig
In reply to Viresh Kumar---
.../{spear600_defconfig => spear6xx_defconfig} | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
rename arch/arm/configs/{spear600_defconfig => spear6xx_defconfig} (97%)arch/arm/configs/spear6xx_defconfig renamed from arch/arm/configs/spear600_defconfig +1 -1
@@ -8,6 +8,7 @@ CONFIG_MODULE_UNLOAD=y CONFIG_MODVERSIONS=y CONFIG_PLAT_SPEAR=y CONFIG_ARCH_SPEAR6XX=y +CONFIG_BOARD_SPEAR600_EVB=y CONFIG_BINFMT_MISC=y CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" CONFIG_BLK_DEV_RAM=y
@@ -22,7 +23,6 @@ CONFIG_MAX_RAW_DEVS=8192 CONFIG_GPIO_SYSFS=y CONFIG_GPIO_PL061=y # CONFIG_HWMON is not set -# CONFIG_VGA_CONSOLE is not set # CONFIG_HID_SUPPORT is not set # CONFIG_USB_SUPPORT is not set CONFIG_EXT2_FS=y
Signature · 1 line
1.7.3.4
PATCH v5 60/63 ST SPEAr13xx: Pass default padmux settings as parameter to spear13**_init routine
In reply to Viresh KumarThis patch makes pmx_driver static to spear1300.c and spear1310.c, also now default setting of padmux are sent to spear1300_init and spear1310_init routines
--- arch/arm/mach-spear13xx/include/mach/generic.h | 8 ++++---- arch/arm/mach-spear13xx/spear1300.c | 9 +++++++-- arch/arm/mach-spear13xx/spear1300_evb.c | 7 +------ arch/arm/mach-spear13xx/spear1310.c | 9 +++++++-- arch/arm/mach-spear13xx/spear1310_evb.c | 7 +------ 5 files changed, 20 insertions(+), 20 deletions(-)
arch/arm/mach-spear13xx/include/mach/generic.h +4 -4
@@ -220,8 +220,6 @@ extern struct pmx_dev pmx_uart1_modem;#define SPEAR_GPT0_CHAN0_IRQ IRQ_GPT0_TMR0#define SPEAR_GPT0_CHAN1_IRQ IRQ_GPT0_TMR1 -extern struct pmx_driver pmx_driver; -/* Add spear13xx family device structure declarations here */ extern struct amba_device spear13xx_gpio_device[];extern struct amba_device spear13xx_ssp_device;
@@ -250,7 +248,8 @@ void spear13xx_secondary_startup(void);/* spear1300 declarations */ #ifdef CONFIG_MACH_SPEAR1300 /* Add spear1300 machine function declarations here */ -void __init spear1300_init (void ); +void __init spear1300_init (struct pmx_mode *pmx_mode,struct pmx_dev **pmx_devs, +u8 pmx_dev_count);#endif /* CONFIG_MACH_SPEAR1300 */
@@ -261,7 +260,8 @@ extern struct platform_device spear1310_can0_device;extern struct platform_device spear1310_can1_device;/* Add spear1310 machine function declarations here */ -void __init spear1310_init (void ); +void __init spear1310_init (struct pmx_mode *pmx_mode,struct pmx_dev **pmx_devs, +u8 pmx_dev_count);void __init spear1310_map_io (void );#endif /* CONFIG_MACH_SPEAR1310 */
arch/arm/mach-spear13xx/spear1300.c +7 -2
@@ -15,11 +15,12 @@#include <mach/spear.h> /* pmx driver structure */ -struct pmx_driver pmx_driver; +static struct pmx_driver pmx_driver;/* Add spear1300 specific devices here */ -void __init spear1300_init (void ) +void __init spear1300_init (struct pmx_mode *pmx_mode,struct pmx_dev **pmx_devs, +u8 pmx_dev_count) {int ret;
@@ -27,6 +28,10 @@ void __init spear1300_init(void)spear13xx_init ();/* pmx initialization */ + pmx_driver.mode = pmx_mode; + pmx_driver.devs = pmx_devs; + pmx_driver.devs_count = pmx_dev_count; + ret =pmx_register (&pmx_driver);if (ret)pr_err ("padmux: registeration failed. err no: %d\n" , ret);
arch/arm/mach-spear13xx/spear1300_evb.c +1 -6
@@ -107,11 +107,6 @@ static void __init spear1300_evb_init(void) {unsigned int i; -/* padmux initialization, must be done before spear1300_init */ - pmx_driver.mode =NULL ; - pmx_driver.devs = pmx_devs; - pmx_driver.devs_count =ARRAY_SIZE (pmx_devs); -/* set keyboard plat data */ kbd_set_plat_data (&spear13xx_kbd_device, &kbd_data);
@@ -121,7 +116,7 @@ static void __init spear1300_evb_init(void)nand_mach_init (FSMC_NAND_BW8 );/* call spear1300 machine init function */ -spear1300_init (); +spear1300_init (NULL , pmx_devs,ARRAY_SIZE (pmx_devs));/* Register slave devices on the I2C buses */ i2c_register_default_devices ();
arch/arm/mach-spear13xx/spear1310.c +7 -2
@@ -17,7 +17,7 @@#include <mach/hardware.h> /* pmx driver structure */ -struct pmx_driver pmx_driver; +static struct pmx_driver pmx_driver;/* Pad multiplexing for uart1_modem device */ static struct pmx_mux_reg pmx_uart1_modem_mux[] = {
@@ -410,7 +410,8 @@ void __init spear1310_map_io(void)iotable_init (spear1310_io_desc,ARRAY_SIZE (spear1310_io_desc)); } -void __init spear1310_init (void ) +void __init spear1310_init (struct pmx_mode *pmx_mode,struct pmx_dev **pmx_devs, +u8 pmx_dev_count) {int ret;
@@ -418,6 +419,10 @@ void __init spear1310_init(void)spear13xx_init ();/* pmx initialization */ + pmx_driver.mode = pmx_mode; + pmx_driver.devs = pmx_devs; + pmx_driver.devs_count = pmx_dev_count; + ret =pmx_register (&pmx_driver);if (ret)pr_err ("padmux: registeration failed. err no: %d\n" , ret);
arch/arm/mach-spear13xx/spear1310_evb.c +1 -6
@@ -119,11 +119,6 @@ static void __init spear1310_evb_init(void) {unsigned int i; -/* padmux initialization, must be done before spear1300_init */ - pmx_driver.mode =NULL ; - pmx_driver.devs = pmx_devs; - pmx_driver.devs_count =ARRAY_SIZE (pmx_devs); -/* set keyboard plat data */ kbd_set_plat_data (&spear13xx_kbd_device, &kbd_data);
@@ -133,7 +128,7 @@ static void __init spear1310_evb_init(void)nand_mach_init (FSMC_NAND_BW8 );/* call spear1310 machine init function */ -spear1310_init (); +spear1310_init (NULL , pmx_devs,ARRAY_SIZE (pmx_devs));/* Register slave devices on the I2C buses */ i2c_register_default_devices ();
Signature · 1 line
1.7.3.4
PATCH v5 61/63 ST SPEAr: Adding devices & clocks
In reply to Viresh Kumar--- arch/arm/mach-spear13xx/clock.c | 39 ++++++++++ arch/arm/mach-spear13xx/include/mach/generic.h | 6 ++ arch/arm/mach-spear13xx/include/mach/irqs.h | 10 +- arch/arm/mach-spear13xx/include/mach/spear1310.h | 33 ++++++++ arch/arm/mach-spear13xx/spear1310.c | 87 ++++++++++++++++++++++ arch/arm/mach-spear13xx/spear1310_evb.c | 8 ++ arch/arm/mach-spear3xx/spear310_evb.c | 5 + arch/arm/mach-spear3xx/spear320_evb.c | 6 ++ 8 files changed, 189 insertions(+), 5 deletions(-)
arch/arm/mach-spear13xx/clock.c +39 -0
@@ -1025,6 +1025,40 @@ static struct clk gmac_phy4_clk = { .recalc = &follow_parent, }; +/* uart1 clock */ +static struct clk uart1_clk = { + .flags =ALWAYS_ENABLED , + .pclk = &ras_pclk_clk, + .recalc = &follow_parent, +}; + +/* uart2 clock */ +static struct clk uart2_clk = { + .flags =ALWAYS_ENABLED , + .pclk = &ras_pclk_clk, + .recalc = &follow_parent, +}; + +/* uart3 clock */ +static struct clk uart3_clk = { + .flags =ALWAYS_ENABLED , + .pclk = &ras_pclk_clk, + .recalc = &follow_parent, +}; + +/* uart4 clock */ +static struct clk uart4_clk = { + .flags =ALWAYS_ENABLED , + .pclk = &ras_pclk_clk, + .recalc = &follow_parent, +}; + +/* uart5 clock */ +static struct clk uart5_clk = { + .flags =ALWAYS_ENABLED , + .pclk = &ras_pclk_clk, + .recalc = &follow_parent, +};#endif static struct clk dummy_apb_pclk;
@@ -1138,6 +1172,11 @@ static struct clk_lookup spear1310_clk_lookups[] = { {.dev_id = "stmmacphy.2", .clk = &gmac_phy2_clk}, {.dev_id = "stmmacphy.3", .clk = &gmac_phy3_clk}, {.dev_id = "stmmacphy.4", .clk = &gmac_phy4_clk}, + {.dev_id = "uart1", .clk = &uart1_clk}, + {.dev_id = "uart2", .clk = &uart2_clk}, + {.dev_id = "uart3", .clk = &uart3_clk}, + {.dev_id = "uart4", .clk = &uart4_clk}, + {.dev_id = "uart5", .clk = &uart5_clk}, }; #endif
arch/arm/mach-spear13xx/include/mach/generic.h +6 -0
@@ -256,8 +256,14 @@ void __init spear1300_init(struct pmx_mode *pmx_mode, struct pmx_dev **pmx_devs,/* spear1310 declarations */ #ifdef CONFIG_MACH_SPEAR1310 /* Add spear1310 machine device structure declarations here */ +extern struct amba_device spear1310_uart1_device; +extern struct amba_device spear1310_uart2_device; +extern struct amba_device spear1310_uart3_device; +extern struct amba_device spear1310_uart4_device; +extern struct amba_device spear1310_uart5_device;extern struct platform_device spear1310_can0_device;extern struct platform_device spear1310_can1_device; +extern struct platform_device spear1310_i2c1_device;/* Add spear1310 machine function declarations here */ void __init spear1310_init(struct pmx_mode *pmx_mode, struct pmx_dev **pmx_devs,
arch/arm/mach-spear13xx/include/mach/irqs.h +5 -5
@@ -97,11 +97,11 @@#define IRQ_CCAN1 (IRQ_SHPI_START + 83)#define IRQ_TDM0 (IRQ_SHPI_START + 84)#define IRQ_TDM1 (IRQ_SHPI_START + 85) -#define IRQ_UART0 (IRQ_SHPI_START + 86) -#define IRQ_UART1 (IRQ_SHPI_START + 87) -#define IRQ_UART2 (IRQ_SHPI_START + 88) -#define IRQ_UART3 (IRQ_SHPI_START + 89) -#define IRQ_UART4 (IRQ_SHPI_START + 90) +#define IRQ_UART1 (IRQ_SHPI_START + 86) +#define IRQ_UART2 (IRQ_SHPI_START + 87) +#define IRQ_UART3 (IRQ_SHPI_START + 88) +#define IRQ_UART4 (IRQ_SHPI_START + 89) +#define IRQ_UART5 (IRQ_SHPI_START + 90)#define IRQ_I2C_CNTR (IRQ_SHPI_START + 91)#define IRQ_GMAC0_SBD (IRQ_SHPI_START + 92)#define IRQ_GMAC0_PMT (IRQ_SHPI_START + 93)
arch/arm/mach-spear13xx/include/mach/spear1310.h +33 -0
@@ -16,9 +16,32 @@#ifndef __MACH_SPEAR1310_H#define __MACH_SPEAR1310_H +#define SPEAR1310_TDM_E1_0_BASE UL(0x6C200000) +#define SPEAR1310_TDM_E1_1_BASE UL(0x6C300000) +#define SPEAR1310_RS485_0_BASE UL(0x6C400000) +#define SPEAR1310_RS485_1_BASE UL(0x6C500000) +#define SPEAR1310_GETH1_BASE UL(0x6D000000) +#define SPEAR1310_GETH2_BASE UL(0x6D100000) +#define SPEAR1310_GETH3_BASE UL(0x6D200000) +#define SPEAR1310_GETH4_BASE UL(0x6D300000) +#define SPEAR1310_UART1_BASE UL(0x6D400000) +#define SPEAR1310_UART2_BASE UL(0x6D500000) +#define SPEAR1310_UART3_BASE UL(0x6D600000) +#define SPEAR1310_UART4_BASE UL(0x6D700000) +#define SPEAR1310_UART5_BASE UL(0x6D800000) +#define SPEAR1310_I2C1_BASE UL(0x6D900000)#define SPEAR1310_CAN0_BASE UL(0x6DA00000)#define SPEAR1310_CAN1_BASE UL(0x6DB00000)#define SPEAR1310_RAS_BASE UL(0x6C800000) +#define SPEAR1310_GETH1_BASE UL(0x6D000000) +#define SPEAR1310_GETH2_BASE UL(0x6D100000) +#define SPEAR1310_GETH3_BASE UL(0x6D200000) +#define SPEAR1310_GETH4_BASE UL(0x6D300000) +#define SPEAR1310_FSMC1_CS0_BASE UL(0x70000000) +#define SPEAR1310_FSMC1_CS1_BASE UL(0x74000000) +#define SPEAR1310_FSMC1_CS2_BASE UL(0x78000000) +#define SPEAR1310_FSMC1_CS3_BASE UL(0x7C000000) +#define SPEAR1310_FSMC1_BASE UL(0x6FF00000)/* RAS Area Control Register */ #define SPEAR1310_RAS_CTRL_REG0 (SPEAR1310_RAS_BASE + 0x0)
@@ -26,6 +49,16 @@#define SPEAR1310_PHY_CLK_MASK 0xF#define SPEAR1310_PHY_CLK_SHIFT 0 +#define RAS_FSMC_MODE_MASK 0x3 +#define RAS_FSMC_MODE_NOR 0 +#define RAS_FSMC_MODE_NAND 1 +#define RAS_FSMC_MODE_SRAM 2 +#define RAS_FSMC_WIDTH_MASK 0x30 +#define RAS_FSMC_WIDTH_8 0x00 +#define RAS_FSMC_WIDTH_16 0x10 +#define RAS_FSMC_WIDTH_32 0x20 +#define RAS_FSMC_CS_SPLIT 0x40 +#endif /* __MACH_SPEAR1310_H */ #endif /* CONFIG_MACH_SPEAR1310 */
arch/arm/mach-spear13xx/spear1310.c +87 -0
105 lines not on this page · raw message
arch/arm/mach-spear13xx/spear1310_evb.c +8 -0
@@ -57,6 +57,13 @@ static struct amba_device *amba_devs[] __initdata = { &spear13xx_gpio_device[1 ], &spear13xx_ssp_device, &spear13xx_uart_device, + +/* spear1310 specific devices */ + &spear1310_uart1_device, + &spear1310_uart2_device, + &spear1310_uart3_device, + &spear1310_uart4_device, + &spear1310_uart5_device, }; static struct platform_device *plat_devs[] __initdata = {
@@ -74,6 +81,7 @@ static struct platform_device *plat_devs[] __initdata = {/* spear1310 specific devices */ &spear1310_can0_device, &spear1310_can1_device, + &spear1310_i2c1_device, };/* keyboard specific platform data */
arch/arm/mach-spear3xx/spear310_evb.c +5 -0
@@ -74,6 +74,11 @@ static struct amba_device *amba_devs[] __initdata = { &spear3xx_wdt_device,/* spear310 specific devices */ + &spear310_uart1_device, + &spear310_uart2_device, + &spear310_uart3_device, + &spear310_uart4_device, + &spear310_uart5_device, }; static struct platform_device *plat_devs[] __initdata = {
arch/arm/mach-spear3xx/spear320_evb.c +6 -0
@@ -67,11 +67,16 @@ static struct pmx_dev *pmx_devs[] = {static struct amba_device *amba_devs[]__initdata = {/* spear3xx specific devices */ &spear3xx_gpio_device, + &spear3xx_ssp0_device, &spear3xx_uart_device, &spear3xx_wdt_device,/* spear320 specific devices */ &spear320_clcd_device, + &spear320_ssp_device[0 ], + &spear320_ssp_device[1 ], + &spear320_uart1_device, + &spear320_uart2_device, };static struct platform_device *plat_devs[]__initdata = {
@@ -85,6 +90,7 @@ static struct platform_device *plat_devs[] __initdata = {/* spear320 specific devices */ &spear320_can0_device, &spear320_can1_device, + &spear320_emi_nor_device, &spear320_i2c1_device, &spear320_nand_device, &spear320_plgpio_device,
Signature · 1 line
1.7.3.4
PATCH v5 62/63 ST SPEAr: Adding information in Documentation/ and MAINTAINERS
In reply to Viresh KumarFrom: Shiraz Hashim <[email protected]>
--- Documentation/arm/SPEAr/overview.txt | 34 +++++++++++++++++++++++----------- MAINTAINERS | 6 ++++++ 2 files changed, 29 insertions(+), 11 deletions(-)
Documentation/arm/SPEAr/overview.txt +23 -11
@@ -9,8 +9,9 @@ Introduction The ST Microelectronics SPEAr range of ARM9/CortexA9 System-on-Chip CPUs are supported by the 'spear' platform of ARM Linux. Currently SPEAr300, - SPEAr310, SPEAr320 and SPEAr600 SOCs are supported. Support for the SPEAr13XX - series is in progress. + SPEAr310, SPEAr320, SPEAr600, SPEAr1300 and SPEAr1310 SOCs are supported. + SPEAr3XX and SPEAr6XX are based on ARM9 whereas SPEAr13XX is based on latest + ARM Cortex A9 CPUs. Hierarchy in SPEAr is as follows:
@@ -27,16 +28,25 @@ Introduction - SPEAr600_EVB (Evaluation Board) - SPEAr13XX (13XX SOC series, based on ARM CORTEXA9) - SPEAr1300 (SOC) + - SPEAr1300_EVB (Evaluation Board) + - SPEAr1310 (SOC) + - SPEAr1310_EVB (Evaluation Board) Configuration ------------- - A generic configuration is provided for each machine, and can be used as the + A generic configuration is provided for each machine family, and can be used as the default by - make spear600_defconfig - make spear300_defconfig - make spear310_defconfig - make spear320_defconfig + #make ARCH=arm spear13xx_defconfig + #make ARCH=arm spear3xx_defconfig + #make ARCH=arm spear6xx_defconfig + + Compilation + ----------- + + After applying default configuration, Linux kernel for SPEAr architecture + can be compiled as + #make ARCH=arm CROSS_COMPILE=arm-linux- uImage Layout ------
@@ -48,13 +58,15 @@ Introduction Each machine series have a directory with name arch/arm/mach-spear followed by series name. Like mach-spear3xx, mach-spear6xx and mach-spear13xx. - Common file for machines of spear3xx family is mach-spear3xx/spear3xx.c and for - spear6xx is mach-spear6xx/spear6xx.c. mach-spear* also contain soc/machine + Common file for machines of spear3xx family is mach-spear3xx/spear3xx.c, for + spear6xx is mach-spear6xx/spear6xx.c and similarly for spear13xx is + mach-spear13xx/spear13xx.c. mach-spear* also contain soc/machine specific files, like spear300.c, spear310.c, spear320.c and spear600.c. - mach-spear* also contains board specific files for each machine type. + Board specific files for each machine type is also contained in mach-spear* + folder. Document Author --------------- - Viresh Kumar, (c) 2010 ST Microelectronics + Viresh Kumar, Shiraz Hashim (c) 2010 ST Microelectronics
MAINTAINERS +6 -0
@@ -5802,6 +5802,12 @@ W: http://www.st.com/spear S: Maintained F: arch/arm/plat-spear/ +SPEAR13XX MACHINE SUPPORT +M: Shiraz Hashim <[email protected]> +W: http://www.st.com/spear +S: Maintained +F: arch/arm/mach-spear13xx/ + SPEAR3XX MACHINE SUPPORT M: Viresh Kumar <[email protected]> W: http://www.st.com/spear
Signature · 1 line
1.7.3.4
PATCH v5 63/63 ST SPEAr: Updating defconfigs
In reply to Viresh Kumar--- arch/arm/configs/spear13xx_defconfig | 78 ++++++++++++++++++++++++++++++--- arch/arm/configs/spear3xx_defconfig | 80 +++++++++++++++++++++++++++++++--- arch/arm/configs/spear6xx_defconfig | 72 ++++++++++++++++++++++++++++--- 3 files changed, 211 insertions(+), 19 deletions(-)
arch/arm/configs/spear13xx_defconfig +72 -6
@@ -10,31 +10,94 @@ CONFIG_PLAT_SPEAR=y CONFIG_ARCH_SPEAR13XX=y CONFIG_BOARD_SPEAR1300_EVB=y CONFIG_BOARD_SPEAR1310_EVB=y +CONFIG_PCI=y +CONFIG_PCI_MSI=y +CONFIG_PCIEPORTBUS=y +# CONFIG_PCIEAER is not set CONFIG_SMP=y CONFIG_NR_CPUS=2 CONFIG_AEABI=y +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_STAT_DETAILS=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y +CONFIG_VFP=y CONFIG_BINFMT_MISC=y +CONFIG_PM=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_IP_PNP_BOOTP=y +CONFIG_NET_IPIP=y +CONFIG_ARPD=y +# CONFIG_IPV6 is not set +# CONFIG_WIRELESS is not set CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y CONFIG_MTD=y CONFIG_MTD_CONCAT=y CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y +CONFIG_MTD_CFI=y +CONFIG_MTD_CFI_INTELEXT=y +CONFIG_MTD_CFI_STAA=y +CONFIG_MTD_PHYSMAP=y +CONFIG_MTD_M25P80=y +# CONFIG_M25PXX_USE_FAST_READ is not set +CONFIG_MTD_NAND=y +CONFIG_MTD_NAND_FSMC=y CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM_SIZE=16384 +CONFIG_SCSI=y +CONFIG_BLK_DEV_SD=y +CONFIG_CHR_DEV_ST=y +CONFIG_CHR_DEV_OSST=y +CONFIG_BLK_DEV_SR=y +CONFIG_CHR_DEV_SG=y +CONFIG_CHR_DEV_SCH=y +CONFIG_NETDEVICES=y +# CONFIG_WLAN is not set CONFIG_INPUT_FF_MEMLESS=y # CONFIG_INPUT_MOUSEDEV_PSAUX is not set -# CONFIG_INPUT_KEYBOARD is not set +CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_EVBUG=y +# CONFIG_KEYBOARD_ATKBD is not set +CONFIG_KEYBOARD_SPEAR=y # CONFIG_INPUT_MOUSE is not set CONFIG_SERIAL_AMBA_PL011=y CONFIG_SERIAL_AMBA_PL011_CONSOLE=y # CONFIG_LEGACY_PTYS is not set CONFIG_RAW_DRIVER=y CONFIG_MAX_RAW_DEVS=8192 +CONFIG_I2C=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_DESIGNWARE=y +CONFIG_SPI=y +CONFIG_SPI_PL022=y +CONFIG_SPI_SPIDEV=y +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_PL061=y # CONFIG_HWMON is not set # CONFIG_HID_SUPPORT is not set -# CONFIG_USB_SUPPORT is not set +CONFIG_USB=y +CONFIG_USB_EHCI_HCD=y +# CONFIG_USB_EHCI_TT_NEWSCHED is not set +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_STORAGE=y +CONFIG_USB_TEST=y +CONFIG_MMC=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_SPEAR=y +CONFIG_RTC_CLASS=y CONFIG_EXT2_FS=y CONFIG_EXT2_FS_XATTR=y CONFIG_EXT2_FS_SECURITY=y
@@ -42,16 +105,18 @@ CONFIG_EXT3_FS=y # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set CONFIG_EXT3_FS_SECURITY=y CONFIG_AUTOFS4_FS=m -CONFIG_MSDOS_FS=m -CONFIG_VFAT_FS=m +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y CONFIG_FAT_DEFAULT_IOCHARSET="ascii" CONFIG_TMPFS=y CONFIG_JFFS2_FS=y +CONFIG_NFS_FS=y +CONFIG_ROOT_NFS=y +# CONFIG_RPCSEC_GSS_KRB5 is not set CONFIG_PARTITION_ADVANCED=y -CONFIG_NLS=y CONFIG_NLS_DEFAULT="utf8" CONFIG_NLS_CODEPAGE_437=y -CONFIG_NLS_ASCII=m +CONFIG_NLS_ASCII=y CONFIG_MAGIC_SYSRQ=y CONFIG_DEBUG_FS=y CONFIG_DEBUG_KERNEL=y
@@ -59,3 +124,4 @@ CONFIG_DETECT_HUNG_TASK=y CONFIG_DEBUG_SPINLOCK=y CONFIG_DEBUG_SPINLOCK_SLEEP=y CONFIG_DEBUG_INFO=y +# CONFIG_ARM_UNWIND is not set
arch/arm/configs/spear3xx_defconfig +73 -7
116 lines not on this page · raw message
arch/arm/configs/spear6xx_defconfig +66 -6
106 lines not on this page · raw message
Signature · 1 line
1.7.3.4
v5 cover Updating SPEAr Support
In reply to Viresh KumarQuoted 4 lines · Viresh Kumar
Following set of patches:
- updates SPEAr3xx, 6xx support
- Adds support for SPEAr13xx
- Removes Multiple defconfigs per machine family
Hi Viresh,
I haven't been through the full series, just the ones I feel I can sensibly review, but feel free to add a
to the patches I've commented on if it helps.
Jamie
v5 cover Updating SPEAr Support
In reply to Viresh KumarQuoted 5 lines · Viresh KUMAR
Following set of patches:
- updates SPEAr3xx, 6xx support
- Adds support for SPEAr13xx
- Removes Multiple defconfigs per machine family
Quoted 14 lines
Changes since V4:
- Following patch is added
SPEAr: Defining IOMEM(x) and updating declaration ofMISC_BASE
- variables referring to register now have type void__iomem*, instead of u32 *
- usinglinux/gpio.hinstead ofmach/gpio.hin *evb files.
- return value ofclk_get(), andclk_get_sysare checked usingIS_ERR().
- unused routines removed fromheadsmp.S
- spear13*_pcie_port_is_host routines are declared static
-platsmp.cupdated according to review comments.
- Addedclk_round_rateroutine()and used it to check possible rate before callingcpufreq_notify_transitionincpufreq.c
- & removed before function names, while passing function pointer to other routines.
Russell,
Should I push these patches to tracker now ?
--
Viresh
v5 cover Updating SPEAr Support
Quoted 21 lines · viresh kumar
Quoted 5 lines · Viresh KUMAR
Following set of patches:
- updates SPEAr3xx, 6xx support
- Adds support for SPEAr13xx
- Removes Multiple defconfigs per machine familyQuoted 14 lines
Changes since V4:
- Following patch is added
SPEAr: Defining IOMEM(x) and updating declaration ofMISC_BASE
- variables referring to register now have type void__iomem*, instead of u32 *
- usinglinux/gpio.hinstead ofmach/gpio.hin *evb files.
- return value ofclk_get(), andclk_get_sysare checked usingIS_ERR().
- unused routines removed fromheadsmp.S
- spear13*_pcie_port_is_host routines are declared static
-platsmp.cupdated according to review comments.
- Addedclk_round_rateroutine()and used it to check possible rate before callingcpufreq_notify_transitionincpufreq.c
- & removed before function names, while passing function pointer to other routines.
Quoted 3 lines
Russell,
Should I push these patches to tracker now ?
I've not yet been through them. I only got part way through v4 before you posted v5.
v5 cover Updating SPEAr Support
Quoted 3 lines · Russell King - ARM Linux
Quoted 1 line
Quoted 1 line
Should I push these patches to tracker now ?
I've not yet been through them. I only got part way through v4 before you posted v5.
Russell,
Is there any further feedback on this patchset?
Signature · 1 line
viresh
v5 cover Updating SPEAr Support
Quoted 8 lines · viresh kumar
Quoted 3 lines · Russell King - ARM Linux
Quoted 1 line
Quoted 1 line
Should I push these patches to tracker now ?
I've not yet been through them. I only got part way through v4 before you posted v5.
Russell,
Is there any further feedback on this patchset?
No idea, I've still not looked at them. I don't know when I'll be able to look at them.
v5 cover Updating SPEAr Support
In reply to Viresh KumarQuoted 6 lines · Viresh Kumar
Following set of patches:
- updates SPEAr3xx, 6xx support
- Adds support for SPEAr13xx
- Removes Multiple defconfigs per machine familyC
I have reviewed all the spear13xx related patches. Please add
Stanley.
v5 cover Updating SPEAr Support
In reply to Viresh KumarI don't understand why people think that it's a good idea to post a patch series which adds new support and then has a whole series of patches which modify then modifies both new and old stuff.
It makes it a lot harder to apply, a lot harder to review, and all round is a bad idea.
The problem is that mixing it up in the way you've done means that it's impossible to apply the cleanup patches before the new support.
Another issue worth pointing out is that submission of patch series by email has to be done _carefully_ - which basically means slowly. The email system on this planet will randomly re-order messages - there is no guarantee that the order in which you send them is the order in which they're received at the remote end. If you want them to arrive in a certain order, you're out of luck.
You can help by not dumping 63 patches into the mail system within a few seconds or so, but leaving a greater period of time between each. The longer that period, the more likely they are to arrive in order - but it's something that will never be guaranteed.
As it is, I'm going to have to spend something like a few _hours_ over sorting out how to merge these Spear patches because they're all out of order and they're all interdependent.
That's another argument for not waiting until you have a huge patch set before sending stuff out - keep patch sets small and targetted to specific areas. For instance, with the Versatile updates which form a total of 21 individual patches, I split them up into one set of 10 patches which changed the way CLCD stuff was handled, and another separate set of 11 patches of platform specific stuff.
So, why aren't all the padmux changes together? Why aren't the clk API patches together?
And another thing: separate out the 'fixes' from the new developments. Things like the addition of UL to VMALLOC_END counts as a warning fix. Using readl_relaxed/writel_relaxed also counts as a fix as things in the decompressor break. As these are technically bug fixes, they go upstream faster than new work.
Bug fixes should _always_ be at the very start of any patch series, then cleanups, then new stuff.
In summary, I hate large patch sets. I tend to ignore large patch sets. I have very little motivation to review large patch sets. I have very little motivation to apply large patch sets. Don't create them in the first place. Spend time sorting the patches into smaller sets and things all round go much easier.
I'll work through what you've already submitted, but it will be a slow and erratic job.
v5 cover Updating SPEAr Support
Quoted 10 lines · Russell King - ARM Linux
I don't understand why people think that it's a good idea to post a patch series which adds new support and then has a whole series of patches which modify then modifies both new and old stuff.
It makes it a lot harder to apply, a lot harder to review, and all round is a bad idea.
The problem is that mixing it up in the way you've done means that it's impossible to apply the cleanup patches before the new support.
Yes, understood it well now. This will not happen again.
Quoted 7 lines
Another issue worth pointing out is that submission of patch series by email has to be done _carefully_ - which basically means slowly. The email system on this planet will randomly re-order messages - there is no guarantee that the order in which you send them is the order in which they're received at the remote end. If you want them to arrive in a certain order, you're out of luck.
Quoted 5 lines
You can help by not dumping 63 patches into the mail system within a few seconds or so, but leaving a greater period of time between each. The longer that period, the more likely they are to arrive in order - but it's something that will never be guaranteed.
As that is never guaranteed, can we have some other way to work out this issue? I hope the issue is regarding the correct ordering of patches, as you don't see the
numbering of these in the patch tracker? Is there anything more to it?
If this is the case, then may be we can send cover-letter along with patch series
mentioning correct order of patches in it, and keeping you in cc of cover-letter alone, so that
cover-letter is not lost by tracker, as it only takes patches.
Quoted 7 lines
That's another argument for not waiting until you have a huge patch set before sending stuff out - keep patch sets small and targetted to specific areas. For instance, with the Versatile updates which form a total of 21 individual patches, I split them up into one set of 10 patches which changed the way CLCD stuff was handled, and another separate set of 11 patches of platform specific stuff.
Ok.
Quoted 3 lines
So, why aren't all the padmux changes together? Why aren't the clk API patches together?
We didn't thought you will be required to do rework on this. And thought you will apply
this patch series as it is. But now as we see, you need to put extra efforts due to our
mistakes, we will not repeat them.
Quoted 9 lines
And another thing: separate out the 'fixes' from the new developments. Things like the addition of UL to
VMALLOC_ENDcounts as a warning fix. Using readl_relaxed/writel_relaxed also counts as a fix as things in the decompressor break. As these are technically bug fixes, they go upstream faster than new work.Bug fixes should _always_ be at the very start of any patch series, then cleanups, then new stuff.
Ok.
Quoted 9 lines
In summary, I hate large patch sets. I tend to ignore large patch sets. I have very little motivation to review large patch sets. I have very little motivation to apply large patch sets. Don't create them in the first place. Spend time sorting the patches into smaller sets and things all round go much easier.
I'll work through what you've already submitted, but it will be a slow and erratic job.
Sorry for that again!! And thanks for your effort and help.
--
viresh
v5 cover Updating SPEAr Support
In reply to Viresh KumarQuoted 4 lines · Viresh KUMAR
Following set of patches:
- updates SPEAr3xx, 6xx support
- Adds support for SPEAr13xx
- Removes Multiple defconfigs per machine family
Russell,
As suggested, i have broken down this large patchset to several patchsets. I will be sending them again to list for getting any further review comments.
I have broadly divided these into following patchsets.
- SPEAr3xx & SPEAr6xx Fixes (8)
- SPEAr3xx & SPEAr6xx: Single Image solution (10) and padmux updates (1)
- Adding SPEAr13xx support (10)
- Adding devices support for all spear machines (17)
- Clock Framework & CPU Freq Updates (3)
Signature · 1 line
viresh