From f7513e2be0381244f4817d071d468f759c288fff Mon Sep 17 00:00:00 2001 From: morixhub Date: Tue, 9 Dec 2014 09:26:36 +0100 Subject: [PATCH 1/4] Limited Ethernet speed to 10/100 Mbps --- drivers/net/phy/micrel.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c index 2510435f34e..c49be48111e 100644 --- a/drivers/net/phy/micrel.c +++ b/drivers/net/phy/micrel.c @@ -287,6 +287,22 @@ static struct phy_driver ksphy_driver[] = { .ack_interrupt = kszphy_ack_interrupt, .config_intr = ksz9021_config_intr, .driver = { .owner = THIS_MODULE, }, +}, { + .phy_id = PHY_ID_KSZ9031, + .phy_id_mask = 0x00fffff0, + .name = "Micrel KSZ9031 Gigabit PHY", + .features = (PHY_BASIC_FEATURES | SUPPORTED_Pause + | SUPPORTED_Asym_Pause), + .flags = PHY_HAS_MAGICANEG | PHY_HAS_INTERRUPT, + .config_init = kszphy_config_init, + .config_aneg = genphy_config_aneg, + .read_status = genphy_read_status, + .ack_interrupt = kszphy_ack_interrupt, + .config_intr = ksz9021_config_intr, + .driver = { .owner = THIS_MODULE, }, +}, { + +/* }, { .phy_id = PHY_ID_KSZ9031, .phy_id_mask = 0x00fffff0, @@ -301,6 +317,7 @@ static struct phy_driver ksphy_driver[] = { .config_intr = ksz9021_config_intr, .driver = { .owner = THIS_MODULE, }, }, { +*/ .phy_id = PHY_ID_KSZ8873MLL, .phy_id_mask = 0x00fffff0, .name = "Micrel KSZ8873MLL Switch", From f48868ae39dd2e14d29442c3cd6de1cac1ced7f4 Mon Sep 17 00:00:00 2001 From: morixhub Date: Tue, 9 Dec 2014 11:26:42 +0100 Subject: [PATCH 2/4] Added kernel parameter for enabling Gigabit ethernet --- drivers/net/phy/micrel.c | 43 ++++++++++++++++++++++++---------------- 1 file changed, 26 insertions(+), 17 deletions(-) diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c index c49be48111e..78b7fb8f353 100644 --- a/drivers/net/phy/micrel.c +++ b/drivers/net/phy/micrel.c @@ -53,6 +53,17 @@ #define KS8737_CTRL_INT_ACTIVE_HIGH (1 << 14) #define KSZ8051_RMII_50MHZ_CLK (1 << 7) +static int gigabit_enabled __initdata = 0; + +static int __init gigabit_setup(char *gigabit) +{ + if(gigabit != 0 && strcmp(gigabit, "1") == 0) + gigabit_enabled = 1; + + return 1; +} +__setup("gigabit=", gigabit_setup); + static int ksz_config_flags(struct phy_device *phydev) { int regval; @@ -287,22 +298,6 @@ static struct phy_driver ksphy_driver[] = { .ack_interrupt = kszphy_ack_interrupt, .config_intr = ksz9021_config_intr, .driver = { .owner = THIS_MODULE, }, -}, { - .phy_id = PHY_ID_KSZ9031, - .phy_id_mask = 0x00fffff0, - .name = "Micrel KSZ9031 Gigabit PHY", - .features = (PHY_BASIC_FEATURES | SUPPORTED_Pause - | SUPPORTED_Asym_Pause), - .flags = PHY_HAS_MAGICANEG | PHY_HAS_INTERRUPT, - .config_init = kszphy_config_init, - .config_aneg = genphy_config_aneg, - .read_status = genphy_read_status, - .ack_interrupt = kszphy_ack_interrupt, - .config_intr = ksz9021_config_intr, - .driver = { .owner = THIS_MODULE, }, -}, { - -/* }, { .phy_id = PHY_ID_KSZ9031, .phy_id_mask = 0x00fffff0, @@ -317,7 +312,6 @@ static struct phy_driver ksphy_driver[] = { .config_intr = ksz9021_config_intr, .driver = { .owner = THIS_MODULE, }, }, { -*/ .phy_id = PHY_ID_KSZ8873MLL, .phy_id_mask = 0x00fffff0, .name = "Micrel KSZ8873MLL Switch", @@ -341,6 +335,21 @@ static struct phy_driver ksphy_driver[] = { static int __init ksphy_init(void) { + // Tweak KSZ9031 + int i = 0; + for(i = 0; i < ARRAY_SIZE(ksphy_driver); i++) + { + if(ksphy_driver[i].phy_id == PHY_ID_KSZ9031) + { + if(gigabit_enabled) + ksphy_driver[i].features = (PHY_GBIT_FEATURES | SUPPORTED_Pause | SUPPORTED_Asym_Pause); + else + ksphy_driver[i].features = (PHY_BASIC_FEATURES | SUPPORTED_Pause | SUPPORTED_Asym_Pause); + + break; + } + } + return phy_drivers_register(ksphy_driver, ARRAY_SIZE(ksphy_driver)); } From 11ac51c68694cf31af82e396e455f5112ec9c750 Mon Sep 17 00:00:00 2001 From: morixhub Date: Mon, 9 Mar 2015 09:46:21 +0100 Subject: [PATCH 3/4] Added ClickTouch touchscreen to default settings for silverbullet --- arch/arm/configs/silverbullet_defconfig | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/arm/configs/silverbullet_defconfig b/arch/arm/configs/silverbullet_defconfig index 1a635513e97..ddabef08f0a 100644 --- a/arch/arm/configs/silverbullet_defconfig +++ b/arch/arm/configs/silverbullet_defconfig @@ -375,3 +375,5 @@ CONFIG_CRC_CCITT=m CONFIG_CRC_T10DIF=y CONFIG_CRC7=m CONFIG_LIBCRC32C=m +CONFIG_TOUCHSCREEN_CLICKTOUCH=y + From b0c62fcfc8d833fe586d1184922a715b097f858d Mon Sep 17 00:00:00 2001 From: morixhub Date: Fri, 19 Jun 2015 16:56:23 +0200 Subject: [PATCH 4/4] Removed ID95APM watchdog (making use of internal IMX watchdog) --- arch/arm/configs/silverbullet_defconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/configs/silverbullet_defconfig b/arch/arm/configs/silverbullet_defconfig index ddabef08f0a..eb9b4214ced 100644 --- a/arch/arm/configs/silverbullet_defconfig +++ b/arch/arm/configs/silverbullet_defconfig @@ -173,7 +173,7 @@ CONFIG_CPU_THERMAL=y CONFIG_IMX_THERMAL=y CONFIG_DEVICE_THERMAL=y CONFIG_WATCHDOG=y -CONFIG_ID95APM_WATCHDOG=y +# CONFIG_ID95APM_WATCHDOG is not set CONFIG_IMX2_WDT=y CONFIG_MFD_DA9052_I2C=y CONFIG_MFD_ID95APM=y