Loading arch/arm/mach-s3c64xx/clock.c +1 −1 Original line number Diff line number Diff line Loading @@ -695,7 +695,7 @@ static struct clksrc_clk clksrcs[] = { }, { .clk = { .name = "audio-bus", .id = -1, /* There's only one IISv4 port */ .id = 2, .ctrlbit = S3C6410_CLKCON_SCLK_AUDIO2, .enable = s3c64xx_sclk_ctrl, }, Loading arch/arm/mach-s3c64xx/dev-audio.c +34 −26 Original line number Diff line number Diff line Loading @@ -22,7 +22,12 @@ #include <plat/audio.h> #include <plat/gpio-cfg.h> static int s3c64xx_i2sv3_cfg_gpio(struct platform_device *pdev) static const char *rclksrc[] = { [0] = "iis", [1] = "audio-bus", }; static int s3c64xx_i2s_cfg_gpio(struct platform_device *pdev) { unsigned int base; Loading @@ -33,6 +38,12 @@ static int s3c64xx_i2sv3_cfg_gpio(struct platform_device *pdev) case 1: base = S3C64XX_GPE(0); break; case 2: s3c_gpio_cfgpin(S3C64XX_GPC(4), S3C_GPIO_SFN(5)); s3c_gpio_cfgpin(S3C64XX_GPC(5), S3C_GPIO_SFN(5)); s3c_gpio_cfgpin(S3C64XX_GPC(7), S3C_GPIO_SFN(5)); s3c_gpio_cfgpin_range(S3C64XX_GPH(6), 4, S3C_GPIO_SFN(5)); return 0; default: printk(KERN_DEBUG "Invalid I2S Controller number: %d\n", pdev->id); Loading @@ -44,16 +55,6 @@ static int s3c64xx_i2sv3_cfg_gpio(struct platform_device *pdev) return 0; } static int s3c64xx_i2sv4_cfg_gpio(struct platform_device *pdev) { s3c_gpio_cfgpin(S3C64XX_GPC(4), S3C_GPIO_SFN(5)); s3c_gpio_cfgpin(S3C64XX_GPC(5), S3C_GPIO_SFN(5)); s3c_gpio_cfgpin(S3C64XX_GPC(7), S3C_GPIO_SFN(5)); s3c_gpio_cfgpin_range(S3C64XX_GPH(6), 4, S3C_GPIO_SFN(5)); return 0; } static struct resource s3c64xx_iis0_resource[] = { [0] = { .start = S3C64XX_PA_IIS0, Loading @@ -72,17 +73,22 @@ static struct resource s3c64xx_iis0_resource[] = { }, }; static struct s3c_audio_pdata s3c_i2s0_pdata = { .cfg_gpio = s3c64xx_i2sv3_cfg_gpio, static struct s3c_audio_pdata i2sv3_pdata = { .cfg_gpio = s3c64xx_i2s_cfg_gpio, .type = { .i2s = { .src_clk = rclksrc, }, }, }; struct platform_device s3c64xx_device_iis0 = { .name = "s3c64xx-iis", .name = "samsung-i2s", .id = 0, .num_resources = ARRAY_SIZE(s3c64xx_iis0_resource), .resource = s3c64xx_iis0_resource, .dev = { .platform_data = &s3c_i2s0_pdata, .platform_data = &i2sv3_pdata, }, }; EXPORT_SYMBOL(s3c64xx_device_iis0); Loading @@ -105,17 +111,13 @@ static struct resource s3c64xx_iis1_resource[] = { }, }; static struct s3c_audio_pdata s3c_i2s1_pdata = { .cfg_gpio = s3c64xx_i2sv3_cfg_gpio, }; struct platform_device s3c64xx_device_iis1 = { .name = "s3c64xx-iis", .name = "samsung-i2s", .id = 1, .num_resources = ARRAY_SIZE(s3c64xx_iis1_resource), .resource = s3c64xx_iis1_resource, .dev = { .platform_data = &s3c_i2s1_pdata, .platform_data = &i2sv3_pdata, }, }; EXPORT_SYMBOL(s3c64xx_device_iis1); Loading @@ -138,17 +140,23 @@ static struct resource s3c64xx_iisv4_resource[] = { }, }; static struct s3c_audio_pdata s3c_i2sv4_pdata = { .cfg_gpio = s3c64xx_i2sv4_cfg_gpio, static struct s3c_audio_pdata i2sv4_pdata = { .cfg_gpio = s3c64xx_i2s_cfg_gpio, .type = { .i2s = { .quirks = QUIRK_PRI_6CHAN, .src_clk = rclksrc, }, }, }; struct platform_device s3c64xx_device_iisv4 = { .name = "s3c64xx-iis-v4", .id = -1, .name = "samsung-i2s", .id = 2, .num_resources = ARRAY_SIZE(s3c64xx_iisv4_resource), .resource = s3c64xx_iisv4_resource, .dev = { .platform_data = &s3c_i2sv4_pdata, .platform_data = &i2sv4_pdata, }, }; EXPORT_SYMBOL(s3c64xx_device_iisv4); Loading arch/arm/mach-s5p6442/dev-audio.c +37 −7 Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ static int s5p6442_cfg_i2s(struct platform_device *pdev) base = S5P6442_GPC1(0); break; case -1: case 0: base = S5P6442_GPC0(0); break; Loading @@ -42,8 +42,19 @@ static int s5p6442_cfg_i2s(struct platform_device *pdev) return 0; } static struct s3c_audio_pdata s3c_i2s_pdata = { static const char *rclksrc_v35[] = { [0] = "busclk", [1] = "i2sclk", }; static struct s3c_audio_pdata i2sv35_pdata = { .cfg_gpio = s5p6442_cfg_i2s, .type = { .i2s = { .quirks = QUIRK_SEC_DAI | QUIRK_NEED_RSTCLR, .src_clk = rclksrc_v35, }, }, }; static struct resource s5p6442_iis0_resource[] = { Loading @@ -62,15 +73,34 @@ static struct resource s5p6442_iis0_resource[] = { .end = DMACH_I2S0_RX, .flags = IORESOURCE_DMA, }, [3] = { .start = DMACH_I2S0S_TX, .end = DMACH_I2S0S_TX, .flags = IORESOURCE_DMA, }, }; struct platform_device s5p6442_device_iis0 = { .name = "s3c64xx-iis-v4", .id = -1, .name = "samsung-i2s", .id = 0, .num_resources = ARRAY_SIZE(s5p6442_iis0_resource), .resource = s5p6442_iis0_resource, .dev = { .platform_data = &s3c_i2s_pdata, .platform_data = &i2sv35_pdata, }, }; static const char *rclksrc_v3[] = { [0] = "iis", [1] = "sclk_audio", }; static struct s3c_audio_pdata i2sv3_pdata = { .cfg_gpio = s5p6442_cfg_i2s, .type = { .i2s = { .src_clk = rclksrc_v3, }, }, }; Loading @@ -93,12 +123,12 @@ static struct resource s5p6442_iis1_resource[] = { }; struct platform_device s5p6442_device_iis1 = { .name = "s3c64xx-iis", .name = "samsung-i2s", .id = 1, .num_resources = ARRAY_SIZE(s5p6442_iis1_resource), .resource = s5p6442_iis1_resource, .dev = { .platform_data = &s3c_i2s_pdata, .platform_data = &i2sv3_pdata, }, }; Loading arch/arm/mach-s5p64x0/clock-s5p6440.c +1 −1 Original line number Diff line number Diff line Loading @@ -261,7 +261,7 @@ static struct clk init_clocks_disable[] = { .enable = s5p64x0_pclk_ctrl, .ctrlbit = (1 << 25), }, { .name = "i2s_v40", .name = "iis", .id = 0, .parent = &clk_pclk_low.clk, .enable = s5p64x0_pclk_ctrl, Loading arch/arm/mach-s5p64x0/clock-s5p6450.c +1 −1 Original line number Diff line number Diff line Loading @@ -256,7 +256,7 @@ static struct clk init_clocks_disable[] = { .ctrlbit = (1 << 22), }, { .name = "iis", .id = -1, .id = 0, .parent = &clk_pclk_low.clk, .enable = s5p64x0_pclk_ctrl, .ctrlbit = (1 << 26), Loading Loading
arch/arm/mach-s3c64xx/clock.c +1 −1 Original line number Diff line number Diff line Loading @@ -695,7 +695,7 @@ static struct clksrc_clk clksrcs[] = { }, { .clk = { .name = "audio-bus", .id = -1, /* There's only one IISv4 port */ .id = 2, .ctrlbit = S3C6410_CLKCON_SCLK_AUDIO2, .enable = s3c64xx_sclk_ctrl, }, Loading
arch/arm/mach-s3c64xx/dev-audio.c +34 −26 Original line number Diff line number Diff line Loading @@ -22,7 +22,12 @@ #include <plat/audio.h> #include <plat/gpio-cfg.h> static int s3c64xx_i2sv3_cfg_gpio(struct platform_device *pdev) static const char *rclksrc[] = { [0] = "iis", [1] = "audio-bus", }; static int s3c64xx_i2s_cfg_gpio(struct platform_device *pdev) { unsigned int base; Loading @@ -33,6 +38,12 @@ static int s3c64xx_i2sv3_cfg_gpio(struct platform_device *pdev) case 1: base = S3C64XX_GPE(0); break; case 2: s3c_gpio_cfgpin(S3C64XX_GPC(4), S3C_GPIO_SFN(5)); s3c_gpio_cfgpin(S3C64XX_GPC(5), S3C_GPIO_SFN(5)); s3c_gpio_cfgpin(S3C64XX_GPC(7), S3C_GPIO_SFN(5)); s3c_gpio_cfgpin_range(S3C64XX_GPH(6), 4, S3C_GPIO_SFN(5)); return 0; default: printk(KERN_DEBUG "Invalid I2S Controller number: %d\n", pdev->id); Loading @@ -44,16 +55,6 @@ static int s3c64xx_i2sv3_cfg_gpio(struct platform_device *pdev) return 0; } static int s3c64xx_i2sv4_cfg_gpio(struct platform_device *pdev) { s3c_gpio_cfgpin(S3C64XX_GPC(4), S3C_GPIO_SFN(5)); s3c_gpio_cfgpin(S3C64XX_GPC(5), S3C_GPIO_SFN(5)); s3c_gpio_cfgpin(S3C64XX_GPC(7), S3C_GPIO_SFN(5)); s3c_gpio_cfgpin_range(S3C64XX_GPH(6), 4, S3C_GPIO_SFN(5)); return 0; } static struct resource s3c64xx_iis0_resource[] = { [0] = { .start = S3C64XX_PA_IIS0, Loading @@ -72,17 +73,22 @@ static struct resource s3c64xx_iis0_resource[] = { }, }; static struct s3c_audio_pdata s3c_i2s0_pdata = { .cfg_gpio = s3c64xx_i2sv3_cfg_gpio, static struct s3c_audio_pdata i2sv3_pdata = { .cfg_gpio = s3c64xx_i2s_cfg_gpio, .type = { .i2s = { .src_clk = rclksrc, }, }, }; struct platform_device s3c64xx_device_iis0 = { .name = "s3c64xx-iis", .name = "samsung-i2s", .id = 0, .num_resources = ARRAY_SIZE(s3c64xx_iis0_resource), .resource = s3c64xx_iis0_resource, .dev = { .platform_data = &s3c_i2s0_pdata, .platform_data = &i2sv3_pdata, }, }; EXPORT_SYMBOL(s3c64xx_device_iis0); Loading @@ -105,17 +111,13 @@ static struct resource s3c64xx_iis1_resource[] = { }, }; static struct s3c_audio_pdata s3c_i2s1_pdata = { .cfg_gpio = s3c64xx_i2sv3_cfg_gpio, }; struct platform_device s3c64xx_device_iis1 = { .name = "s3c64xx-iis", .name = "samsung-i2s", .id = 1, .num_resources = ARRAY_SIZE(s3c64xx_iis1_resource), .resource = s3c64xx_iis1_resource, .dev = { .platform_data = &s3c_i2s1_pdata, .platform_data = &i2sv3_pdata, }, }; EXPORT_SYMBOL(s3c64xx_device_iis1); Loading @@ -138,17 +140,23 @@ static struct resource s3c64xx_iisv4_resource[] = { }, }; static struct s3c_audio_pdata s3c_i2sv4_pdata = { .cfg_gpio = s3c64xx_i2sv4_cfg_gpio, static struct s3c_audio_pdata i2sv4_pdata = { .cfg_gpio = s3c64xx_i2s_cfg_gpio, .type = { .i2s = { .quirks = QUIRK_PRI_6CHAN, .src_clk = rclksrc, }, }, }; struct platform_device s3c64xx_device_iisv4 = { .name = "s3c64xx-iis-v4", .id = -1, .name = "samsung-i2s", .id = 2, .num_resources = ARRAY_SIZE(s3c64xx_iisv4_resource), .resource = s3c64xx_iisv4_resource, .dev = { .platform_data = &s3c_i2sv4_pdata, .platform_data = &i2sv4_pdata, }, }; EXPORT_SYMBOL(s3c64xx_device_iisv4); Loading
arch/arm/mach-s5p6442/dev-audio.c +37 −7 Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ static int s5p6442_cfg_i2s(struct platform_device *pdev) base = S5P6442_GPC1(0); break; case -1: case 0: base = S5P6442_GPC0(0); break; Loading @@ -42,8 +42,19 @@ static int s5p6442_cfg_i2s(struct platform_device *pdev) return 0; } static struct s3c_audio_pdata s3c_i2s_pdata = { static const char *rclksrc_v35[] = { [0] = "busclk", [1] = "i2sclk", }; static struct s3c_audio_pdata i2sv35_pdata = { .cfg_gpio = s5p6442_cfg_i2s, .type = { .i2s = { .quirks = QUIRK_SEC_DAI | QUIRK_NEED_RSTCLR, .src_clk = rclksrc_v35, }, }, }; static struct resource s5p6442_iis0_resource[] = { Loading @@ -62,15 +73,34 @@ static struct resource s5p6442_iis0_resource[] = { .end = DMACH_I2S0_RX, .flags = IORESOURCE_DMA, }, [3] = { .start = DMACH_I2S0S_TX, .end = DMACH_I2S0S_TX, .flags = IORESOURCE_DMA, }, }; struct platform_device s5p6442_device_iis0 = { .name = "s3c64xx-iis-v4", .id = -1, .name = "samsung-i2s", .id = 0, .num_resources = ARRAY_SIZE(s5p6442_iis0_resource), .resource = s5p6442_iis0_resource, .dev = { .platform_data = &s3c_i2s_pdata, .platform_data = &i2sv35_pdata, }, }; static const char *rclksrc_v3[] = { [0] = "iis", [1] = "sclk_audio", }; static struct s3c_audio_pdata i2sv3_pdata = { .cfg_gpio = s5p6442_cfg_i2s, .type = { .i2s = { .src_clk = rclksrc_v3, }, }, }; Loading @@ -93,12 +123,12 @@ static struct resource s5p6442_iis1_resource[] = { }; struct platform_device s5p6442_device_iis1 = { .name = "s3c64xx-iis", .name = "samsung-i2s", .id = 1, .num_resources = ARRAY_SIZE(s5p6442_iis1_resource), .resource = s5p6442_iis1_resource, .dev = { .platform_data = &s3c_i2s_pdata, .platform_data = &i2sv3_pdata, }, }; Loading
arch/arm/mach-s5p64x0/clock-s5p6440.c +1 −1 Original line number Diff line number Diff line Loading @@ -261,7 +261,7 @@ static struct clk init_clocks_disable[] = { .enable = s5p64x0_pclk_ctrl, .ctrlbit = (1 << 25), }, { .name = "i2s_v40", .name = "iis", .id = 0, .parent = &clk_pclk_low.clk, .enable = s5p64x0_pclk_ctrl, Loading
arch/arm/mach-s5p64x0/clock-s5p6450.c +1 −1 Original line number Diff line number Diff line Loading @@ -256,7 +256,7 @@ static struct clk init_clocks_disable[] = { .ctrlbit = (1 << 22), }, { .name = "iis", .id = -1, .id = 0, .parent = &clk_pclk_low.clk, .enable = s5p64x0_pclk_ctrl, .ctrlbit = (1 << 26), Loading