Fix T10-T30 configs & patches ( thx @p0isk )

pull/235/head
Dmitry Ermakov 2022-06-03 00:27:07 +03:00
parent 80b12ca43a
commit b4e1146679
7 changed files with 222 additions and 16 deletions

View File

@ -31,3 +31,133 @@
if(clk->parent == get_clk_from_id(CLK_ID_EXT1))
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;

View File

@ -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)) {

View File

@ -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/

View File

@ -630,9 +630,7 @@ CONFIG_MTD_CFI_I2=y
# Self-contained MTD device drivers
#
# CONFIG_MTD_JZ_SPI_NORFLASH is not set
CONFIG_MTD_JZ_SFC=y
CONFIG_MTD_JZ_SFC_NOR=y
# CONFIG_MTD_JZ_SFC_NAND is not set
CONFIG_MTD_JZ_SFC_NORFLASH=y
CONFIG_SFC_DMA=y
CONFIG_SFC_SPEED=50
CONFIG_SPI_STARDARD=y

View File

@ -633,9 +633,7 @@ CONFIG_MTD_CFI_I2=y
# Self-contained MTD device drivers
#
# CONFIG_MTD_JZ_SPI_NORFLASH is not set
CONFIG_MTD_JZ_SFC=y
CONFIG_MTD_JZ_SFC_NOR=y
# CONFIG_MTD_JZ_SFC_NAND is not set
CONFIG_MTD_JZ_SFC_NORFLASH=y
CONFIG_SFC_DMA=y
CONFIG_SFC_SPEED=50
CONFIG_SPI_STARDARD=y
@ -1219,9 +1217,10 @@ CONFIG_JZ_IPU_V13=y
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
# CONFIG_JZ_VPU_IRQ_TEST is not set
# CONFIG_JZ_VPU is not set
CONFIG_AVPU=y
CONFIG_AVPU_NO_DMABUF=1
CONFIG_AVPU_DRIVER=y
CONFIG_SOC_VPU=y
CONFIG_CHANNEL_NODE_NUM=4
CONFIG_VPU_NODE_NUM=1
CONFIG_JZ_NVPU=y
CONFIG_SOUND=y
CONFIG_SOUND_OSS_CORE=y
CONFIG_SOUND_OSS_CORE_PRECLAIM=y

View File

@ -631,10 +631,7 @@ CONFIG_MTD_CFI_I2=y
#
# Self-contained MTD device drivers
#
# CONFIG_MTD_JZ_SPI_NORFLASH is not set
CONFIG_MTD_JZ_SFC=y
CONFIG_MTD_JZ_SFC_NOR=y
# CONFIG_MTD_JZ_SFC_NAND is not set
CONFIG_MTD_JZ_SFC_NORFLASH=y
CONFIG_SFC_DMA=y
CONFIG_SFC_SPEED=50
CONFIG_SPI_STARDARD=y

View File

@ -631,9 +631,7 @@ CONFIG_MTD_CFI_I2=y
# Self-contained MTD device drivers
#
# CONFIG_MTD_JZ_SPI_NORFLASH is not set
CONFIG_MTD_JZ_SFC=y
CONFIG_MTD_JZ_SFC_NOR=y
# CONFIG_MTD_JZ_SFC_NAND is not set
CONFIG_MTD_JZ_SFC_NORFLASH=y
CONFIG_SFC_DMA=y
CONFIG_SFC_SPEED=50
CONFIG_SPI_STARDARD=y