Skip to content

Commit

Permalink
Merge tag 'davinci-for-v3.12/soc' of git://git.kernel.org/pub/scm/lin…
Browse files Browse the repository at this point in the history
…ux/kernel/git/nsekhar/linux-davinci into next/soc

From Sekhar Nori:

DaVinci SoC updates for v3.12
-----------------------------

This set of SoC updates contains changes to the
way UART clock is handled to enabled DT-boot to
obtain UART clock frequency instead of relying
on DT-binding being supplied. Similarly handling
of MDIO clock is fixed to make it easier to support
MDIO in DT-boot. Finally there is patch to remove
now unnecessary setting of wake-up capable flag for
RTC.

* tag 'davinci-for-v3.12/soc' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci:
  ARM: davinci: fix clock lookup for mdio device
  ARM: davinci: da8xx: remove hard coding of rtc device wakeup
  ARM: davinci: serial: remove davinci_serial_setup_clk()
  ARM: davinci: serial: get rid of davinci_uart_config
  ARM: davinci: da8xx: remove da8xx_uart_clk_enable
  ARM: davinci: uart: move to devid based clk_get

Signed-off-by: Kevin Hilman <khilman@linaro.org>
  • Loading branch information
Kevin Hilman committed Aug 22, 2013
2 parents 1ee64e4 + 46c1833 commit cee7e8b
Show file tree
Hide file tree
Showing 27 changed files with 272 additions and 201 deletions.
6 changes: 1 addition & 5 deletions arch/arm/mach-davinci/board-da830-evm.c
Original file line number Diff line number Diff line change
Expand Up @@ -185,10 +185,6 @@ static __init void da830_evm_usb_init(void)
__func__, ret);
}

static struct davinci_uart_config da830_evm_uart_config __initdata = {
.enabled_uarts = 0x7,
};

static const short da830_evm_mcasp1_pins[] = {
DA830_AHCLKX1, DA830_ACLKX1, DA830_AFSX1, DA830_AHCLKR1, DA830_AFSR1,
DA830_AMUTE1, DA830_AXR1_0, DA830_AXR1_1, DA830_AXR1_2, DA830_AXR1_5,
Expand Down Expand Up @@ -630,7 +626,7 @@ static __init void da830_evm_init(void)
pr_warning("da830_evm_init: watchdog registration failed: %d\n",
ret);

davinci_serial_init(&da830_evm_uart_config);
davinci_serial_init(da8xx_serial_device);
i2c_register_board_info(1, da830_evm_i2c_devices,
ARRAY_SIZE(da830_evm_i2c_devices));

Expand Down
6 changes: 1 addition & 5 deletions arch/arm/mach-davinci/board-da850-evm.c
Original file line number Diff line number Diff line change
Expand Up @@ -746,10 +746,6 @@ static struct davinci_i2c_platform_data da850_evm_i2c_0_pdata = {
.bus_delay = 0, /* usec */
};

static struct davinci_uart_config da850_evm_uart_config __initdata = {
.enabled_uarts = 0x7,
};

/* davinci da850 evm audio machine driver */
static u8 da850_iis_serializer_direction[] = {
INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE,
Expand Down Expand Up @@ -1494,7 +1490,7 @@ static __init void da850_evm_init(void)
__func__, ret);
}

davinci_serial_init(&da850_evm_uart_config);
davinci_serial_init(da8xx_serial_device);

i2c_register_board_info(1, da850_evm_i2c_devices,
ARRAY_SIZE(da850_evm_i2c_devices));
Expand Down
6 changes: 1 addition & 5 deletions arch/arm/mach-davinci/board-dm355-evm.c
Original file line number Diff line number Diff line change
Expand Up @@ -314,10 +314,6 @@ static struct platform_device *davinci_evm_devices[] __initdata = {
&davinci_nand_device,
};

static struct davinci_uart_config uart_config __initdata = {
.enabled_uarts = (1 << 0),
};

