ARC fixes for 4.14-rc7
- Fixes for HSDK platform - module build error for !LLSC config -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJZ85wFAAoJEGnX8d3iisJek7AP/15Lne5KOxOKbI086KQ+KUYr gv9AQF478heJVRT1BKe+CmLtljhIXH3UTpQQdsW5IO1wDKHPzTTzi9Orsb/XVgaK 3hTvu0VwODK7FszlhCTkNfX/eQTuqLkoMtITpGTBkSfWOZqgTf5+DvVwszcpy77z baeMyyDRD54fCJeA5qe/HDa1FYxbzvf5ME9VhixvNOl7T6XaiCvkAQVlDXMi9gtQ D4UN1vujM3MX3zc2reINd55ZKNxCIW1wFCzPin6yQT1dVsg7djk1cixnjcLg09bi JENoEuaYbr3t8jpeO/B3sDKA0wzGDs2gd3mEzZedCfcpELHVmdFSOIdQ+mi36CIy Ah71ZiPjVMGHCEqRPBQcJ0/8QyxrwU2H9N4G/7LCmngICMlcQPWFcDDJ0sBaBxkS FFl1ni+x3XOWXq1TTKPW+oRp2Qkj/S0LB5C5J2EFvj0NyKqHNclu640cyExMJpBQ cApv1dvBDttMbUXUkYODBZkBHtHs2EIGN8OqqKNWy/R+riHbtjLD92YEYE3PEY5r g+V+q+xE4aplczhezHTwQuXbl/hB2aaHU/MhCdjLNF6aHkziS0/IGJIH+dbWZZMe bamgZFfy72QNQIJkbqANyv9R8Z77Xk0bFBCQ4OdlvQUAqwhGLAf5rDzl8QFLNk0B zqyKxfnZQdCQmrCYyYp3 =bbQ3 -----END PGP SIGNATURE----- Merge tag 'arc-4.14-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc Pull ARC fixes from Vineet Gupta: - Fixes for HSDK platform - module build error for !LLSC config * tag 'arc-4.14-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc: ARC: unbork module link errors with !CONFIG_ARC_HAS_LLSC ARC: [plat-hsdk] Increase SDIO CIU frequency to 50000000Hz ARC: [plat-hsdk] select CONFIG_RESET_HSDK from Kconfig
This commit is contained in:
Коммит
90e6872061
|
@ -137,14 +137,15 @@
|
|||
/*
|
||||
* DW sdio controller has external ciu clock divider
|
||||
* controlled via register in SDIO IP. Due to its
|
||||
* unexpected default value (it should devide by 1
|
||||
* but it devides by 8) SDIO IP uses wrong clock and
|
||||
* unexpected default value (it should divide by 1
|
||||
* but it divides by 8) SDIO IP uses wrong clock and
|
||||
* works unstable (see STAR 9001204800)
|
||||
* We switched to the minimum possible value of the
|
||||
* divisor (div-by-2) in HSDK platform code.
|
||||
* So add temporary fix and change clock frequency
|
||||
* from 100000000 to 12500000 Hz until we fix dw sdio
|
||||
* driver itself.
|
||||
* to 50000000 Hz until we fix dw sdio driver itself.
|
||||
*/
|
||||
clock-frequency = <12500000>;
|
||||
clock-frequency = <50000000>;
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
|
||||
|
|
|
@ -63,7 +63,6 @@ CONFIG_MMC_SDHCI=y
|
|||
CONFIG_MMC_SDHCI_PLTFM=y
|
||||
CONFIG_MMC_DW=y
|
||||
# CONFIG_IOMMU_SUPPORT is not set
|
||||
CONFIG_RESET_HSDK=y
|
||||
CONFIG_EXT3_FS=y
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
|
|
|
@ -23,6 +23,8 @@
|
|||
#include <linux/cpumask.h>
|
||||
#include <linux/reboot.h>
|
||||
#include <linux/irqdomain.h>
|
||||
#include <linux/export.h>
|
||||
|
||||
#include <asm/processor.h>
|
||||
#include <asm/setup.h>
|
||||
#include <asm/mach_desc.h>
|
||||
|
@ -30,6 +32,9 @@
|
|||
#ifndef CONFIG_ARC_HAS_LLSC
|
||||
arch_spinlock_t smp_atomic_ops_lock = __ARCH_SPIN_LOCK_UNLOCKED;
|
||||
arch_spinlock_t smp_bitops_lock = __ARCH_SPIN_LOCK_UNLOCKED;
|
||||
|
||||
EXPORT_SYMBOL_GPL(smp_atomic_ops_lock);
|
||||
EXPORT_SYMBOL_GPL(smp_bitops_lock);
|
||||
#endif
|
||||
|
||||
struct plat_smp_ops __weak plat_smp_ops;
|
||||
|
|
|
@ -8,3 +8,4 @@
|
|||
menuconfig ARC_SOC_HSDK
|
||||
bool "ARC HS Development Kit SOC"
|
||||
select CLK_HSDK
|
||||
select RESET_HSDK
|
||||
|
|
|
@ -74,6 +74,10 @@ static void __init hsdk_set_cpu_freq_1ghz(void)
|
|||
pr_err("Failed to setup CPU frequency to 1GHz!");
|
||||
}
|
||||
|
||||
#define SDIO_BASE (ARC_PERIPHERAL_BASE + 0xA000)
|
||||
#define SDIO_UHS_REG_EXT (SDIO_BASE + 0x108)
|
||||
#define SDIO_UHS_REG_EXT_DIV_2 (2 << 30)
|
||||
|
||||
static void __init hsdk_init_early(void)
|
||||
{
|
||||
/*
|
||||
|
@ -89,6 +93,12 @@ static void __init hsdk_init_early(void)
|
|||
/* Really apply settings made above */
|
||||
writel(1, (void __iomem *) CREG_PAE_UPDATE);
|
||||
|
||||
/*
|
||||
* Switch SDIO external ciu clock divider from default div-by-8 to
|
||||
* minimum possible div-by-2.
|
||||
*/
|
||||
iowrite32(SDIO_UHS_REG_EXT_DIV_2, (void __iomem *) SDIO_UHS_REG_EXT);
|
||||
|
||||
/*
|
||||
* Setup CPU frequency to 1GHz.
|
||||
* TODO: remove it after smart hsdk pll driver will be introduced.
|
||||
|
|
Загрузка…
Ссылка в новой задаче