diff options
Diffstat (limited to 'target/linux/xburst')
17 files changed, 44 insertions, 166 deletions
diff --git a/target/linux/xburst/Makefile b/target/linux/xburst/Makefile index 546c3e40de..d0e8ed60db 100644 --- a/target/linux/xburst/Makefile +++ b/target/linux/xburst/Makefile @@ -12,7 +12,7 @@ BOARDNAME:=Ingenic XBurst FEATURES:=targz ubifs audio SUBTARGETS:=qi_lb60 n516 n526 id800wt -LINUX_VERSION:=3.10.1 +LINUX_VERSION:=3.10.3 DEVICE_TYPE=other diff --git a/target/linux/xburst/patches-3.10/001-ubi-Read-only-the-vid-header-instead-of-the-whole-pa.patch b/target/linux/xburst/patches-3.10/001-ubi-Read-only-the-vid-header-instead-of-the-whole-pa.patch index 15d90bea4f..5991635e6f 100644 --- a/target/linux/xburst/patches-3.10/001-ubi-Read-only-the-vid-header-instead-of-the-whole-pa.patch +++ b/target/linux/xburst/patches-3.10/001-ubi-Read-only-the-vid-header-instead-of-the-whole-pa.patch @@ -9,11 +9,9 @@ Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> drivers/mtd/ubi/io.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/drivers/mtd/ubi/io.c b/drivers/mtd/ubi/io.c -index bf79def..bc82962 100644 --- a/drivers/mtd/ubi/io.c +++ b/drivers/mtd/ubi/io.c -@@ -1019,7 +1019,7 @@ int ubi_io_read_vid_hdr(struct ubi_device *ubi, int pnum, +@@ -1019,7 +1019,7 @@ int ubi_io_read_vid_hdr(struct ubi_devic p = (char *)vid_hdr - ubi->vid_hdr_shift; read_err = ubi_io_read(ubi, p, pnum, ubi->vid_hdr_aloffset, @@ -22,6 +20,3 @@ index bf79def..bc82962 100644 if (read_err && read_err != UBI_IO_BITFLIPS && !mtd_is_eccerr(read_err)) return read_err; --- -1.7.10.4 - diff --git a/target/linux/xburst/patches-3.10/002-NAND-Optimize-NAND_ECC_HW_OOB_FIRST-read.patch b/target/linux/xburst/patches-3.10/002-NAND-Optimize-NAND_ECC_HW_OOB_FIRST-read.patch index da951dcbb9..57f53b7ab1 100644 --- a/target/linux/xburst/patches-3.10/002-NAND-Optimize-NAND_ECC_HW_OOB_FIRST-read.patch +++ b/target/linux/xburst/patches-3.10/002-NAND-Optimize-NAND_ECC_HW_OOB_FIRST-read.patch @@ -10,11 +10,9 @@ Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> drivers/mtd/nand/nand_base.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) -diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c -index dfcd0a5..287c433 100644 --- a/drivers/mtd/nand/nand_base.c +++ b/drivers/mtd/nand/nand_base.c -@@ -1278,9 +1278,16 @@ static int nand_read_page_hwecc_oob_first(struct mtd_info *mtd, +@@ -1278,9 +1278,16 @@ static int nand_read_page_hwecc_oob_firs unsigned int max_bitflips = 0; /* Read the OOB area first */ @@ -34,7 +32,7 @@ index dfcd0a5..287c433 100644 for (i = 0; i < chip->ecc.total; i++) ecc_code[i] = chip->oob_poi[eccpos[i]]; -@@ -1455,7 +1462,9 @@ static int nand_do_read_ops(struct mtd_info *mtd, loff_t from, +@@ -1455,7 +1462,9 @@ static int nand_do_read_ops(struct mtd_i if (realpage != chip->pagebuf || oob) { bufpoi = aligned ? buf : chip->buffers->databuf; @@ -45,6 +43,3 @@ index dfcd0a5..287c433 100644 /* * Now read the page into the buffer. Absent an error, --- -1.7.10.4 - diff --git a/target/linux/xburst/patches-3.10/003-NAND-Add-support-for-subpage-reads-for-NAND_ECC_HW_O.patch b/target/linux/xburst/patches-3.10/003-NAND-Add-support-for-subpage-reads-for-NAND_ECC_HW_O.patch index 2e67ad91f9..1754de71b6 100644 --- a/target/linux/xburst/patches-3.10/003-NAND-Add-support-for-subpage-reads-for-NAND_ECC_HW_O.patch +++ b/target/linux/xburst/patches-3.10/003-NAND-Add-support-for-subpage-reads-for-NAND_ECC_HW_O.patch @@ -10,11 +10,9 @@ Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> include/linux/mtd/nand.h | 2 +- 2 files changed, 78 insertions(+), 4 deletions(-) -diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c -index 287c433..0fd6f2e 100644 --- a/drivers/mtd/nand/nand_base.c +++ b/drivers/mtd/nand/nand_base.c -@@ -1118,7 +1118,7 @@ static int nand_read_page_swecc(struct mtd_info *mtd, struct nand_chip *chip, +@@ -1118,7 +1118,7 @@ static int nand_read_page_swecc(struct m * @bufpoi: buffer to store read data */ static int nand_read_subpage(struct mtd_info *mtd, struct nand_chip *chip, @@ -23,7 +21,7 @@ index 287c433..0fd6f2e 100644 { int start_step, end_step, num_steps; uint32_t *eccpos = chip->ecc.layout->eccpos; -@@ -1311,6 +1311,75 @@ static int nand_read_page_hwecc_oob_first(struct mtd_info *mtd, +@@ -1311,6 +1311,75 @@ static int nand_read_page_hwecc_oob_firs } /** @@ -99,7 +97,7 @@ index 287c433..0fd6f2e 100644 * nand_read_page_syndrome - [REPLACEABLE] hardware ECC syndrome based page read * @mtd: mtd info structure * @chip: nand chip info structure -@@ -1477,7 +1546,7 @@ static int nand_do_read_ops(struct mtd_info *mtd, loff_t from, +@@ -1477,7 +1546,7 @@ static int nand_do_read_ops(struct mtd_i else if (!aligned && NAND_HAS_SUBPAGE_READ(chip) && !oob) ret = chip->ecc.read_subpage(mtd, chip, @@ -123,8 +121,6 @@ index 287c433..0fd6f2e 100644 case NAND_ECC_HW: /* Use standard hwecc read page function? */ -diff --git a/include/linux/mtd/nand.h b/include/linux/mtd/nand.h -index ab63634..ff5b62e 100644 --- a/include/linux/mtd/nand.h +++ b/include/linux/mtd/nand.h @@ -349,7 +349,7 @@ struct nand_ecc_ctrl { @@ -136,6 +132,3 @@ index ab63634..ff5b62e 100644 int (*write_subpage)(struct mtd_info *mtd, struct nand_chip *chip, uint32_t offset, uint32_t data_len, const uint8_t *data_buf, int oob_required); --- -1.7.10.4 - diff --git a/target/linux/xburst/patches-3.10/004-MMC-JZ4740-Remove-duplicated-code.patch b/target/linux/xburst/patches-3.10/004-MMC-JZ4740-Remove-duplicated-code.patch index 7a8ab65552..0d4ff65e92 100644 --- a/target/linux/xburst/patches-3.10/004-MMC-JZ4740-Remove-duplicated-code.patch +++ b/target/linux/xburst/patches-3.10/004-MMC-JZ4740-Remove-duplicated-code.patch @@ -8,11 +8,9 @@ Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> drivers/mmc/host/jz4740_mmc.c | 5 ----- 1 file changed, 5 deletions(-) -diff --git a/drivers/mmc/host/jz4740_mmc.c b/drivers/mmc/host/jz4740_mmc.c -index 2391c6b..5a6ac99 100644 --- a/drivers/mmc/host/jz4740_mmc.c +++ b/drivers/mmc/host/jz4740_mmc.c -@@ -560,11 +560,6 @@ static irqreturn_t jz_mmc_irq(int irq, void *devid) +@@ -560,11 +560,6 @@ static irqreturn_t jz_mmc_irq(int irq, v if (cmd->data) cmd->data->error = -EIO; cmd->error = -EIO; @@ -24,6 +22,3 @@ index 2391c6b..5a6ac99 100644 } jz4740_mmc_set_irq_enabled(host, irq_reg, false); --- -1.7.10.4 - diff --git a/target/linux/xburst/patches-3.10/005-MMC-JZ4740-Fix-handling-of-read-errors.patch b/target/linux/xburst/patches-3.10/005-MMC-JZ4740-Fix-handling-of-read-errors.patch index aef88f0c99..598d518e0f 100644 --- a/target/linux/xburst/patches-3.10/005-MMC-JZ4740-Fix-handling-of-read-errors.patch +++ b/target/linux/xburst/patches-3.10/005-MMC-JZ4740-Fix-handling-of-read-errors.patch @@ -11,11 +11,9 @@ Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> drivers/mmc/host/jz4740_mmc.c | 8 ++++++++ 1 file changed, 8 insertions(+) -diff --git a/drivers/mmc/host/jz4740_mmc.c b/drivers/mmc/host/jz4740_mmc.c -index 5a6ac99..ffe1181 100644 --- a/drivers/mmc/host/jz4740_mmc.c +++ b/drivers/mmc/host/jz4740_mmc.c -@@ -231,6 +231,14 @@ static void jz4740_mmc_transfer_check_state(struct jz4740_mmc_host *host, +@@ -231,6 +231,14 @@ static void jz4740_mmc_transfer_check_st host->req->cmd->error = -EIO; data->error = -EIO; } @@ -30,6 +28,3 @@ index 5a6ac99..ffe1181 100644 } } --- -1.7.10.4 - diff --git a/target/linux/xburst/patches-3.10/006-ASoC-JZ4740-delay-activation-of-the-DAC-to-work-arou.patch b/target/linux/xburst/patches-3.10/006-ASoC-JZ4740-delay-activation-of-the-DAC-to-work-arou.patch index b4b69a8a82..7a7ce73ec1 100644 --- a/target/linux/xburst/patches-3.10/006-ASoC-JZ4740-delay-activation-of-the-DAC-to-work-arou.patch +++ b/target/linux/xburst/patches-3.10/006-ASoC-JZ4740-delay-activation-of-the-DAC-to-work-arou.patch @@ -12,11 +12,9 @@ Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> sound/soc/codecs/jz4740.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) -diff --git a/sound/soc/codecs/jz4740.c b/sound/soc/codecs/jz4740.c -index 5f607b3..76ff580 100644 --- a/sound/soc/codecs/jz4740.c +++ b/sound/soc/codecs/jz4740.c -@@ -249,12 +249,15 @@ static int jz4740_codec_set_bias_level(struct snd_soc_codec *codec, +@@ -249,12 +249,15 @@ static int jz4740_codec_set_bias_level(s case SND_SOC_BIAS_ON: break; case SND_SOC_BIAS_PREPARE: @@ -35,6 +33,3 @@ index 5f607b3..76ff580 100644 break; case SND_SOC_BIAS_STANDBY: /* The only way to clear the suspend flag is to reset the codec */ --- -1.7.10.4 - diff --git a/target/linux/xburst/patches-3.10/007-RTC-JZ4740-Init-the-regulator-register-on-startup.patch b/target/linux/xburst/patches-3.10/007-RTC-JZ4740-Init-the-regulator-register-on-startup.patch index 8dfae3a706..dc66b009ef 100644 --- a/target/linux/xburst/patches-3.10/007-RTC-JZ4740-Init-the-regulator-register-on-startup.patch +++ b/target/linux/xburst/patches-3.10/007-RTC-JZ4740-Init-the-regulator-register-on-startup.patch @@ -14,8 +14,6 @@ Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> drivers/rtc/rtc-jz4740.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) -diff --git a/drivers/rtc/rtc-jz4740.c b/drivers/rtc/rtc-jz4740.c -index 1e48686..722fb0c 100644 --- a/drivers/rtc/rtc-jz4740.c +++ b/drivers/rtc/rtc-jz4740.c @@ -14,6 +14,7 @@ @@ -26,7 +24,7 @@ index 1e48686..722fb0c 100644 #include <linux/kernel.h> #include <linux/module.h> #include <linux/platform_device.h> -@@ -215,6 +216,7 @@ static int jz4740_rtc_probe(struct platform_device *pdev) +@@ -215,6 +216,7 @@ static int jz4740_rtc_probe(struct platf int ret; struct jz4740_rtc *rtc; uint32_t scratchpad; @@ -34,7 +32,7 @@ index 1e48686..722fb0c 100644 rtc = kzalloc(sizeof(*rtc), GFP_KERNEL); if (!rtc) -@@ -280,6 +282,21 @@ static int jz4740_rtc_probe(struct platform_device *pdev) +@@ -280,6 +282,21 @@ static int jz4740_rtc_probe(struct platf } } @@ -56,6 +54,3 @@ index 1e48686..722fb0c 100644 return 0; err_free_irq: --- -1.7.10.4 - diff --git a/target/linux/xburst/patches-3.10/008-Add-jz4740-udc-driver.patch b/target/linux/xburst/patches-3.10/008-Add-jz4740-udc-driver.patch index 6fc025b56f..88b2b5a823 100644 --- a/target/linux/xburst/patches-3.10/008-Add-jz4740-udc-driver.patch +++ b/target/linux/xburst/patches-3.10/008-Add-jz4740-udc-driver.patch @@ -14,8 +14,6 @@ Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> create mode 100644 drivers/usb/gadget/jz4740_udc.c create mode 100644 drivers/usb/gadget/jz4740_udc.h -diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig -index f41aa0d..c96b7ef 100644 --- a/drivers/usb/gadget/Kconfig +++ b/drivers/usb/gadget/Kconfig @@ -192,6 +192,14 @@ config USB_FUSB300 @@ -33,8 +31,6 @@ index f41aa0d..c96b7ef 100644 config USB_OMAP tristate "OMAP USB Device Controller" depends on ARCH_OMAP1 -diff --git a/drivers/usb/gadget/Makefile b/drivers/usb/gadget/Makefile -index 6afd166..f18db69 100644 --- a/drivers/usb/gadget/Makefile +++ b/drivers/usb/gadget/Makefile @@ -34,6 +34,7 @@ obj-$(CONFIG_USB_MV_UDC) += mv_udc.o @@ -45,8 +41,6 @@ index 6afd166..f18db69 100644 # USB Functions usb_f_acm-y := f_acm.o -diff --git a/drivers/usb/gadget/gadget_chips.h b/drivers/usb/gadget/gadget_chips.h -index bcd04bc..a3b069f 100644 --- a/drivers/usb/gadget/gadget_chips.h +++ b/drivers/usb/gadget/gadget_chips.h @@ -29,6 +29,7 @@ @@ -57,9 +51,6 @@ index bcd04bc..a3b069f 100644 #define gadget_is_musbhdrc(g) (!strcmp("musb-hdrc", (g)->name)) #define gadget_is_net2280(g) (!strcmp("net2280", (g)->name)) #define gadget_is_pxa(g) (!strcmp("pxa25x_udc", (g)->name)) -diff --git a/drivers/usb/gadget/jz4740_udc.c b/drivers/usb/gadget/jz4740_udc.c -new file mode 100644 -index 0000000..72e9a6c --- /dev/null +++ b/drivers/usb/gadget/jz4740_udc.c @@ -0,0 +1,2155 @@ @@ -2218,9 +2209,6 @@ index 0000000..72e9a6c +MODULE_DESCRIPTION("JZ4740 USB Device Controller"); +MODULE_AUTHOR("Wei Jianli <jlwei@ingenic.cn>"); +MODULE_LICENSE("GPL"); -diff --git a/drivers/usb/gadget/jz4740_udc.h b/drivers/usb/gadget/jz4740_udc.h -new file mode 100644 -index 0000000..53fd1da --- /dev/null +++ b/drivers/usb/gadget/jz4740_udc.h @@ -0,0 +1,101 @@ @@ -2325,6 +2313,3 @@ index 0000000..53fd1da +} + +#endif /* __USB_GADGET_JZ4740_H__ */ --- -1.7.10.4 - diff --git a/target/linux/xburst/patches-3.10/009-Add-ili8960-lcd-driver.patch b/target/linux/xburst/patches-3.10/009-Add-ili8960-lcd-driver.patch index 3984ffeb48..95545ed43e 100644 --- a/target/linux/xburst/patches-3.10/009-Add-ili8960-lcd-driver.patch +++ b/target/linux/xburst/patches-3.10/009-Add-ili8960-lcd-driver.patch @@ -11,8 +11,6 @@ Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> 3 files changed, 270 insertions(+) create mode 100644 drivers/video/backlight/ili8960.c -diff --git a/drivers/video/backlight/Kconfig b/drivers/video/backlight/Kconfig -index d5ab658..7cd68d0 100644 --- a/drivers/video/backlight/Kconfig +++ b/drivers/video/backlight/Kconfig @@ -59,6 +59,13 @@ config LCD_LTV350QV @@ -29,8 +27,6 @@ index d5ab658..7cd68d0 100644 config LCD_ILI922X tristate "ILI Technology ILI9221/ILI9222 support" depends on SPI -diff --git a/drivers/video/backlight/Makefile b/drivers/video/backlight/Makefile -index 92711fe..81d3e93 100644 --- a/drivers/video/backlight/Makefile +++ b/drivers/video/backlight/Makefile @@ -5,6 +5,7 @@ obj-$(CONFIG_LCD_CLASS_DEVICE) += lcd.o @@ -41,9 +37,6 @@ index 92711fe..81d3e93 100644 obj-$(CONFIG_LCD_ILI922X) += ili922x.o obj-$(CONFIG_LCD_ILI9320) += ili9320.o obj-$(CONFIG_LCD_L4F00242T03) += l4f00242t03.o -diff --git a/drivers/video/backlight/ili8960.c b/drivers/video/backlight/ili8960.c -new file mode 100644 -index 0000000..61eb815 --- /dev/null +++ b/drivers/video/backlight/ili8960.c @@ -0,0 +1,262 @@ @@ -309,6 +302,3 @@ index 0000000..61eb815 +MODULE_LICENSE("GPL"); +MODULE_DESCRIPTION("LCD driver for Ilitek ili8960"); +MODULE_ALIAS("spi:ili8960"); --- -1.7.10.4 - diff --git a/target/linux/xburst/patches-3.10/010-qi_lb60-Don-t-use-3-wire-spi-mode-for-the-display-fo.patch b/target/linux/xburst/patches-3.10/010-qi_lb60-Don-t-use-3-wire-spi-mode-for-the-display-fo.patch index b717bd5f77..c45964f673 100644 --- a/target/linux/xburst/patches-3.10/010-qi_lb60-Don-t-use-3-wire-spi-mode-for-the-display-fo.patch +++ b/target/linux/xburst/patches-3.10/010-qi_lb60-Don-t-use-3-wire-spi-mode-for-the-display-fo.patch @@ -11,11 +11,9 @@ Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> arch/mips/jz4740/board-qi_lb60.c | 1 - 1 file changed, 1 deletion(-) -diff --git a/arch/mips/jz4740/board-qi_lb60.c b/arch/mips/jz4740/board-qi_lb60.c -index be2b3de..bc454e6 100644 --- a/arch/mips/jz4740/board-qi_lb60.c +++ b/arch/mips/jz4740/board-qi_lb60.c -@@ -311,7 +311,6 @@ static struct spi_board_info qi_lb60_spi_board_info[] = { +@@ -311,7 +311,6 @@ static struct spi_board_info qi_lb60_spi .chip_select = 0, .bus_num = 1, .max_speed_hz = 30 * 1000, @@ -23,6 +21,3 @@ index be2b3de..bc454e6 100644 }, }; --- -1.7.10.4 - diff --git a/target/linux/xburst/patches-3.10/011-dma-Add-a-jz4740-dmaengine-driver.patch b/target/linux/xburst/patches-3.10/011-dma-Add-a-jz4740-dmaengine-driver.patch index 3225c7badb..e53896bba9 100644 --- a/target/linux/xburst/patches-3.10/011-dma-Add-a-jz4740-dmaengine-driver.patch +++ b/target/linux/xburst/patches-3.10/011-dma-Add-a-jz4740-dmaengine-driver.patch @@ -18,8 +18,6 @@ Signed-off-by: Vinod Koul <vinod.koul@intel.com> 3 files changed, 440 insertions(+) create mode 100644 drivers/dma/dma-jz4740.c -diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig -index e992489..b3e8952 100644 --- a/drivers/dma/Kconfig +++ b/drivers/dma/Kconfig @@ -312,6 +312,12 @@ config MMP_PDMA @@ -35,8 +33,6 @@ index e992489..b3e8952 100644 config DMA_ENGINE bool -diff --git a/drivers/dma/Makefile b/drivers/dma/Makefile -index a2b0df5..6127a61 100644 --- a/drivers/dma/Makefile +++ b/drivers/dma/Makefile @@ -38,3 +38,4 @@ obj-$(CONFIG_DMA_SA11X0) += sa11x0-dma.o @@ -44,9 +40,6 @@ index a2b0df5..6127a61 100644 obj-$(CONFIG_DMA_OMAP) += omap-dma.o obj-$(CONFIG_MMP_PDMA) += mmp_pdma.o +obj-$(CONFIG_DMA_JZ4740) += dma-jz4740.o -diff --git a/drivers/dma/dma-jz4740.c b/drivers/dma/dma-jz4740.c -new file mode 100644 -index 0000000..3d42434 --- /dev/null +++ b/drivers/dma/dma-jz4740.c @@ -0,0 +1,433 @@ @@ -483,6 +476,3 @@ index 0000000..3d42434 +MODULE_AUTHOR("Lars-Peter Clausen <lars@metafoo.de>"); +MODULE_DESCRIPTION("JZ4740 DMA driver"); +MODULE_LICENSE("GPLv2"); --- -1.7.10.4 - diff --git a/target/linux/xburst/patches-3.10/012-MIPS-JZ4740-Correct-clock-gate-bit-for-DMA-controlle.patch b/target/linux/xburst/patches-3.10/012-MIPS-JZ4740-Correct-clock-gate-bit-for-DMA-controlle.patch index 06850ec0ba..f440a9daa3 100644 --- a/target/linux/xburst/patches-3.10/012-MIPS-JZ4740-Correct-clock-gate-bit-for-DMA-controlle.patch +++ b/target/linux/xburst/patches-3.10/012-MIPS-JZ4740-Correct-clock-gate-bit-for-DMA-controlle.patch @@ -9,11 +9,9 @@ Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> arch/mips/jz4740/clock.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/arch/mips/jz4740/clock.c b/arch/mips/jz4740/clock.c -index 484d38a..1b5f554 100644 --- a/arch/mips/jz4740/clock.c +++ b/arch/mips/jz4740/clock.c -@@ -687,7 +687,7 @@ static struct clk jz4740_clock_simple_clks[] = { +@@ -687,7 +687,7 @@ static struct clk jz4740_clock_simple_cl [3] = { .name = "dma", .parent = &jz_clk_high_speed_peripheral.clk, @@ -22,6 +20,3 @@ index 484d38a..1b5f554 100644 .ops = &jz_clk_simple_ops, }, [4] = { --- -1.7.10.4 - diff --git a/target/linux/xburst/patches-3.10/013-MIPS-JZ4740-Acquire-and-enable-DMA-controller-clock.patch b/target/linux/xburst/patches-3.10/013-MIPS-JZ4740-Acquire-and-enable-DMA-controller-clock.patch index 110f061568..027e3ad365 100644 --- a/target/linux/xburst/patches-3.10/013-MIPS-JZ4740-Acquire-and-enable-DMA-controller-clock.patch +++ b/target/linux/xburst/patches-3.10/013-MIPS-JZ4740-Acquire-and-enable-DMA-controller-clock.patch @@ -13,8 +13,6 @@ Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> arch/mips/jz4740/dma.c | 24 ++++++++++++++++++++++-- 2 files changed, 23 insertions(+), 3 deletions(-) -diff --git a/arch/mips/jz4740/clock.c b/arch/mips/jz4740/clock.c -index 1b5f554..b3eba60 100644 --- a/arch/mips/jz4740/clock.c +++ b/arch/mips/jz4740/clock.c @@ -921,4 +921,4 @@ static int jz4740_clock_init(void) @@ -23,8 +21,6 @@ index 1b5f554..b3eba60 100644 } -arch_initcall(jz4740_clock_init); +postcore_initcall(jz4740_clock_init); -diff --git a/arch/mips/jz4740/dma.c b/arch/mips/jz4740/dma.c -index 317ec6f..fb5266c 100644 --- a/arch/mips/jz4740/dma.c +++ b/arch/mips/jz4740/dma.c @@ -16,6 +16,7 @@ @@ -35,7 +31,7 @@ index 317ec6f..fb5266c 100644 #include <linux/interrupt.h> #include <linux/dma-mapping.h> -@@ -268,6 +269,7 @@ static irqreturn_t jz4740_dma_irq(int irq, void *dev_id) +@@ -268,6 +269,7 @@ static irqreturn_t jz4740_dma_irq(int ir static int jz4740_dma_init(void) { @@ -75,6 +71,3 @@ index 317ec6f..fb5266c 100644 return ret; } arch_initcall(jz4740_dma_init); --- -1.7.10.4 - diff --git a/target/linux/xburst/patches-3.10/014-MIPS-jz4740-Register-jz4740-DMA-device.patch b/target/linux/xburst/patches-3.10/014-MIPS-jz4740-Register-jz4740-DMA-device.patch index 1ae288b264..f10666dfad 100644 --- a/target/linux/xburst/patches-3.10/014-MIPS-jz4740-Register-jz4740-DMA-device.patch +++ b/target/linux/xburst/patches-3.10/014-MIPS-jz4740-Register-jz4740-DMA-device.patch @@ -15,11 +15,9 @@ Signed-off-by: Vinod Koul <vinod.koul@intel.com> arch/mips/jz4740/platform.c | 21 +++++++++++++++++++++ 3 files changed, 23 insertions(+) -diff --git a/arch/mips/include/asm/mach-jz4740/platform.h b/arch/mips/include/asm/mach-jz4740/platform.h -index 72cfebd..05988c2 100644 --- a/arch/mips/include/asm/mach-jz4740/platform.h +++ b/arch/mips/include/asm/mach-jz4740/platform.h -@@ -32,6 +32,7 @@ extern struct platform_device jz4740_codec_device; +@@ -32,6 +32,7 @@ extern struct platform_device jz4740_cod extern struct platform_device jz4740_adc_device; extern struct platform_device jz4740_wdt_device; extern struct platform_device jz4740_pwm_device; @@ -27,11 +25,9 @@ index 72cfebd..05988c2 100644 void jz4740_serial_device_register(void); -diff --git a/arch/mips/jz4740/board-qi_lb60.c b/arch/mips/jz4740/board-qi_lb60.c -index bc454e6..b857521 100644 --- a/arch/mips/jz4740/board-qi_lb60.c +++ b/arch/mips/jz4740/board-qi_lb60.c -@@ -437,6 +437,7 @@ static struct platform_device *jz_platform_devices[] __initdata = { +@@ -437,6 +437,7 @@ static struct platform_device *jz_platfo &jz4740_rtc_device, &jz4740_adc_device, &jz4740_pwm_device, @@ -39,11 +35,9 @@ index bc454e6..b857521 100644 &qi_lb60_gpio_keys, &qi_lb60_pwm_beeper, &qi_lb60_charger_device, -diff --git a/arch/mips/jz4740/platform.c b/arch/mips/jz4740/platform.c -index e9348fd..df65677 100644 --- a/arch/mips/jz4740/platform.c +++ b/arch/mips/jz4740/platform.c -@@ -329,3 +329,24 @@ struct platform_device jz4740_pwm_device = { +@@ -329,3 +329,24 @@ struct platform_device jz4740_pwm_device .name = "jz4740-pwm", .id = -1, }; @@ -68,6 +62,3 @@ index e9348fd..df65677 100644 + .num_resources = ARRAY_SIZE(jz4740_dma_resources), + .resource = jz4740_dma_resources, +}; --- -1.7.10.4 - diff --git a/target/linux/xburst/patches-3.10/015-MIPS-jz4740-Remove-custom-DMA-API.patch b/target/linux/xburst/patches-3.10/015-MIPS-jz4740-Remove-custom-DMA-API.patch index ff25552eaf..0bce0ac8fa 100644 --- a/target/linux/xburst/patches-3.10/015-MIPS-jz4740-Remove-custom-DMA-API.patch +++ b/target/linux/xburst/patches-3.10/015-MIPS-jz4740-Remove-custom-DMA-API.patch @@ -18,8 +18,6 @@ Signed-off-by: Vinod Koul <vinod.koul@intel.com> 4 files changed, 222 insertions(+), 401 deletions(-) delete mode 100644 arch/mips/jz4740/dma.c -diff --git a/arch/mips/include/asm/mach-jz4740/dma.h b/arch/mips/include/asm/mach-jz4740/dma.h -index 98b4e7c..509cd58 100644 --- a/arch/mips/include/asm/mach-jz4740/dma.h +++ b/arch/mips/include/asm/mach-jz4740/dma.h @@ -16,8 +16,6 @@ @@ -90,8 +88,6 @@ index 98b4e7c..509cd58 100644 - jz4740_dma_complete_callback_t cb); - #endif /* __ASM_JZ4740_DMA_H__ */ -diff --git a/arch/mips/jz4740/Makefile b/arch/mips/jz4740/Makefile -index 63bad0e..28e5535 100644 --- a/arch/mips/jz4740/Makefile +++ b/arch/mips/jz4740/Makefile @@ -4,7 +4,7 @@ @@ -103,9 +99,6 @@ index 63bad0e..28e5535 100644 gpio.o clock.o platform.o timer.o serial.o obj-$(CONFIG_DEBUG_FS) += clock-debugfs.o -diff --git a/arch/mips/jz4740/dma.c b/arch/mips/jz4740/dma.c -deleted file mode 100644 -index fb5266c..0000000 --- a/arch/mips/jz4740/dma.c +++ /dev/null @@ -1,307 +0,0 @@ @@ -416,8 +409,6 @@ index fb5266c..0000000 - return ret; -} -arch_initcall(jz4740_dma_init); -diff --git a/drivers/dma/dma-jz4740.c b/drivers/dma/dma-jz4740.c -index 3d42434..b0c0c82 100644 --- a/drivers/dma/dma-jz4740.c +++ b/drivers/dma/dma-jz4740.c @@ -22,6 +22,8 @@ @@ -538,7 +529,7 @@ index 3d42434..b0c0c82 100644 static struct jz4740_dmaengine_chan *to_jz4740_dma_chan(struct dma_chan *c) { return container_of(c, struct jz4740_dmaengine_chan, vchan.chan); -@@ -70,6 +152,29 @@ static struct jz4740_dma_desc *to_jz4740_dma_desc(struct virt_dma_desc *vdesc) +@@ -70,6 +152,29 @@ static struct jz4740_dma_desc *to_jz4740 return container_of(vdesc, struct jz4740_dma_desc, vdesc); } @@ -568,7 +559,7 @@ index 3d42434..b0c0c82 100644 static struct jz4740_dma_desc *jz4740_dma_alloc_desc(unsigned int num_sgs) { return kzalloc(sizeof(struct jz4740_dma_desc) + -@@ -108,30 +213,60 @@ static int jz4740_dma_slave_config(struct dma_chan *c, +@@ -108,30 +213,60 @@ static int jz4740_dma_slave_config(struc const struct dma_slave_config *config) { struct jz4740_dmaengine_chan *chan = to_jz4740_dma_chan(c); @@ -601,7 +592,11 @@ index 3d42434..b0c0c82 100644 + src_width = jz4740_dma_width(config->src_addr_width); + dst_width = jz4740_dma_width(config->dst_addr_width); -+ + +- jzcfg.src_width = jz4740_dma_width(config->src_addr_width); +- jzcfg.dst_width = jz4740_dma_width(config->dst_addr_width); +- jzcfg.mode = JZ4740_DMA_MODE_SINGLE; +- jzcfg.request_type = config->slave_id; + switch (transfer_size) { + case JZ4740_DMA_TRANSFER_SIZE_2BYTE: + chan->transfer_shift = 1; @@ -620,18 +615,14 @@ index 3d42434..b0c0c82 100644 + break; + } -- jzcfg.src_width = jz4740_dma_width(config->src_addr_width); -- jzcfg.dst_width = jz4740_dma_width(config->dst_addr_width); -- jzcfg.mode = JZ4740_DMA_MODE_SINGLE; -- jzcfg.request_type = config->slave_id; +- jz4740_dma_configure(chan->jz_chan, &jzcfg); + cmd = flags << JZ_DMA_CMD_FLAGS_OFFSET; + cmd |= src_width << JZ_DMA_CMD_SRC_WIDTH_OFFSET; + cmd |= dst_width << JZ_DMA_CMD_DST_WIDTH_OFFSET; + cmd |= transfer_size << JZ_DMA_CMD_TRANSFER_SIZE_OFFSET; + cmd |= JZ4740_DMA_MODE_SINGLE << JZ_DMA_CMD_MODE_OFFSET; + cmd |= JZ_DMA_CMD_TRANSFER_IRQ_ENABLE; - -- jz4740_dma_configure(chan->jz_chan, &jzcfg); ++ + jz4740_dma_write(dmadev, JZ_REG_DMA_CMD(chan->id), cmd); + jz4740_dma_write(dmadev, JZ_REG_DMA_STATUS_CTRL(chan->id), 0); + jz4740_dma_write(dmadev, JZ_REG_DMA_REQ_TYPE(chan->id), @@ -639,7 +630,7 @@ index 3d42434..b0c0c82 100644 return 0; } -@@ -139,11 +274,13 @@ static int jz4740_dma_slave_config(struct dma_chan *c, +@@ -139,11 +274,13 @@ static int jz4740_dma_slave_config(struc static int jz4740_dma_terminate_all(struct dma_chan *c) { struct jz4740_dmaengine_chan *chan = to_jz4740_dma_chan(c); @@ -654,7 +645,7 @@ index 3d42434..b0c0c82 100644 chan->desc = NULL; vchan_get_all_descriptors(&chan->vchan, &head); spin_unlock_irqrestore(&chan->vchan.lock, flags); -@@ -170,11 +307,13 @@ static int jz4740_dma_control(struct dma_chan *chan, enum dma_ctrl_cmd cmd, +@@ -170,11 +307,13 @@ static int jz4740_dma_control(struct dma static int jz4740_dma_start_transfer(struct jz4740_dmaengine_chan *chan) { @@ -669,7 +660,7 @@ index 3d42434..b0c0c82 100644 if (!chan->desc) { vdesc = vchan_next_desc(&chan->vchan); -@@ -196,22 +335,27 @@ static int jz4740_dma_start_transfer(struct jz4740_dmaengine_chan *chan) +@@ -196,22 +335,27 @@ static int jz4740_dma_start_transfer(str src_addr = chan->fifo_addr; dst_addr = sg->addr; } @@ -705,7 +696,7 @@ index 3d42434..b0c0c82 100644 spin_lock(&chan->vchan.lock); if (chan->desc) { if (chan->desc && chan->desc->cyclic) { -@@ -227,6 +371,28 @@ static void jz4740_dma_complete_cb(struct jz4740_dma_chan *jz_chan, int error, +@@ -227,6 +371,28 @@ static void jz4740_dma_complete_cb(struc spin_unlock(&chan->vchan.lock); } @@ -734,7 +725,7 @@ index 3d42434..b0c0c82 100644 static void jz4740_dma_issue_pending(struct dma_chan *c) { struct jz4740_dmaengine_chan *chan = to_jz4740_dma_chan(c); -@@ -298,7 +464,8 @@ static struct dma_async_tx_descriptor *jz4740_dma_prep_dma_cyclic( +@@ -298,7 +464,8 @@ static struct dma_async_tx_descriptor *j static size_t jz4740_dma_desc_residue(struct jz4740_dmaengine_chan *chan, struct jz4740_dma_desc *desc, unsigned int next_sg) { @@ -744,7 +735,7 @@ index 3d42434..b0c0c82 100644 unsigned int i; residue = 0; -@@ -306,8 +473,11 @@ static size_t jz4740_dma_desc_residue(struct jz4740_dmaengine_chan *chan, +@@ -306,8 +473,11 @@ static size_t jz4740_dma_desc_residue(st for (i = next_sg; i < desc->num_sgs; i++) residue += desc->sg[i].len; @@ -758,7 +749,7 @@ index 3d42434..b0c0c82 100644 return residue; } -@@ -342,24 +512,12 @@ static enum dma_status jz4740_dma_tx_status(struct dma_chan *c, +@@ -342,24 +512,12 @@ static enum dma_status jz4740_dma_tx_sta static int jz4740_dma_alloc_chan_resources(struct dma_chan *c) { @@ -784,7 +775,7 @@ index 3d42434..b0c0c82 100644 } static void jz4740_dma_desc_free(struct virt_dma_desc *vdesc) -@@ -373,7 +531,9 @@ static int jz4740_dma_probe(struct platform_device *pdev) +@@ -373,7 +531,9 @@ static int jz4740_dma_probe(struct platf struct jz4740_dma_dev *dmadev; struct dma_device *dd; unsigned int i; @@ -794,7 +785,7 @@ index 3d42434..b0c0c82 100644 dmadev = devm_kzalloc(&pdev->dev, sizeof(*dmadev), GFP_KERNEL); if (!dmadev) -@@ -381,6 +541,17 @@ static int jz4740_dma_probe(struct platform_device *pdev) +@@ -381,6 +541,17 @@ static int jz4740_dma_probe(struct platf dd = &dmadev->ddev; @@ -812,7 +803,7 @@ index 3d42434..b0c0c82 100644 dma_cap_set(DMA_SLAVE, dd->cap_mask); dma_cap_set(DMA_CYCLIC, dd->cap_mask); dd->device_alloc_chan_resources = jz4740_dma_alloc_chan_resources; -@@ -396,6 +567,7 @@ static int jz4740_dma_probe(struct platform_device *pdev) +@@ -396,6 +567,7 @@ static int jz4740_dma_probe(struct platf for (i = 0; i < dd->chancnt; i++) { chan = &dmadev->chan[i]; @@ -820,7 +811,7 @@ index 3d42434..b0c0c82 100644 chan->vchan.desc_free = jz4740_dma_desc_free; vchan_init(&chan->vchan, dd); } -@@ -404,16 +576,28 @@ static int jz4740_dma_probe(struct platform_device *pdev) +@@ -404,16 +576,28 @@ static int jz4740_dma_probe(struct platf if (ret) return ret; @@ -849,6 +840,3 @@ index 3d42434..b0c0c82 100644 return 0; } --- -1.7.10.4 - diff --git a/target/linux/xburst/patches-3.10/016-ASoC-jz4740-Use-the-generic-dmaengine-PCM-driver.patch b/target/linux/xburst/patches-3.10/016-ASoC-jz4740-Use-the-generic-dmaengine-PCM-driver.patch index 296d5cccd1..1fb3731083 100644 --- a/target/linux/xburst/patches-3.10/016-ASoC-jz4740-Use-the-generic-dmaengine-PCM-driver.patch +++ b/target/linux/xburst/patches-3.10/016-ASoC-jz4740-Use-the-generic-dmaengine-PCM-driver.patch @@ -16,8 +16,6 @@ Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> 4 files changed, 27 insertions(+), 352 deletions(-) delete mode 100644 sound/soc/jz4740/jz4740-pcm.h -diff --git a/sound/soc/jz4740/Kconfig b/sound/soc/jz4740/Kconfig -index 5351cba..29f76af 100644 --- a/sound/soc/jz4740/Kconfig +++ b/sound/soc/jz4740/Kconfig @@ -1,6 +1,7 @@ @@ -28,8 +26,6 @@ index 5351cba..29f76af 100644 help Say Y or M if you want to add support for codecs attached to the JZ4740 I2S interface. You will also need to select the audio -diff --git a/sound/soc/jz4740/jz4740-i2s.c b/sound/soc/jz4740/jz4740-i2s.c -index 9a12644..5d04134 100644 --- a/sound/soc/jz4740/jz4740-i2s.c +++ b/sound/soc/jz4740/jz4740-i2s.c @@ -29,9 +29,12 @@ @@ -57,7 +53,7 @@ index 9a12644..5d04134 100644 }; static inline uint32_t jz4740_i2s_read(const struct jz4740_i2s *i2s, -@@ -233,8 +236,6 @@ static int jz4740_i2s_hw_params(struct snd_pcm_substream *substream, +@@ -233,8 +236,6 @@ static int jz4740_i2s_hw_params(struct s struct snd_pcm_hw_params *params, struct snd_soc_dai *dai) { struct jz4740_i2s *i2s = snd_soc_dai_get_drvdata(dai); @@ -66,7 +62,7 @@ index 9a12644..5d04134 100644 unsigned int sample_size; uint32_t ctrl; -@@ -243,11 +244,9 @@ static int jz4740_i2s_hw_params(struct snd_pcm_substream *substream, +@@ -243,11 +244,9 @@ static int jz4740_i2s_hw_params(struct s switch (params_format(params)) { case SNDRV_PCM_FORMAT_S8: sample_size = 0; @@ -78,7 +74,7 @@ index 9a12644..5d04134 100644 break; default: return -EINVAL; -@@ -260,22 +259,13 @@ static int jz4740_i2s_hw_params(struct snd_pcm_substream *substream, +@@ -260,22 +259,13 @@ static int jz4740_i2s_hw_params(struct s ctrl |= JZ_AIC_CTRL_MONO_TO_STEREO; else ctrl &= ~JZ_AIC_CTRL_MONO_TO_STEREO; @@ -101,7 +97,7 @@ index 9a12644..5d04134 100644 return 0; } -@@ -342,25 +332,19 @@ static int jz4740_i2s_resume(struct snd_soc_dai *dai) +@@ -342,25 +332,19 @@ static int jz4740_i2s_resume(struct snd_ static void jz4740_i2c_init_pcm_config(struct jz4740_i2s *i2s) { @@ -136,7 +132,7 @@ index 9a12644..5d04134 100644 } static int jz4740_i2s_dai_probe(struct snd_soc_dai *dai) -@@ -371,6 +355,8 @@ static int jz4740_i2s_dai_probe(struct snd_soc_dai *dai) +@@ -371,6 +355,8 @@ static int jz4740_i2s_dai_probe(struct s clk_enable(i2s->clk_aic); jz4740_i2c_init_pcm_config(i2s); @@ -145,8 +141,6 @@ index 9a12644..5d04134 100644 conf = (7 << JZ_AIC_CONF_FIFO_RX_THRESHOLD_OFFSET) | (8 << JZ_AIC_CONF_FIFO_TX_THRESHOLD_OFFSET) | -diff --git a/sound/soc/jz4740/jz4740-pcm.c b/sound/soc/jz4740/jz4740-pcm.c -index 7100592..79fcade 100644 --- a/sound/soc/jz4740/jz4740-pcm.c +++ b/sound/soc/jz4740/jz4740-pcm.c @@ -19,38 +19,14 @@ @@ -189,7 +183,7 @@ index 7100592..79fcade 100644 .period_bytes_min = 16, .period_bytes_max = 2 * PAGE_SIZE, .periods_min = 2, -@@ -59,290 +35,22 @@ static const struct snd_pcm_hardware jz4740_pcm_hardware = { +@@ -59,290 +35,22 @@ static const struct snd_pcm_hardware jz4 .fifo_size = 32, }; @@ -488,9 +482,6 @@ index 7100592..79fcade 100644 return 0; } -diff --git a/sound/soc/jz4740/jz4740-pcm.h b/sound/soc/jz4740/jz4740-pcm.h -deleted file mode 100644 -index 1220cbb..0000000 --- a/sound/soc/jz4740/jz4740-pcm.h +++ /dev/null @@ -1,20 +0,0 @@ @@ -514,6 +505,3 @@ index 1220cbb..0000000 -}; - -#endif --- -1.7.10.4 - |