static void __init dm355_evm_map_io(void)
{
dm355_init();
Expand Down Expand Up @@ -393,7 +389,7 @@ static __init void dm355_evm_init(void)
platform_add_devices(davinci_evm_devices,
ARRAY_SIZE(davinci_evm_devices));
evm_init_i2c();
davinci_serial_init(&uart_config);
davinci_serial_init(dm355_serial_device);

/* NOTE: NAND flash timings set by the UBL are slower than
* needed by MT29F16G08FAA chips ... EMIF.A1CR is 0x40400204
Expand Down
6 changes: 1 addition & 5 deletions arch/arm/mach-davinci/board-dm355-leopard.c
Original file line number Diff line number Diff line change
Expand Up @@ -172,10 +172,6 @@ static struct platform_device *davinci_leopard_devices[] __initdata = {
&davinci_nand_device,
};

static struct davinci_uart_config uart_config __initdata = {
.enabled_uarts = (1 << 0),
};

static void __init dm355_leopard_map_io(void)
{
dm355_init();
Expand Down Expand Up @@ -251,7 +247,7 @@ static __init void dm355_leopard_init(void)
platform_add_devices(davinci_leopard_devices,
ARRAY_SIZE(davinci_leopard_devices));
leopard_init_i2c();
davinci_serial_init(&uart_config);
davinci_serial_init(dm355_serial_device);

/* NOTE: NAND flash timings set by the UBL are slower than
* needed by MT29F16G08FAA chips ... EMIF.A1CR is 0x40400204
Expand Down
6 changes: 1 addition & 5 deletions arch/arm/mach-davinci/board-dm365-evm.c
Original file line number Diff line number Diff line change
Expand Up @@ -718,10 +718,6 @@ static void __init evm_init_cpld(void)
/* REVISIT export switches: NTSC/PAL (SW5.6), EXTRA1 (SW5.2), etc */
}

static struct davinci_uart_config uart_config __initdata = {
.enabled_uarts = (1 << 0),
};

