mirror of https://github.com/OpenIPC/firmware.git
Fix T10-T30 configs & patches ( thx @p0isk )
parent
80b12ca43a
commit
b4e1146679
|
@ -31,3 +31,133 @@
|
||||||
|
|
||||||
if(clk->parent == get_clk_from_id(CLK_ID_EXT1))
|
if(clk->parent == get_clk_from_id(CLK_ID_EXT1))
|
||||||
return clk->parent->rate;
|
return clk->parent->rate;
|
||||||
|
--- a/arch/mips/xburst/soc-t21/common/clk/clk_cgu.c
|
||||||
|
+++ b/arch/mips/xburst/soc-t21/common/clk/clk_cgu.c
|
||||||
|
@@ -111,18 +111,19 @@
|
||||||
|
unsigned long x;
|
||||||
|
unsigned long flags;
|
||||||
|
int no = CLK_CGU_NO(clk->flags);
|
||||||
|
-
|
||||||
|
- if (!(strcmp(clk->name, "cgu_i2s"))) {
|
||||||
|
- unsigned int reg_val = 0;
|
||||||
|
- int m = 0, n = 0;
|
||||||
|
- reg_val = cpm_inl(cgu_clks[no].off) & 0xf0000000;
|
||||||
|
- n = reg_val & 0xfffff;
|
||||||
|
- m = (reg_val >> 20) & 0x1ff;
|
||||||
|
-
|
||||||
|
- printk(KERN_DEBUG"%s, parent = %ld, rate = %ld, m = %d, n = %d, reg val = 0x%08x\n",
|
||||||
|
- __func__, clk->parent->rate, clk->rate, m, n, cpm_inl(cgu_clks[no].off));
|
||||||
|
- return (clk->parent->rate * m) / n;
|
||||||
|
- }
|
||||||
|
+
|
||||||
|
+// FixMe: This leads to hang during boot with GCC>5.5.0
|
||||||
|
+// if (!(strcmp(clk->name, "cgu_i2s"))) {
|
||||||
|
+// unsigned int reg_val = 0;
|
||||||
|
+// int m = 0, n = 0;
|
||||||
|
+// reg_val = cpm_inl(cgu_clks[no].off) & 0xf0000000;
|
||||||
|
+// n = reg_val & 0xfffff;
|
||||||
|
+// m = (reg_val >> 20) & 0x1ff;
|
||||||
|
+//
|
||||||
|
+// printk(KERN_DEBUG"%s, parent = %ld, rate = %ld, m = %d, n = %d, reg val = 0x%08x\n",
|
||||||
|
+// __func__, clk->parent->rate, clk->rate, m, n, cpm_inl(cgu_clks[no].off));
|
||||||
|
+// return (clk->parent->rate * m) / n;
|
||||||
|
+// }
|
||||||
|
|
||||||
|
if(clk->parent == get_clk_from_id(CLK_ID_EXT1))
|
||||||
|
return clk->parent->rate;
|
||||||
|
--- a/arch/mips/xburst/soc-t10/common/clk/clk_cgu.c
|
||||||
|
+++ b/arch/mips/xburst/soc-t10/common/clk/clk_cgu.c
|
||||||
|
@@ -99,17 +99,18 @@
|
||||||
|
unsigned long flags;
|
||||||
|
int no = CLK_CGU_NO(clk->flags);
|
||||||
|
|
||||||
|
- if (!(strcmp(clk->name, "cgu_i2s"))) {
|
||||||
|
- unsigned int reg_val = 0;
|
||||||
|
- int m = 0, n = 0;
|
||||||
|
- reg_val = cpm_inl(cgu_clks[no].off) & 0xf0000000;
|
||||||
|
- n = reg_val & 0x1fff;
|
||||||
|
- m = (reg_val >> 13) & 0x1ff;
|
||||||
|
-
|
||||||
|
- printk(KERN_DEBUG"%s, parent = %ld, rate = %ld, m = %d, n = %d, reg val = 0x%08x\n",
|
||||||
|
- __func__, clk->parent->rate, clk->rate, m, n, cpm_inl(cgu_clks[no].off));
|
||||||
|
- return (clk->parent->rate * m) / n;
|
||||||
|
- }
|
||||||
|
+// FixMe: This leads to hang during boot with GCC>5.5.0
|
||||||
|
+// if (!(strcmp(clk->name, "cgu_i2s"))) {
|
||||||
|
+// unsigned int reg_val = 0;
|
||||||
|
+// int m = 0, n = 0;
|
||||||
|
+// reg_val = cpm_inl(cgu_clks[no].off) & 0xf0000000;
|
||||||
|
+// n = reg_val & 0x1fff;
|
||||||
|
+// m = (reg_val >> 13) & 0x1ff;
|
||||||
|
+//
|
||||||
|
+// printk(KERN_DEBUG"%s, parent = %ld, rate = %ld, m = %d, n = %d, reg val = 0x%08x\n",
|
||||||
|
+// __func__, clk->parent->rate, clk->rate, m, n, cpm_inl(cgu_clks[no].off));
|
||||||
|
+// return (clk->parent->rate * m) / n;
|
||||||
|
+// }
|
||||||
|
|
||||||
|
if(clk->parent == get_clk_from_id(CLK_ID_EXT1))
|
||||||
|
return clk->parent->rate;
|
||||||
|
--- a/arch/mips/xburst/soc-t20/common/clk/clk_cgu.c
|
||||||
|
+++ b/arch/mips/xburst/soc-t20/common/clk/clk_cgu.c
|
||||||
|
@@ -100,17 +100,18 @@
|
||||||
|
unsigned long flags;
|
||||||
|
int no = CLK_CGU_NO(clk->flags);
|
||||||
|
|
||||||
|
- if (!(strcmp(clk->name, "cgu_i2s"))) {
|
||||||
|
- unsigned int reg_val = 0;
|
||||||
|
- int m = 0, n = 0;
|
||||||
|
- reg_val = cpm_inl(cgu_clks[no].off) & 0xf0000000;
|
||||||
|
- n = reg_val & 0x1fff;
|
||||||
|
- m = (reg_val >> 13) & 0x1ff;
|
||||||
|
-
|
||||||
|
- printk(KERN_DEBUG"%s, parent = %ld, rate = %ld, m = %d, n = %d, reg val = 0x%08x\n",
|
||||||
|
- __func__, clk->parent->rate, clk->rate, m, n, cpm_inl(cgu_clks[no].off));
|
||||||
|
- return (clk->parent->rate * m) / n;
|
||||||
|
- }
|
||||||
|
+// FixMe: This leads to hang during boot with GCC>5.5.0
|
||||||
|
+// if (!(strcmp(clk->name, "cgu_i2s"))) {
|
||||||
|
+// unsigned int reg_val = 0;
|
||||||
|
+// int m = 0, n = 0;
|
||||||
|
+// reg_val = cpm_inl(cgu_clks[no].off) & 0xf0000000;
|
||||||
|
+// n = reg_val & 0x1fff;
|
||||||
|
+// m = (reg_val >> 13) & 0x1ff;
|
||||||
|
+//
|
||||||
|
+// printk(KERN_DEBUG"%s, parent = %ld, rate = %ld, m = %d, n = %d, reg val = 0x%08x\n",
|
||||||
|
+// __func__, clk->parent->rate, clk->rate, m, n, cpm_inl(cgu_clks[no].off));
|
||||||
|
+// return (clk->parent->rate * m) / n;
|
||||||
|
+// }
|
||||||
|
|
||||||
|
if(clk->parent == get_clk_from_id(CLK_ID_EXT1))
|
||||||
|
return clk->parent->rate;
|
||||||
|
--- a/arch/mips/xburst/soc-t30/common/clk/clk_cgu.c
|
||||||
|
+++ b/arch/mips/xburst/soc-t30/common/clk/clk_cgu.c
|
||||||
|
@@ -112,17 +112,18 @@
|
||||||
|
unsigned long flags;
|
||||||
|
int no = CLK_CGU_NO(clk->flags);
|
||||||
|
|
||||||
|
- if (!(strcmp(clk->name, "cgu_i2s"))) {
|
||||||
|
- unsigned int reg_val = 0;
|
||||||
|
- int m = 0, n = 0;
|
||||||
|
- reg_val = cpm_inl(cgu_clks[no].off) & 0xf0000000;
|
||||||
|
- n = reg_val & 0xfffff;
|
||||||
|
- m = (reg_val >> 20) & 0x1ff;
|
||||||
|
-
|
||||||
|
- printk(KERN_DEBUG"%s, parent = %ld, rate = %ld, m = %d, n = %d, reg val = 0x%08x\n",
|
||||||
|
- __func__, clk->parent->rate, clk->rate, m, n, cpm_inl(cgu_clks[no].off));
|
||||||
|
- return (clk->parent->rate * m) / n;
|
||||||
|
- }
|
||||||
|
+// FixMe: This leads to hang during boot with GCC>5.5.0
|
||||||
|
+// if (!(strcmp(clk->name, "cgu_i2s"))) {
|
||||||
|
+// unsigned int reg_val = 0;
|
||||||
|
+// int m = 0, n = 0;
|
||||||
|
+// reg_val = cpm_inl(cgu_clks[no].off) & 0xf0000000;
|
||||||
|
+// n = reg_val & 0xfffff;
|
||||||
|
+// m = (reg_val >> 20) & 0x1ff;
|
||||||
|
+//
|
||||||
|
+// printk(KERN_DEBUG"%s, parent = %ld, rate = %ld, m = %d, n = %d, reg val = 0x%08x\n",
|
||||||
|
+// __func__, clk->parent->rate, clk->rate, m, n, cpm_inl(cgu_clks[no].off));
|
||||||
|
+// return (clk->parent->rate * m) / n;
|
||||||
|
+// }
|
||||||
|
|
||||||
|
if(clk->parent == get_clk_from_id(CLK_ID_EXT1))
|
||||||
|
return clk->parent->rate;
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
--- a/drivers/net/ethernet/ingenic/jz_mac_v13.c
|
||||||
|
+++ b/drivers/net/ethernet/ingenic/jz_mac_v13.c
|
||||||
|
@@ -875,13 +875,13 @@
|
||||||
|
PHY_INTERFACE_MODE_RMII);
|
||||||
|
#elif defined(CONFIG_JZ_MAC_RGMII)
|
||||||
|
phydev = phy_connect(dev, dev_name(&phydev->dev), &jz_mac_adjust_link,
|
||||||
|
- 0, PHY_INTERFACE_MODE_RGMII);
|
||||||
|
+ PHY_INTERFACE_MODE_RGMII);
|
||||||
|
#elif defined(CONFIG_JZ_MAC_GMII)
|
||||||
|
phydev = phy_connect(dev, dev_name(&phydev->dev), &jz_mac_adjust_link,
|
||||||
|
- 0, PHY_INTERFACE_MODE_GMII);
|
||||||
|
+ PHY_INTERFACE_MODE_GMII);
|
||||||
|
#else
|
||||||
|
phydev = phy_connect(dev, dev_name(&phydev->dev), &jz_mac_adjust_link,
|
||||||
|
- 0, PHY_INTERFACE_MODE_MII);
|
||||||
|
+ PHY_INTERFACE_MODE_MII);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (IS_ERR(phydev)) {
|
|
@ -0,0 +1,65 @@
|
||||||
|
--- a/drivers/mtd/devices/Kconfig
|
||||||
|
+++ b/drivers/mtd/devices/Kconfig
|
||||||
|
@@ -73,6 +73,11 @@
|
||||||
|
help
|
||||||
|
Now support GD25LQ64C
|
||||||
|
|
||||||
|
+config MTD_JZ_SFC_NORFLASH
|
||||||
|
+ bool "Support ingenic spi-mtd"
|
||||||
|
+ help
|
||||||
|
+ nothing
|
||||||
|
+
|
||||||
|
config MTD_JZ_SFC
|
||||||
|
tristate "Ingenic JZ series SFC driver"
|
||||||
|
depends on MACH_XBURST
|
||||||
|
@@ -93,7 +98,7 @@
|
||||||
|
|
||||||
|
config SFC_DMA
|
||||||
|
bool "used dma"
|
||||||
|
- depends on MTD_JZ_SFC_NOR
|
||||||
|
+ depends on (MTD_JZ_SFC_NOR || MTD_JZ_SFC_NORFLASH)
|
||||||
|
help
|
||||||
|
used dma
|
||||||
|
|
||||||
|
@@ -101,13 +106,13 @@
|
||||||
|
int "JZ SFC speed in MHZ"
|
||||||
|
range 10 200
|
||||||
|
default 50
|
||||||
|
- depends on MTD_JZ_SFC
|
||||||
|
+ depends on (MTD_JZ_SFC || MTD_JZ_SFC_NORFLASH)
|
||||||
|
help
|
||||||
|
Select sfc speed.
|
||||||
|
Examples:
|
||||||
|
50 => 50 MHZ
|
||||||
|
|
||||||
|
-if MTD_JZ_SFC
|
||||||
|
+if (MTD_JZ_SFC || MTD_JZ_SFC_NORFLASH)
|
||||||
|
|
||||||
|
choice
|
||||||
|
prompt "sfc Mode"
|
||||||
|
@@ -116,13 +121,13 @@
|
||||||
|
|
||||||
|
config SPI_STARDARD
|
||||||
|
bool "standard spi mode"
|
||||||
|
- depends on MTD_JZ_SFC
|
||||||
|
+ depends on (MTD_JZ_SFC || MTD_JZ_SFC_NORFLASH)
|
||||||
|
help
|
||||||
|
Say Y here to enable spi STANDARD MODE
|
||||||
|
|
||||||
|
config SPI_QUAD
|
||||||
|
bool "quad spi mode"
|
||||||
|
- depends on MTD_JZ_SFC
|
||||||
|
+ depends on (MTD_JZ_SFC || MTD_JZ_SFC_NORFLASH)
|
||||||
|
help
|
||||||
|
Say Y Here to enable spi QUAD MODE
|
||||||
|
endchoice
|
||||||
|
--- a/drivers/mtd/devices/Makefile
|
||||||
|
+++ b/drivers/mtd/devices/Makefile
|
||||||
|
@@ -18,6 +18,7 @@
|
||||||
|
obj-$(CONFIG_MTD_BCM47XXSFLASH) += bcm47xxsflash.o
|
||||||
|
obj-$(CONFIG_MTD_JZ_SPI_NORFLASH) += jz_spi_norflash.o
|
||||||
|
obj-$(CONFIG_MTD_JZ_SFC_NOR) += jz_sfc.o
|
||||||
|
+obj-$(CONFIG_MTD_JZ_SFC_NORFLASH) += jz_sfc.o
|
||||||
|
obj-$(CONFIG_MTD_JZ_SFC_NAND) += jz_sfc_common.o jz_sfc_nand.o nand_device/
|
||||||
|
|
||||||
|
|
|
@ -630,9 +630,7 @@ CONFIG_MTD_CFI_I2=y
|
||||||
# Self-contained MTD device drivers
|
# Self-contained MTD device drivers
|
||||||
#
|
#
|
||||||
# CONFIG_MTD_JZ_SPI_NORFLASH is not set
|
# CONFIG_MTD_JZ_SPI_NORFLASH is not set
|
||||||
CONFIG_MTD_JZ_SFC=y
|
CONFIG_MTD_JZ_SFC_NORFLASH=y
|
||||||
CONFIG_MTD_JZ_SFC_NOR=y
|
|
||||||
# CONFIG_MTD_JZ_SFC_NAND is not set
|
|
||||||
CONFIG_SFC_DMA=y
|
CONFIG_SFC_DMA=y
|
||||||
CONFIG_SFC_SPEED=50
|
CONFIG_SFC_SPEED=50
|
||||||
CONFIG_SPI_STARDARD=y
|
CONFIG_SPI_STARDARD=y
|
||||||
|
|
|
@ -633,9 +633,7 @@ CONFIG_MTD_CFI_I2=y
|
||||||
# Self-contained MTD device drivers
|
# Self-contained MTD device drivers
|
||||||
#
|
#
|
||||||
# CONFIG_MTD_JZ_SPI_NORFLASH is not set
|
# CONFIG_MTD_JZ_SPI_NORFLASH is not set
|
||||||
CONFIG_MTD_JZ_SFC=y
|
CONFIG_MTD_JZ_SFC_NORFLASH=y
|
||||||
CONFIG_MTD_JZ_SFC_NOR=y
|
|
||||||
# CONFIG_MTD_JZ_SFC_NAND is not set
|
|
||||||
CONFIG_SFC_DMA=y
|
CONFIG_SFC_DMA=y
|
||||||
CONFIG_SFC_SPEED=50
|
CONFIG_SFC_SPEED=50
|
||||||
CONFIG_SPI_STARDARD=y
|
CONFIG_SPI_STARDARD=y
|
||||||
|
@ -1219,9 +1217,10 @@ CONFIG_JZ_IPU_V13=y
|
||||||
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
|
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
|
||||||
# CONFIG_JZ_VPU_IRQ_TEST is not set
|
# CONFIG_JZ_VPU_IRQ_TEST is not set
|
||||||
# CONFIG_JZ_VPU is not set
|
# CONFIG_JZ_VPU is not set
|
||||||
CONFIG_AVPU=y
|
CONFIG_SOC_VPU=y
|
||||||
CONFIG_AVPU_NO_DMABUF=1
|
CONFIG_CHANNEL_NODE_NUM=4
|
||||||
CONFIG_AVPU_DRIVER=y
|
CONFIG_VPU_NODE_NUM=1
|
||||||
|
CONFIG_JZ_NVPU=y
|
||||||
CONFIG_SOUND=y
|
CONFIG_SOUND=y
|
||||||
CONFIG_SOUND_OSS_CORE=y
|
CONFIG_SOUND_OSS_CORE=y
|
||||||
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
|
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
|
||||||
|
|
|
@ -631,10 +631,7 @@ CONFIG_MTD_CFI_I2=y
|
||||||
#
|
#
|
||||||
# Self-contained MTD device drivers
|
# Self-contained MTD device drivers
|
||||||
#
|
#
|
||||||
# CONFIG_MTD_JZ_SPI_NORFLASH is not set
|
CONFIG_MTD_JZ_SFC_NORFLASH=y
|
||||||
CONFIG_MTD_JZ_SFC=y
|
|
||||||
CONFIG_MTD_JZ_SFC_NOR=y
|
|
||||||
# CONFIG_MTD_JZ_SFC_NAND is not set
|
|
||||||
CONFIG_SFC_DMA=y
|
CONFIG_SFC_DMA=y
|
||||||
CONFIG_SFC_SPEED=50
|
CONFIG_SFC_SPEED=50
|
||||||
CONFIG_SPI_STARDARD=y
|
CONFIG_SPI_STARDARD=y
|
||||||
|
|
|
@ -631,9 +631,7 @@ CONFIG_MTD_CFI_I2=y
|
||||||
# Self-contained MTD device drivers
|
# Self-contained MTD device drivers
|
||||||
#
|
#
|
||||||
# CONFIG_MTD_JZ_SPI_NORFLASH is not set
|
# CONFIG_MTD_JZ_SPI_NORFLASH is not set
|
||||||
CONFIG_MTD_JZ_SFC=y
|
CONFIG_MTD_JZ_SFC_NORFLASH=y
|
||||||
CONFIG_MTD_JZ_SFC_NOR=y
|
|
||||||
# CONFIG_MTD_JZ_SFC_NAND is not set
|
|
||||||
CONFIG_SFC_DMA=y
|
CONFIG_SFC_DMA=y
|
||||||
CONFIG_SFC_SPEED=50
|
CONFIG_SFC_SPEED=50
|
||||||
CONFIG_SPI_STARDARD=y
|
CONFIG_SPI_STARDARD=y
|
||||||
|
|
Loading…
Reference in New Issue