static void __init dm365_evm_map_io(void)
{
dm365_init();
Expand All @@ -748,7 +744,7 @@ static struct spi_board_info dm365_evm_spi_info[] __initconst = {
static __init void dm365_evm_init(void)
{
evm_init_i2c();
davinci_serial_init(&uart_config);
davinci_serial_init(dm365_serial_device);

dm365evm_emac_configure();
dm365evm_mmc_configure();
Expand Down
6 changes: 1 addition & 5 deletions arch/arm/mach-davinci/board-dm644x-evm.c
Original file line number Diff line number Diff line change
Expand Up @@ -726,10 +726,6 @@ static struct platform_device *davinci_evm_devices[] __initdata = {
&rtc_dev,
};

static struct davinci_uart_config uart_config __initdata = {
.enabled_uarts = (1 << 0),
};

static void __init
davinci_evm_map_io(void)
{
Expand Down Expand Up @@ -791,7 +787,7 @@ static __init void davinci_evm_init(void)
davinci_setup_mmc(0, &dm6446evm_mmc_config);
dm644x_init_video(&dm644xevm_capture_cfg, &dm644xevm_display_cfg);

davinci_serial_init(&uart_config);
davinci_serial_init(dm644x_serial_device);
dm644x_init_asp(&dm644x_evm_snd_data);

/* irlml6401 switches over 1A, in under 8 msec */
Expand Down
6 changes: 1 addition & 5 deletions arch/arm/mach-davinci/board-dm646x-evm.c
Original file line number Diff line number Diff line change
Expand Up @@ -749,10 +749,6 @@ static void __init davinci_map_io(void)
cdce_clk_init();
}

static struct davinci_uart_config uart_config __initdata = {
.enabled_uarts = (1 << 0),
};

#define DM646X_EVM_PHY_ID "davinci_mdio-0:01"
/*
* The following EDMA channels/slots are not being used by drivers (for
Expand Down Expand Up @@ -792,7 +788,7 @@ static __init void evm_init(void)
struct davinci_soc_info *soc_info = &davinci_soc_info;

evm_init_i2c();
davinci_serial_init(&uart_config);
davinci_serial_init(dm646x_serial_device);
dm646x_init_mcasp0(&dm646x_evm_snd_data[0]);
dm646x_init_mcasp1(&dm646x_evm_snd_data[1]);

Expand Down
6 changes: 1 addition & 5 deletions arch/arm/mach-davinci/board-mityomapl138.c
Original file line number Diff line number Diff line change
Expand Up @@ -434,10 +434,6 @@ static void __init mityomapl138_setup_nand(void)
ARRAY_SIZE(mityomapl138_devices));
}

static struct davinci_uart_config mityomapl138_uart_config __initdata = {
.enabled_uarts = 0x7,
};

static const short mityomap_mii_pins[] = {
DA850_MII_TXEN, DA850_MII_TXCLK, DA850_MII_COL, DA850_MII_TXD_3,
DA850_MII_TXD_2, DA850_MII_TXD_1, DA850_MII_TXD_0, DA850_MII_RXER,
Expand Down Expand Up @@ -517,7 +513,7 @@ static void __init mityomapl138_init(void)
if (ret)
pr_warning("watchdog registration failed: %d\n", ret);

davinci_serial_init(&mityomapl138_uart_config);
davinci_serial_init(da8xx_serial_device);

ret = da8xx_register_i2c(0, &mityomap_i2c_0_pdata);
if (ret)
Expand Down
6 changes: 1 addition & 5 deletions arch/arm/mach-davinci/board-neuros-osd2.c
Original file line number Diff line number Diff line change
Expand Up @@ -153,10 +153,6 @@ static struct platform_device *davinci_ntosd2_devices[] __initdata = {
&ntosd2_leds_dev,
};

static struct davinci_uart_config uart_config __initdata = {
.enabled_uarts = (1 << 0),
};

static void __init davinci_ntosd2_map_io(void)
{
dm644x_init();
Expand Down Expand Up @@ -197,7 +193,7 @@ static __init void davinci_ntosd2_init(void)
platform_add_devices(davinci_ntosd2_devices,
ARRAY_SIZE(davinci_ntosd2_devices));

davinci_serial_init(&uart_config);
davinci_serial_init(dm644x_serial_device);
dm644x_init_asp(&dm644x_ntosd2_snd_data);

soc_info->emac_pdata->phy_id = NEUROS_OSD2_PHY_ID;
Expand Down
6 changes: 1 addition & 5 deletions arch/arm/mach-davinci/board-omapl138-hawk.c
Original file line number Diff line number Diff line change
Expand Up @@ -286,15 +286,11 @@ static __init void omapl138_hawk_usb_init(void)
gpio_free(DA850_USB1_VBUS_PIN);
}

static struct davinci_uart_config omapl138_hawk_uart_config __initdata = {
.enabled_uarts = 0x7,
};

static __init void omapl138_hawk_init(void)
{
int ret;

davinci_serial_init(&omapl138_hawk_uart_config);
davinci_serial_init(da8xx_serial_device);

omapl138_hawk_config_emac();

Expand Down
6 changes: 1 addition & 5 deletions arch/arm/mach-davinci/board-sffsdr.c
Original file line number Diff line number Diff line change
Expand Up @@ -125,10 +125,6 @@ static struct platform_device *davinci_sffsdr_devices[] __initdata = {
&davinci_sffsdr_nandflash_device,
};

static struct davinci_uart_config uart_config __initdata = {
.enabled_uarts = (1 << 0),
};

static void __init davinci_sffsdr_map_io(void)
{
dm644x_init();
Expand All @@ -141,7 +137,7 @@ static __init void davinci_sffsdr_init(void)
platform_add_devices(davinci_sffsdr_devices,
ARRAY_SIZE(davinci_sffsdr_devices));
sffsdr_init_i2c();
davinci_serial_init(&uart_config);
davinci_serial_init(dm644x_serial_device);
soc_info->emac_pdata->phy_id = SFFSDR_PHY_ID;
davinci_setup_usb(0, 0); /* We support only peripheral mode. */

Expand Down
8 changes: 4 additions & 4 deletions arch/arm/mach-davinci/da830.c
Original file line number Diff line number Diff line change
Expand Up @@ -395,9 +395,9 @@ static struct clk_lookup da830_clks[] = {
CLK(NULL, "tptc0", &tptc0_clk),
CLK(NULL, "tptc1", &tptc1_clk),
CLK("da830-mmc.0", NULL, &mmcsd_clk),
CLK(NULL, "uart0", &uart0_clk),
CLK(NULL, "uart1", &uart1_clk),
CLK(NULL, "uart2", &uart2_clk),
CLK("serial8250.0", NULL, &uart0_clk),
CLK("serial8250.1", NULL, &uart1_clk),
CLK("serial8250.2", NULL, &uart2_clk),
CLK("spi_davinci.0", NULL, &spi0_clk),
CLK("spi_davinci.1", NULL, &spi1_clk),
CLK(NULL, "ecap0", &ecap0_clk),
Expand All @@ -417,6 +417,7 @@ static struct clk_lookup da830_clks[] = {
CLK(NULL, "aintc", &aintc_clk),
CLK(NULL, "secu_mgr", &secu_mgr_clk),
CLK("davinci_emac.1", NULL, &emac_clk),
CLK("davinci_mdio.0", "fck", &emac_clk),
CLK(NULL, "gpio", &gpio_clk),
CLK("i2c_davinci.2", NULL, &i2c1_clk),
CLK(NULL, "usb11", &usb11_clk),
Expand Down Expand Up @@ -1199,7 +1200,6 @@ static struct davinci_soc_info davinci_soc_info_da830 = {
.gpio_base = DA8XX_GPIO_BASE,
.gpio_num = 128,
.gpio_irq = IRQ_DA8XX_GPIO0,
.serial_dev = &da8xx_serial_device,
.emac_pdata = &da8xx_emac_pdata,
};

Expand Down
8 changes: 4 additions & 4 deletions arch/arm/mach-davinci/da850.c
Original file line number Diff line number Diff line change
Expand Up @@ -451,16 +451,17 @@ static struct clk_lookup da850_clks[] = {
CLK(NULL, "tpcc1", &tpcc1_clk),
CLK(NULL, "tptc2", &tptc2_clk),
CLK("pruss_uio", "pruss", &pruss_clk),
CLK(NULL, "uart0", &uart0_clk),
CLK(NULL, "uart1", &uart1_clk),
CLK(NULL, "uart2", &uart2_clk),
CLK("serial8250.0", NULL, &uart0_clk),
CLK("serial8250.1", NULL, &uart1_clk),
CLK("serial8250.2", NULL, &uart2_clk),
CLK(NULL, "aintc", &aintc_clk),
CLK(NULL, "gpio", &gpio_clk),
CLK("i2c_davinci.2", NULL, &i2c1_clk),
CLK(NULL, "emif3", &emif3_clk),
CLK(NULL, "arm", &arm_clk),
CLK(NULL, "rmii", &rmii_clk),
CLK("davinci_emac.1", NULL, &emac_clk),
CLK("davinci_mdio.0", "fck", &emac_clk),
CLK("davinci-mcasp.0", NULL, &mcasp_clk),
CLK("da8xx_lcdc.0", "fck", &lcdc_clk),
CLK("da830-mmc.0", NULL, &mmcsd0_clk),
Expand Down Expand Up @@ -1301,7 +1302,6 @@ static struct davinci_soc_info davinci_soc_info_da850 = {
.gpio_base = DA8XX_GPIO_BASE,
.gpio_num = 144,
.gpio_irq = IRQ_DA8XX_GPIO0,
.serial_dev = &da8xx_serial_device,
.emac_pdata = &da8xx_emac_pdata,
.sram_dma = DA8XX_SHARED_RAM_BASE,
.sram_len = SZ_128K,
Expand Down
11 changes: 3 additions & 8 deletions arch/arm/mach-davinci/da8xx-dt.c
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,6 @@

#define DA8XX_NUM_UARTS 3

static void __init da8xx_uart_clk_enable(void)
{
int i;
for (i = 0; i < DA8XX_NUM_UARTS; i++)
davinci_serial_setup_clk(i, NULL);
}

static struct of_device_id da8xx_irq_match[] __initdata = {
{ .compatible = "ti,cp-intc", .data = cp_intc_of_init, },
{ }
Expand All @@ -47,6 +40,9 @@ static struct of_dev_auxdata da850_auxdata_lookup[] __initdata = {
OF_DEV_AUXDATA("ti,da850-ecap", 0x01f07000, "ecap", NULL),
OF_DEV_AUXDATA("ti,da850-ecap", 0x01f08000, "ecap", NULL),
OF_DEV_AUXDATA("ti,da830-spi", 0x01f0e000, "spi_davinci.1", NULL),
OF_DEV_AUXDATA("ns16550a", 0x01c42000, "serial8250.0", NULL),
OF_DEV_AUXDATA("ns16550a", 0x01d0c000, "serial8250.1", NULL),
OF_DEV_AUXDATA("ns16550a", 0x01d0d000, "serial8250.2", NULL),
{}
};

Expand All @@ -57,7 +53,6 @@ static void __init da850_init_machine(void)
of_platform_populate(NULL, of_default_bus_match_table,
da850_auxdata_lookup, NULL);

da8xx_uart_clk_enable();
}

static const char *da850_boards_compat[] __initdata = {
Expand Down
5 changes: 5 additions & 0 deletions arch/arm/mach-davinci/davinci.h
Original file line number Diff line number Diff line change
Expand Up @@ -106,4 +106,9 @@ int dm646x_init_edma(struct edma_rsv_info *rsv);
void dm646x_video_init(void);
void dm646x_setup_vpif(struct vpif_display_config *,
struct vpif_capture_config *);

extern struct platform_device dm365_serial_device[];
extern struct platform_device dm355_serial_device[];
extern struct platform_device dm644x_serial_device[];
extern struct platform_device dm646x_serial_device[];
#endif /*__DAVINCI_H */
Loading

0 comments on commit cee7e8b

Please sign in to comment.