update to 3.16-rc4
* dump bunch of merged ARM patches and minor fixes * fixup firmware printk patch TODO: cgroups, xen microcode, kbuild nostdinc svn path=/dists/trunk/linux/; revision=21541
This commit is contained in:
parent
61029989a3
commit
2dc885a834
|
@ -1,3 +1,9 @@
|
|||
linux (3.16~rc4-1~exp1) UNRELEASED; urgency=medium
|
||||
|
||||
* New upstream rc
|
||||
|
||||
-- maximilian attems <maks@debian.org> Thu, 10 Jul 2014 16:02:29 +0200
|
||||
|
||||
linux (3.15.5-1~exp1) experimental; urgency=medium
|
||||
|
||||
* New upstream stable update:
|
||||
|
|
|
@ -342,7 +342,7 @@ upstream submission.
|
|||
ret = qib_ibsd_ucode_loaded(dd->pport, fw);
|
||||
--- a/drivers/input/touchscreen/atmel_mxt_ts.c
|
||||
+++ b/drivers/input/touchscreen/atmel_mxt_ts.c
|
||||
@@ -985,10 +985,8 @@ static int mxt_load_fw(struct device *de
|
||||
@@ -1236,10 +1236,8 @@ static int mxt_load_fw(struct device *de
|
||||
int ret;
|
||||
|
||||
ret = request_firmware(&fw, fn, dev);
|
||||
|
@ -352,8 +352,8 @@ upstream submission.
|
|||
return ret;
|
||||
- }
|
||||
|
||||
/* Change to the bootloader mode */
|
||||
mxt_write_object(data, MXT_GEN_COMMAND_T6,
|
||||
/* Check for incorrect enc file */
|
||||
ret = mxt_check_firmware_format(dev, fw);
|
||||
--- a/drivers/isdn/hardware/mISDN/speedfax.c
|
||||
+++ b/drivers/isdn/hardware/mISDN/speedfax.c
|
||||
@@ -392,11 +392,8 @@ setup_instance(struct sfax_hw *card)
|
||||
|
@ -1526,20 +1526,6 @@ upstream submission.
|
|||
if ((*fw)->size < sizeof(struct b43legacy_fw_header))
|
||||
goto err_format;
|
||||
hdr = (struct b43legacy_fw_header *)((*fw)->data);
|
||||
--- a/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
|
||||
+++ b/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
|
||||
@@ -663,10 +663,8 @@ static const struct firmware *brcmf_sdio
|
||||
|
||||
found:
|
||||
err = request_firmware(&fw, name, &bus->sdiodev->func[2]->dev);
|
||||
- if ((err) || (!fw)) {
|
||||
- brcmf_err("fail to request firmware %s (%d)\n", name, err);
|
||||
+ if (err)
|
||||
return NULL;
|
||||
- }
|
||||
|
||||
return fw;
|
||||
}
|
||||
--- a/drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c
|
||||
+++ b/drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c
|
||||
@@ -379,19 +379,13 @@ static int brcms_request_fw(struct brcms
|
||||
|
@ -1729,7 +1715,7 @@ upstream submission.
|
|||
--- a/drivers/net/wireless/orinoco/orinoco_usb.c
|
||||
+++ b/drivers/net/wireless/orinoco/orinoco_usb.c
|
||||
@@ -1690,7 +1690,6 @@ static int ezusb_probe(struct usb_interf
|
||||
if (ezusb_firmware_download(upriv, &firmware))
|
||||
if (ezusb_firmware_download(upriv, &firmware) < 0)
|
||||
goto error;
|
||||
} else {
|
||||
- err("No firmware to download");
|
||||
|
@ -2228,7 +2214,7 @@ upstream submission.
|
|||
ret = request_firmware(&fw, file, &adapter->pcidev->dev);
|
||||
- if (ret) {
|
||||
- dev_err(&adapter->pcidev->dev,
|
||||
- "SLICOSS: Failed to load firmware %s\n", file);
|
||||
- "Failed to load firmware %s\n", file);
|
||||
+ if (ret)
|
||||
return ret;
|
||||
- }
|
||||
|
@ -2241,7 +2227,7 @@ upstream submission.
|
|||
ret = request_firmware(&fw, file, &adapter->pcidev->dev);
|
||||
- if (ret) {
|
||||
- dev_err(&adapter->pcidev->dev,
|
||||
- "SLICOSS: Failed to load firmware %s\n", file);
|
||||
- "Failed to load firmware %s\n", file);
|
||||
+ if (ret)
|
||||
return ret;
|
||||
- }
|
||||
|
@ -2251,7 +2237,7 @@ upstream submission.
|
|||
--- a/drivers/staging/vt6656/firmware.c
|
||||
+++ b/drivers/staging/vt6656/firmware.c
|
||||
@@ -57,11 +57,8 @@ int FIRMWAREbDownload(struct vnt_private
|
||||
spin_unlock_irq(&pDevice->lock);
|
||||
DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"---->Download firmware\n");
|
||||
|
||||
rc = request_firmware(&fw, FIRMWARE_NAME, dev);
|
||||
- if (rc) {
|
||||
|
|
|
@ -1,105 +0,0 @@
|
|||
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
|
||||
Date: Tue, 20 May 2014 11:01:28 +1000
|
||||
Subject: powerpc/powernv: Add calls to support little endian host
|
||||
Origin: https://git.kernel.org/linus/4926616c77435e735c59288f838e7761baec4a6c
|
||||
|
||||
When running as a powernv "host" system on P8, we need to switch
|
||||
the endianness of interrupt handlers. This does it via the appropriate
|
||||
call to the OPAL firmware which may result in just switching HID0:HILE
|
||||
but depending on the processor version might need to do a few more
|
||||
things. This call must be done early before any other processor has
|
||||
been brought out of firmware.
|
||||
|
||||
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
|
||||
Signed-off-by: Andy Whitcroft <apw@canonical.com>
|
||||
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
|
||||
---
|
||||
arch/powerpc/include/asm/opal.h | 7 +++++++
|
||||
arch/powerpc/platforms/powernv/opal-wrappers.S | 1 +
|
||||
arch/powerpc/platforms/powernv/opal.c | 22 ++++++++++++++++++++++
|
||||
3 files changed, 30 insertions(+)
|
||||
|
||||
diff --git a/arch/powerpc/include/asm/opal.h b/arch/powerpc/include/asm/opal.h
|
||||
index 81720ff..ea8bba7 100644
|
||||
--- a/arch/powerpc/include/asm/opal.h
|
||||
+++ b/arch/powerpc/include/asm/opal.h
|
||||
@@ -154,6 +154,7 @@ extern int opal_enter_rtas(struct rtas_args *args,
|
||||
#define OPAL_LPC_READ 67
|
||||
#define OPAL_LPC_WRITE 68
|
||||
#define OPAL_RETURN_CPU 69
|
||||
+#define OPAL_REINIT_CPUS 70
|
||||
#define OPAL_ELOG_READ 71
|
||||
#define OPAL_ELOG_WRITE 72
|
||||
#define OPAL_ELOG_ACK 73
|
||||
@@ -725,6 +726,11 @@ struct OpalIoPhb3ErrorData {
|
||||
uint64_t pestB[OPAL_PHB3_NUM_PEST_REGS];
|
||||
};
|
||||
|
||||
+enum {
|
||||
+ OPAL_REINIT_CPUS_HILE_BE = (1 << 0),
|
||||
+ OPAL_REINIT_CPUS_HILE_LE = (1 << 1),
|
||||
+};
|
||||
+
|
||||
typedef struct oppanel_line {
|
||||
const char * line;
|
||||
uint64_t line_len;
|
||||
@@ -849,6 +855,7 @@ int64_t opal_pci_next_error(uint64_t phb_id, uint64_t *first_frozen_pe,
|
||||
uint16_t *pci_error_type, uint16_t *severity);
|
||||
int64_t opal_pci_poll(uint64_t phb_id);
|
||||
int64_t opal_return_cpu(void);
|
||||
+int64_t opal_reinit_cpus(uint64_t flags);
|
||||
|
||||
int64_t opal_xscom_read(uint32_t gcid, uint64_t pcb_addr, __be64 *val);
|
||||
int64_t opal_xscom_write(uint32_t gcid, uint64_t pcb_addr, uint64_t val);
|
||||
diff --git a/arch/powerpc/platforms/powernv/opal-wrappers.S b/arch/powerpc/platforms/powernv/opal-wrappers.S
|
||||
index b5ebc54..4abbff2 100644
|
||||
--- a/arch/powerpc/platforms/powernv/opal-wrappers.S
|
||||
+++ b/arch/powerpc/platforms/powernv/opal-wrappers.S
|
||||
@@ -124,6 +124,7 @@ OPAL_CALL(opal_xscom_write, OPAL_XSCOM_WRITE);
|
||||
OPAL_CALL(opal_lpc_read, OPAL_LPC_READ);
|
||||
OPAL_CALL(opal_lpc_write, OPAL_LPC_WRITE);
|
||||
OPAL_CALL(opal_return_cpu, OPAL_RETURN_CPU);
|
||||
+OPAL_CALL(opal_reinit_cpus, OPAL_REINIT_CPUS);
|
||||
OPAL_CALL(opal_read_elog, OPAL_ELOG_READ);
|
||||
OPAL_CALL(opal_send_ack_elog, OPAL_ELOG_ACK);
|
||||
OPAL_CALL(opal_get_elog_size, OPAL_ELOG_SIZE);
|
||||
diff --git a/arch/powerpc/platforms/powernv/opal.c b/arch/powerpc/platforms/powernv/opal.c
|
||||
index 360ad80c..539243e 100644
|
||||
--- a/arch/powerpc/platforms/powernv/opal.c
|
||||
+++ b/arch/powerpc/platforms/powernv/opal.c
|
||||
@@ -57,6 +57,21 @@ static DEFINE_SPINLOCK(opal_notifier_lock);
|
||||
static uint64_t last_notified_mask = 0x0ul;
|
||||
static atomic_t opal_notifier_hold = ATOMIC_INIT(0);
|
||||
|
||||
+static void opal_reinit_cores(void)
|
||||
+{
|
||||
+ /* Do the actual re-init, This will clobber all FPRs, VRs, etc...
|
||||
+ *
|
||||
+ * It will preserve non volatile GPRs and HSPRG0/1. It will
|
||||
+ * also restore HIDs and other SPRs to their original value
|
||||
+ * but it might clobber a bunch.
|
||||
+ */
|
||||
+#ifdef __BIG_ENDIAN__
|
||||
+ opal_reinit_cpus(OPAL_REINIT_CPUS_HILE_BE);
|
||||
+#else
|
||||
+ opal_reinit_cpus(OPAL_REINIT_CPUS_HILE_LE);
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
int __init early_init_dt_scan_opal(unsigned long node,
|
||||
const char *uname, int depth, void *data)
|
||||
{
|
||||
@@ -96,6 +111,13 @@ int __init early_init_dt_scan_opal(unsigned long node,
|
||||
printk("OPAL V1 detected !\n");
|
||||
}
|
||||
|
||||
+ /* Reinit all cores with the right endian */
|
||||
+ opal_reinit_cores();
|
||||
+
|
||||
+ /* Restore some bits */
|
||||
+ if (cur_cpu_spec->cpu_restore)
|
||||
+ cur_cpu_spec->cpu_restore();
|
||||
+
|
||||
return 1;
|
||||
}
|
||||
|
|
@ -20,8 +20,6 @@ rm drivers/staging/ft1000/ft1000-*/*.img
|
|||
|
||||
rm drivers/staging/keucr/init.h
|
||||
|
||||
unifdef drivers/staging/rtl8192e/rtl8192e/r8192E_hwimg.c -UREMOVE_DFSG
|
||||
|
||||
rm drivers/staging/wlags49_h2/ap_*.c
|
||||
rm drivers/staging/wlags49_h2/sta_*.c
|
||||
|
||||
|
|
|
@ -1,202 +0,0 @@
|
|||
From: Ben Hutchings <ben@decadent.org.uk>
|
||||
Date: Thu, 24 Apr 2014 03:16:05 +0100
|
||||
Subject: Staging: rtl8192e: Remove built-in firmware images
|
||||
Origin: https://git.kernel.org/cgit/linux/kernel/git/gregkh/staging.git/commit?id=84fcb4b3a3716662ee2f7e0c8270241c71baeb97
|
||||
|
||||
The driver can already use request_firmware() to load firmware, and
|
||||
always does so. There is code in init_firmware() to use the static
|
||||
firmware images, but it's unreachable! Remove the data and simplify
|
||||
init_firmware() accordingly.
|
||||
|
||||
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
|
||||
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
[bwh: For Debian, insert markers for unifdef rather than quoting the firmware
|
||||
to be removed]
|
||||
---
|
||||
diff --git a/drivers/staging/rtl8192e/rtl8192e/Kconfig b/drivers/staging/rtl8192e/rtl8192e/Kconfig
|
||||
index ad82bc3..282e293 100644
|
||||
--- a/drivers/staging/rtl8192e/rtl8192e/Kconfig
|
||||
+++ b/drivers/staging/rtl8192e/rtl8192e/Kconfig
|
||||
@@ -5,4 +5,5 @@ config RTL8192E
|
||||
select WIRELESS_EXT
|
||||
select WEXT_PRIV
|
||||
select CRYPTO
|
||||
+ select FW_LOADER
|
||||
---help---
|
||||
diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.c
|
||||
index abcd22f..1a95d1f 100644
|
||||
--- a/drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.c
|
||||
+++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.c
|
||||
@@ -228,13 +228,6 @@ bool init_firmware(struct net_device *dev)
|
||||
struct r8192_priv *priv = rtllib_priv(dev);
|
||||
bool rt_status = true;
|
||||
|
||||
- u8 *firmware_img_buf[3] = { &Rtl8192PciEFwBootArray[0],
|
||||
- &Rtl8192PciEFwMainArray[0],
|
||||
- &Rtl8192PciEFwDataArray[0]};
|
||||
-
|
||||
- u32 firmware_img_len[3] = { sizeof(Rtl8192PciEFwBootArray),
|
||||
- sizeof(Rtl8192PciEFwMainArray),
|
||||
- sizeof(Rtl8192PciEFwDataArray)};
|
||||
u32 file_length = 0;
|
||||
u8 *mapped_file = NULL;
|
||||
u8 init_step = 0;
|
||||
@@ -257,77 +250,55 @@ bool init_firmware(struct net_device *dev)
|
||||
" firmware state\n");
|
||||
}
|
||||
|
||||
- priv->firmware_source = FW_SOURCE_IMG_FILE;
|
||||
for (init_step = starting_state; init_step <= FW_INIT_STEP2_DATA;
|
||||
init_step++) {
|
||||
if (rst_opt == OPT_SYSTEM_RESET) {
|
||||
- switch (priv->firmware_source) {
|
||||
- case FW_SOURCE_IMG_FILE:
|
||||
- {
|
||||
- if (pfirmware->firmware_buf_size[init_step] == 0) {
|
||||
- const char *fw_name[3] = {
|
||||
- RTL8192E_BOOT_IMG_FW,
|
||||
- RTL8192E_MAIN_IMG_FW,
|
||||
- RTL8192E_DATA_IMG_FW
|
||||
- };
|
||||
- const struct firmware *fw_entry;
|
||||
- int rc;
|
||||
- rc = request_firmware(&fw_entry,
|
||||
- fw_name[init_step], &priv->pdev->dev);
|
||||
- if (rc < 0) {
|
||||
- RT_TRACE(COMP_FIRMWARE, "request firm"
|
||||
- "ware fail!\n");
|
||||
- goto download_firmware_fail;
|
||||
- }
|
||||
- if (fw_entry->size >
|
||||
+ if (pfirmware->firmware_buf_size[init_step] == 0) {
|
||||
+ const char *fw_name[3] = {
|
||||
+ RTL8192E_BOOT_IMG_FW,
|
||||
+ RTL8192E_MAIN_IMG_FW,
|
||||
+ RTL8192E_DATA_IMG_FW
|
||||
+ };
|
||||
+ const struct firmware *fw_entry;
|
||||
+ int rc;
|
||||
+ rc = request_firmware(&fw_entry,
|
||||
+ fw_name[init_step],
|
||||
+ &priv->pdev->dev);
|
||||
+ if (rc < 0) {
|
||||
+ RT_TRACE(COMP_FIRMWARE, "request firmware fail!\n");
|
||||
+ goto download_firmware_fail;
|
||||
+ }
|
||||
+ if (fw_entry->size >
|
||||
sizeof(pfirmware->firmware_buf[init_step])) {
|
||||
- RT_TRACE(COMP_FIRMWARE, "img file size "
|
||||
+ RT_TRACE(COMP_FIRMWARE, "img file size "
|
||||
"exceed the container struct "
|
||||
"buffer fail!\n");
|
||||
- goto download_firmware_fail;
|
||||
- }
|
||||
+ goto download_firmware_fail;
|
||||
+ }
|
||||
|
||||
- if (init_step != FW_INIT_STEP1_MAIN) {
|
||||
- memcpy(pfirmware->firmware_buf[init_step],
|
||||
+ if (init_step != FW_INIT_STEP1_MAIN) {
|
||||
+ memcpy(pfirmware->firmware_buf[init_step],
|
||||
fw_entry->data, fw_entry->size);
|
||||
- pfirmware->firmware_buf_size[init_step] =
|
||||
- fw_entry->size;
|
||||
+ pfirmware->firmware_buf_size[init_step] =
|
||||
+ fw_entry->size;
|
||||
|
||||
- } else {
|
||||
- memset(pfirmware->firmware_buf[init_step],
|
||||
+ } else {
|
||||
+ memset(pfirmware->firmware_buf[init_step],
|
||||
0, 128);
|
||||
- memcpy(&pfirmware->firmware_buf[init_step][128],
|
||||
+ memcpy(&pfirmware->firmware_buf[init_step][128],
|
||||
fw_entry->data, fw_entry->size);
|
||||
- pfirmware->firmware_buf_size[init_step] =
|
||||
- fw_entry->size + 128;
|
||||
- }
|
||||
-
|
||||
- if (rst_opt == OPT_SYSTEM_RESET)
|
||||
- release_firmware(fw_entry);
|
||||
+ pfirmware->firmware_buf_size[init_step] =
|
||||
+ fw_entry->size + 128;
|
||||
}
|
||||
- mapped_file = pfirmware->firmware_buf[init_step];
|
||||
- file_length = pfirmware->firmware_buf_size[init_step];
|
||||
- break;
|
||||
- }
|
||||
- case FW_SOURCE_HEADER_FILE:
|
||||
- mapped_file = firmware_img_buf[init_step];
|
||||
- file_length = firmware_img_len[init_step];
|
||||
- if (init_step == FW_INIT_STEP2_DATA) {
|
||||
- memcpy(pfirmware->firmware_buf[init_step], mapped_file, file_length);
|
||||
- pfirmware->firmware_buf_size[init_step] = file_length;
|
||||
- }
|
||||
- break;
|
||||
|
||||
- default:
|
||||
- break;
|
||||
+ if (rst_opt == OPT_SYSTEM_RESET)
|
||||
+ release_firmware(fw_entry);
|
||||
}
|
||||
-
|
||||
-
|
||||
- } else if (rst_opt == OPT_FIRMWARE_RESET) {
|
||||
- mapped_file = pfirmware->firmware_buf[init_step];
|
||||
- file_length = pfirmware->firmware_buf_size[init_step];
|
||||
}
|
||||
|
||||
+ mapped_file = pfirmware->firmware_buf[init_step];
|
||||
+ file_length = pfirmware->firmware_buf_size[init_step];
|
||||
+
|
||||
rt_status = fw_download_code(dev, mapped_file, file_length);
|
||||
if (!rt_status) {
|
||||
goto download_firmware_fail;
|
||||
diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.h b/drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.h
|
||||
index 06d6abc..94fa16b 100644
|
||||
--- a/drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.h
|
||||
+++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.h
|
||||
@@ -43,11 +43,6 @@ enum desc_packet_type {
|
||||
DESC_PACKET_TYPE_NORMAL = 1,
|
||||
};
|
||||
|
||||
-enum firmware_source {
|
||||
- FW_SOURCE_IMG_FILE = 0,
|
||||
- FW_SOURCE_HEADER_FILE = 1,
|
||||
-};
|
||||
-
|
||||
enum firmware_status {
|
||||
FW_STATUS_0_INIT = 0,
|
||||
FW_STATUS_1_MOVE_BOOT_CODE = 1,
|
||||
diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_hwimg.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_hwimg.c
|
||||
index 08e7dbb..6767b59 100644
|
||||
--- a/drivers/staging/rtl8192e/rtl8192e/r8192E_hwimg.c
|
||||
+++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_hwimg.c
|
||||
@@ -20,6 +20,7 @@
|
||||
|
||||
#include "r8192E_hwimg.h"
|
||||
|
||||
+#ifdef REMOVE_DFSG
|
||||
u8 Rtl8192PciEFwBootArray[BootArrayLengthPciE] = {
|
||||
0x10,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x3c,0x08,0xbf,0xc0,0x25,0x08,0x00,0x08,
|
||||
0x3c,0x09,0xb0,0x03,0xad,0x28,0x00,0x20,0x40,0x80,0x68,0x00,0x00,0x00,0x00,0x00,
|
||||
@@ -2791,6 +2792,7 @@ u8 Rtl8192PciEFwDataArray[DataArrayLengthPciE] = {
|
||||
0x80,0x00,0x8f,0xd8,0x80,0x00,0x8f,0xec,0x80,0x00,0x90,0x00,0x80,0x00,0x8b,0x88,
|
||||
};
|
||||
|
||||
+#endif
|
||||
u32 Rtl8192PciEPHY_REGArray[PHY_REGArrayLengthPciE] = {0x0,};
|
||||
|
||||
u32 Rtl8192PciEPHY_REG_1T2RArray[PHY_REG_1T2RArrayLengthPciE] = {
|
||||
diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h
|
||||
index 35fc116..d1438c2 100644
|
||||
--- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h
|
||||
+++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h
|
||||
@@ -582,7 +582,6 @@ struct r8192_priv {
|
||||
|
||||
struct rt_firmware *pFirmware;
|
||||
enum rtl819x_loopback LoopbackMode;
|
||||
- enum firmware_source firmware_source;
|
||||
|
||||
struct timer_list watch_dog_timer;
|
||||
struct timer_list fsync_timer;
|
|
@ -6,7 +6,7 @@ Forwarded: not-needed
|
|||
--- a/.gitignore
|
||||
+++ b/.gitignore
|
||||
@@ -46,11 +46,6 @@
|
||||
/Module.symvers
|
||||
/Module.markers
|
||||
|
||||
#
|
||||
-# Debian directory (make deb-pkg)
|
||||
|
|
|
@ -1,51 +0,0 @@
|
|||
From fed687c526a4e93a9605f779537bf654cda1a36f Mon Sep 17 00:00:00 2001
|
||||
From: Fabio Estevam <fabio.estevam@freescale.com>
|
||||
Date: Tue, 22 Apr 2014 11:26:22 -0300
|
||||
Subject: [PATCH] ARM: dts: imx6qdl-wandboard: Add HDMI support
|
||||
|
||||
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
|
||||
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
|
||||
---
|
||||
arch/arm/boot/dts/imx6qdl-wandboard.dtsi | 19 +++++++++++++++++++
|
||||
1 file changed, 19 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/imx6qdl-wandboard.dtsi b/arch/arm/boot/dts/imx6qdl-wandboard.dtsi
|
||||
index bdfdf89..5c6f10c 100644
|
||||
--- a/arch/arm/boot/dts/imx6qdl-wandboard.dtsi
|
||||
+++ b/arch/arm/boot/dts/imx6qdl-wandboard.dtsi
|
||||
@@ -62,6 +62,18 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&hdmi {
|
||||
+ ddc-i2c-bus = <&i2c1>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&i2c1 {
|
||||
+ clock-frequency = <100000>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_i2c1>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&i2c2 {
|
||||
clock-frequency = <100000>;
|
||||
pinctrl-names = "default";
|
||||
@@ -127,6 +139,13 @@
|
||||
>;
|
||||
};
|
||||
|
||||
+ pinctrl_i2c1: i2c1grp {
|
||||
+ fsl,pins = <
|
||||
+ MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1
|
||||
+ MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1
|
||||
+ >;
|
||||
+ };
|
||||
+
|
||||
pinctrl_i2c2: i2c2grp {
|
||||
fsl,pins = <
|
||||
MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1
|
||||
--
|
||||
1.9.0
|
||||
|
|
@ -1,68 +0,0 @@
|
|||
From b258b369e8ec4b6f544265aea52bb74476185b12 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?David=20Lanzend=C3=B6rfer?= <david.lanzendoerfer@o2s.ch>
|
||||
Date: Fri, 2 May 2014 17:57:18 +0200
|
||||
Subject: [PATCH 01/12] ARM: dts: sun4i: Add mmc controller nodes
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Add nodes for the 4 mmc controllers found on A10 SoCs to
|
||||
arch/arm/boot/dts/sun4i-a10.dtsi.
|
||||
|
||||
Signed-off-by: David Lanzendörfer <david.lanzendoerfer@o2s.ch>
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
|
||||
---
|
||||
arch/arm/boot/dts/sun4i-a10.dtsi | 36 ++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 36 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi
|
||||
index 4dc3761..aa7fced 100644
|
||||
--- a/arch/arm/boot/dts/sun4i-a10.dtsi
|
||||
+++ b/arch/arm/boot/dts/sun4i-a10.dtsi
|
||||
@@ -377,6 +377,42 @@
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
+ mmc0: mmc@01c0f000 {
|
||||
+ compatible = "allwinner,sun4i-a10-mmc";
|
||||
+ reg = <0x01c0f000 0x1000>;
|
||||
+ clocks = <&ahb_gates 8>, <&mmc0_clk>;
|
||||
+ clock-names = "ahb", "mmc";
|
||||
+ interrupts = <32>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ mmc1: mmc@01c10000 {
|
||||
+ compatible = "allwinner,sun4i-a10-mmc";
|
||||
+ reg = <0x01c10000 0x1000>;
|
||||
+ clocks = <&ahb_gates 9>, <&mmc1_clk>;
|
||||
+ clock-names = "ahb", "mmc";
|
||||
+ interrupts = <33>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ mmc2: mmc@01c11000 {
|
||||
+ compatible = "allwinner,sun4i-a10-mmc";
|
||||
+ reg = <0x01c11000 0x1000>;
|
||||
+ clocks = <&ahb_gates 10>, <&mmc2_clk>;
|
||||
+ clock-names = "ahb", "mmc";
|
||||
+ interrupts = <34>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ mmc3: mmc@01c12000 {
|
||||
+ compatible = "allwinner,sun4i-a10-mmc";
|
||||
+ reg = <0x01c12000 0x1000>;
|
||||
+ clocks = <&ahb_gates 11>, <&mmc3_clk>;
|
||||
+ clock-names = "ahb", "mmc";
|
||||
+ interrupts = <35>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
usbphy: phy@01c13400 {
|
||||
#phy-cells = <1>;
|
||||
compatible = "allwinner,sun4i-a10-usb-phy";
|
||||
--
|
||||
1.9.0
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
From b5f86a3a719d2defb6b4144f75bfd92342f01aaa Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Fri, 2 May 2014 17:57:19 +0200
|
||||
Subject: [PATCH 02/12] ARM: dts: sun4i: Add pin-muxing info for the mmc0
|
||||
controller
|
||||
|
||||
mmc0 is the only controller actually being used on boards, so limit the
|
||||
pin-muxing options to that.
|
||||
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
|
||||
---
|
||||
arch/arm/boot/dts/sun4i-a10.dtsi | 14 ++++++++++++++
|
||||
1 file changed, 14 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi
|
||||
index aa7fced..c7b794e 100644
|
||||
--- a/arch/arm/boot/dts/sun4i-a10.dtsi
|
||||
+++ b/arch/arm/boot/dts/sun4i-a10.dtsi
|
||||
@@ -579,6 +579,20 @@
|
||||
allwinner,drive = <0>;
|
||||
allwinner,pull = <0>;
|
||||
};
|
||||
+
|
||||
+ mmc0_pins_a: mmc0@0 {
|
||||
+ allwinner,pins = "PF0","PF1","PF2","PF3","PF4","PF5";
|
||||
+ allwinner,function = "mmc0";
|
||||
+ allwinner,drive = <2>;
|
||||
+ allwinner,pull = <0>;
|
||||
+ };
|
||||
+
|
||||
+ mmc0_cd_pin_reference_design: mmc0_cd_pin@0 {
|
||||
+ allwinner,pins = "PH1";
|
||||
+ allwinner,function = "gpio_in";
|
||||
+ allwinner,drive = <0>;
|
||||
+ allwinner,pull = <1>;
|
||||
+ };
|
||||
};
|
||||
|
||||
timer@01c20c00 {
|
||||
--
|
||||
1.9.0
|
||||
|
|
@ -1,104 +0,0 @@
|
|||
From a4da476b6c712bce10beddd342111d346a526caa Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Sun, 11 May 2014 09:46:54 +0200
|
||||
Subject: [PATCH 2/5] ARM: dts: sun4i: Add reg_vcc3v3 to sun4i board mmc nodes
|
||||
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
|
||||
---
|
||||
arch/arm/boot/dts/sun4i-a10-a1000.dts | 1 +
|
||||
arch/arm/boot/dts/sun4i-a10-cubieboard.dts | 1 +
|
||||
arch/arm/boot/dts/sun4i-a10-hackberry.dts | 1 +
|
||||
arch/arm/boot/dts/sun4i-a10-inet97fv2.dts | 1 +
|
||||
arch/arm/boot/dts/sun4i-a10-mini-xplus.dts | 1 +
|
||||
arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts | 1 +
|
||||
arch/arm/boot/dts/sun4i-a10-pcduino.dts | 1 +
|
||||
7 files changed, 7 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun4i-a10-a1000.dts b/arch/arm/boot/dts/sun4i-a10-a1000.dts
|
||||
index 93af306..0b97c07 100644
|
||||
--- a/arch/arm/boot/dts/sun4i-a10-a1000.dts
|
||||
+++ b/arch/arm/boot/dts/sun4i-a10-a1000.dts
|
||||
@@ -39,6 +39,7 @@
|
||||
mmc0: mmc@01c0f000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>;
|
||||
+ vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 0>; /* PH1 */
|
||||
cd-inverted;
|
||||
diff --git a/arch/arm/boot/dts/sun4i-a10-cubieboard.dts b/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
|
||||
index 8581385..c200eac 100644
|
||||
--- a/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
|
||||
+++ b/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
|
||||
@@ -37,6 +37,7 @@
|
||||
mmc0: mmc@01c0f000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>;
|
||||
+ vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 0>; /* PH1 */
|
||||
cd-inverted;
|
||||
diff --git a/arch/arm/boot/dts/sun4i-a10-hackberry.dts b/arch/arm/boot/dts/sun4i-a10-hackberry.dts
|
||||
index 9dc7b1c..547fadc 100644
|
||||
--- a/arch/arm/boot/dts/sun4i-a10-hackberry.dts
|
||||
+++ b/arch/arm/boot/dts/sun4i-a10-hackberry.dts
|
||||
@@ -39,6 +39,7 @@
|
||||
mmc0: mmc@01c0f000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>;
|
||||
+ vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 0>; /* PH1 */
|
||||
cd-inverted;
|
||||
diff --git a/arch/arm/boot/dts/sun4i-a10-inet97fv2.dts b/arch/arm/boot/dts/sun4i-a10-inet97fv2.dts
|
||||
index 297b8f6..f13723e 100644
|
||||
--- a/arch/arm/boot/dts/sun4i-a10-inet97fv2.dts
|
||||
+++ b/arch/arm/boot/dts/sun4i-a10-inet97fv2.dts
|
||||
@@ -27,6 +27,7 @@
|
||||
mmc0: mmc@01c0f000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>;
|
||||
+ vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 0>; /* PH1 */
|
||||
cd-inverted;
|
||||
diff --git a/arch/arm/boot/dts/sun4i-a10-mini-xplus.dts b/arch/arm/boot/dts/sun4i-a10-mini-xplus.dts
|
||||
index b7a4218..c01cea5 100644
|
||||
--- a/arch/arm/boot/dts/sun4i-a10-mini-xplus.dts
|
||||
+++ b/arch/arm/boot/dts/sun4i-a10-mini-xplus.dts
|
||||
@@ -23,6 +23,7 @@
|
||||
mmc0: mmc@01c0f000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>;
|
||||
+ vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 0>; /* PH1 */
|
||||
cd-inverted;
|
||||
diff --git a/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts b/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
|
||||
index 4b7fd04..d46a7db 100644
|
||||
--- a/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
|
||||
+++ b/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
|
||||
@@ -36,6 +36,7 @@
|
||||
mmc0: mmc@01c0f000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>;
|
||||
+ vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 0>; /* PH1 */
|
||||
cd-inverted;
|
||||
diff --git a/arch/arm/boot/dts/sun4i-a10-pcduino.dts b/arch/arm/boot/dts/sun4i-a10-pcduino.dts
|
||||
index 4d9c3cd..fb03bcc 100644
|
||||
--- a/arch/arm/boot/dts/sun4i-a10-pcduino.dts
|
||||
+++ b/arch/arm/boot/dts/sun4i-a10-pcduino.dts
|
||||
@@ -37,6 +37,7 @@
|
||||
mmc0: mmc@01c0f000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>;
|
||||
+ vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 0>; /* PH1 */
|
||||
cd-inverted;
|
||||
--
|
||||
1.9.0
|
||||
|
|
@ -1,164 +0,0 @@
|
|||
From c0955a86f4af4fef7965bfcd41a9642a3f67486b Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Fri, 2 May 2014 17:57:20 +0200
|
||||
Subject: [PATCH 03/12] ARM: dts: sun4i: Enable mmc controller on various A10
|
||||
boards
|
||||
|
||||
Tested on a subset of these boards, for the others boards the settings match
|
||||
the ones of the tested boards according to the original firmware fex files.
|
||||
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
|
||||
---
|
||||
arch/arm/boot/dts/sun4i-a10-a1000.dts | 9 +++++++++
|
||||
arch/arm/boot/dts/sun4i-a10-cubieboard.dts | 9 +++++++++
|
||||
arch/arm/boot/dts/sun4i-a10-hackberry.dts | 9 +++++++++
|
||||
arch/arm/boot/dts/sun4i-a10-inet97fv2.dts | 9 +++++++++
|
||||
arch/arm/boot/dts/sun4i-a10-mini-xplus.dts | 9 +++++++++
|
||||
arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts | 9 +++++++++
|
||||
arch/arm/boot/dts/sun4i-a10-pcduino.dts | 9 +++++++++
|
||||
7 files changed, 63 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun4i-a10-a1000.dts b/arch/arm/boot/dts/sun4i-a10-a1000.dts
|
||||
index fa746aea..93af306 100644
|
||||
--- a/arch/arm/boot/dts/sun4i-a10-a1000.dts
|
||||
+++ b/arch/arm/boot/dts/sun4i-a10-a1000.dts
|
||||
@@ -36,6 +36,15 @@
|
||||
};
|
||||
};
|
||||
|
||||
+ mmc0: mmc@01c0f000 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>;
|
||||
+ bus-width = <4>;
|
||||
+ cd-gpios = <&pio 7 1 0>; /* PH1 */
|
||||
+ cd-inverted;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
usbphy: phy@01c13400 {
|
||||
usb1_vbus-supply = <®_usb1_vbus>;
|
||||
usb2_vbus-supply = <®_usb2_vbus>;
|
||||
diff --git a/arch/arm/boot/dts/sun4i-a10-cubieboard.dts b/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
|
||||
index 4684cbe..8581385 100644
|
||||
--- a/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
|
||||
+++ b/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
|
||||
@@ -34,6 +34,15 @@
|
||||
};
|
||||
};
|
||||
|
||||
+ mmc0: mmc@01c0f000 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>;
|
||||
+ bus-width = <4>;
|
||||
+ cd-gpios = <&pio 7 1 0>; /* PH1 */
|
||||
+ cd-inverted;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
usbphy: phy@01c13400 {
|
||||
usb1_vbus-supply = <®_usb1_vbus>;
|
||||
usb2_vbus-supply = <®_usb2_vbus>;
|
||||
diff --git a/arch/arm/boot/dts/sun4i-a10-hackberry.dts b/arch/arm/boot/dts/sun4i-a10-hackberry.dts
|
||||
index d7c17e4..9dc7b1c 100644
|
||||
--- a/arch/arm/boot/dts/sun4i-a10-hackberry.dts
|
||||
+++ b/arch/arm/boot/dts/sun4i-a10-hackberry.dts
|
||||
@@ -36,6 +36,15 @@
|
||||
};
|
||||
};
|
||||
|
||||
+ mmc0: mmc@01c0f000 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>;
|
||||
+ bus-width = <4>;
|
||||
+ cd-gpios = <&pio 7 1 0>; /* PH1 */
|
||||
+ cd-inverted;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
usbphy: phy@01c13400 {
|
||||
usb1_vbus-supply = <®_usb1_vbus>;
|
||||
usb2_vbus-supply = <®_usb2_vbus>;
|
||||
diff --git a/arch/arm/boot/dts/sun4i-a10-inet97fv2.dts b/arch/arm/boot/dts/sun4i-a10-inet97fv2.dts
|
||||
index fe9272e..297b8f6 100644
|
||||
--- a/arch/arm/boot/dts/sun4i-a10-inet97fv2.dts
|
||||
+++ b/arch/arm/boot/dts/sun4i-a10-inet97fv2.dts
|
||||
@@ -24,6 +24,15 @@
|
||||
};
|
||||
|
||||
soc@01c00000 {
|
||||
+ mmc0: mmc@01c0f000 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>;
|
||||
+ bus-width = <4>;
|
||||
+ cd-gpios = <&pio 7 1 0>; /* PH1 */
|
||||
+ cd-inverted;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
uart0: serial@01c28000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
diff --git a/arch/arm/boot/dts/sun4i-a10-mini-xplus.dts b/arch/arm/boot/dts/sun4i-a10-mini-xplus.dts
|
||||
index dd84a9e..b7a4218 100644
|
||||
--- a/arch/arm/boot/dts/sun4i-a10-mini-xplus.dts
|
||||
+++ b/arch/arm/boot/dts/sun4i-a10-mini-xplus.dts
|
||||
@@ -20,6 +20,15 @@
|
||||
compatible = "pineriver,mini-xplus", "allwinner,sun4i-a10";
|
||||
|
||||
soc@01c00000 {
|
||||
+ mmc0: mmc@01c0f000 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>;
|
||||
+ bus-width = <4>;
|
||||
+ cd-gpios = <&pio 7 1 0>; /* PH1 */
|
||||
+ cd-inverted;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
usbphy: phy@01c13400 {
|
||||
usb1_vbus-supply = <®_usb1_vbus>;
|
||||
usb2_vbus-supply = <®_usb2_vbus>;
|
||||
diff --git a/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts b/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
|
||||
index 66cf0c7..4b7fd04 100644
|
||||
--- a/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
|
||||
+++ b/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
|
||||
@@ -33,6 +33,15 @@
|
||||
};
|
||||
};
|
||||
|
||||
+ mmc0: mmc@01c0f000 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>;
|
||||
+ bus-width = <4>;
|
||||
+ cd-gpios = <&pio 7 1 0>; /* PH1 */
|
||||
+ cd-inverted;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
usbphy: phy@01c13400 {
|
||||
usb1_vbus-supply = <®_usb1_vbus>;
|
||||
usb2_vbus-supply = <®_usb2_vbus>;
|
||||
diff --git a/arch/arm/boot/dts/sun4i-a10-pcduino.dts b/arch/arm/boot/dts/sun4i-a10-pcduino.dts
|
||||
index 255b47e..4d9c3cd 100644
|
||||
--- a/arch/arm/boot/dts/sun4i-a10-pcduino.dts
|
||||
+++ b/arch/arm/boot/dts/sun4i-a10-pcduino.dts
|
||||
@@ -34,6 +34,15 @@
|
||||
};
|
||||
};
|
||||
|
||||
+ mmc0: mmc@01c0f000 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>;
|
||||
+ bus-width = <4>;
|
||||
+ cd-gpios = <&pio 7 1 0>; /* PH1 */
|
||||
+ cd-inverted;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
usbphy: phy@01c13400 {
|
||||
usb1_vbus-supply = <®_usb1_vbus>;
|
||||
usb2_vbus-supply = <®_usb2_vbus>;
|
||||
--
|
||||
1.9.0
|
||||
|
|
@ -1,89 +0,0 @@
|
|||
From d3aed1dfbd2e66ff2eca14897fa141a989a36fb0 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?David=20Lanzend=C3=B6rfer?= <david.lanzendoerfer@o2s.ch>
|
||||
Date: Fri, 2 May 2014 17:57:21 +0200
|
||||
Subject: [PATCH 04/12] ARM: dts: sun5i: Add mmc controller nodes
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Add nodes for the 3 mmc controllers found on A10s SoCs and for the 2 mmc
|
||||
controllers found on A13 SoCs.
|
||||
|
||||
Signed-off-by: David Lanzendörfer <david.lanzendoerfer@o2s.ch>
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
|
||||
---
|
||||
arch/arm/boot/dts/sun5i-a10s.dtsi | 27 +++++++++++++++++++++++++++
|
||||
arch/arm/boot/dts/sun5i-a13.dtsi | 18 ++++++++++++++++++
|
||||
2 files changed, 45 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun5i-a10s.dtsi b/arch/arm/boot/dts/sun5i-a10s.dtsi
|
||||
index 9493b21..aa1dd59 100644
|
||||
--- a/arch/arm/boot/dts/sun5i-a10s.dtsi
|
||||
+++ b/arch/arm/boot/dts/sun5i-a10s.dtsi
|
||||
@@ -338,6 +338,33 @@
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
+ mmc0: mmc@01c0f000 {
|
||||
+ compatible = "allwinner,sun5i-a13-mmc";
|
||||
+ reg = <0x01c0f000 0x1000>;
|
||||
+ clocks = <&ahb_gates 8>, <&mmc0_clk>;
|
||||
+ clock-names = "ahb", "mmc";
|
||||
+ interrupts = <32>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ mmc1: mmc@01c10000 {
|
||||
+ compatible = "allwinner,sun5i-a13-mmc";
|
||||
+ reg = <0x01c10000 0x1000>;
|
||||
+ clocks = <&ahb_gates 9>, <&mmc1_clk>;
|
||||
+ clock-names = "ahb", "mmc";
|
||||
+ interrupts = <33>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ mmc2: mmc@01c11000 {
|
||||
+ compatible = "allwinner,sun5i-a13-mmc";
|
||||
+ reg = <0x01c11000 0x1000>;
|
||||
+ clocks = <&ahb_gates 10>, <&mmc2_clk>;
|
||||
+ clock-names = "ahb", "mmc";
|
||||
+ interrupts = <34>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
usbphy: phy@01c13400 {
|
||||
#phy-cells = <1>;
|
||||
compatible = "allwinner,sun5i-a13-usb-phy";
|
||||
diff --git a/arch/arm/boot/dts/sun5i-a13.dtsi b/arch/arm/boot/dts/sun5i-a13.dtsi
|
||||
index dda9df6..c9fdb7b 100644
|
||||
--- a/arch/arm/boot/dts/sun5i-a13.dtsi
|
||||
+++ b/arch/arm/boot/dts/sun5i-a13.dtsi
|
||||
@@ -320,6 +320,24 @@
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
+ mmc0: mmc@01c0f000 {
|
||||
+ compatible = "allwinner,sun5i-a13-mmc";
|
||||
+ reg = <0x01c0f000 0x1000>;
|
||||
+ clocks = <&ahb_gates 8>, <&mmc0_clk>;
|
||||
+ clock-names = "ahb", "mmc";
|
||||
+ interrupts = <32>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ mmc2: mmc@01c11000 {
|
||||
+ compatible = "allwinner,sun5i-a13-mmc";
|
||||
+ reg = <0x01c11000 0x1000>;
|
||||
+ clocks = <&ahb_gates 10>, <&mmc2_clk>;
|
||||
+ clock-names = "ahb", "mmc";
|
||||
+ interrupts = <34>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
usbphy: phy@01c13400 {
|
||||
#phy-cells = <1>;
|
||||
compatible = "allwinner,sun5i-a13-usb-phy";
|
||||
--
|
||||
1.9.0
|
||||
|
|
@ -1,61 +0,0 @@
|
|||
From 6da50f13a7153c4d55ee8e3ab9d5f7248ff8e3fc Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Sat, 26 Apr 2014 12:16:12 +0200
|
||||
Subject: [PATCH] ARM: dts: sun5i: Add pin-muxing info for the mmc controllers
|
||||
|
||||
This adds pin-muxing info for the mmc controller / port combinations which
|
||||
are known to be used on actual boards.
|
||||
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
|
||||
---
|
||||
arch/arm/boot/dts/sun5i-a10s.dtsi | 14 ++++++++++++++
|
||||
arch/arm/boot/dts/sun5i-a13.dtsi | 7 +++++++
|
||||
2 files changed, 21 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun5i-a10s.dtsi b/arch/arm/boot/dts/sun5i-a10s.dtsi
|
||||
index 79989ed..9493b21 100644
|
||||
--- a/arch/arm/boot/dts/sun5i-a10s.dtsi
|
||||
+++ b/arch/arm/boot/dts/sun5i-a10s.dtsi
|
||||
@@ -451,6 +451,20 @@
|
||||
allwinner,drive = <0>;
|
||||
allwinner,pull = <0>;
|
||||
};
|
||||
+
|
||||
+ mmc0_pins_a: mmc0@0 {
|
||||
+ allwinner,pins = "PF0","PF1","PF2","PF3","PF4","PF5";
|
||||
+ allwinner,function = "mmc0";
|
||||
+ allwinner,drive = <2>;
|
||||
+ allwinner,pull = <0>;
|
||||
+ };
|
||||
+
|
||||
+ mmc1_pins_a: mmc1@0 {
|
||||
+ allwinner,pins = "PG3","PG4","PG5","PG6","PG7","PG8";
|
||||
+ allwinner,function = "mmc1";
|
||||
+ allwinner,drive = <2>;
|
||||
+ allwinner,pull = <0>;
|
||||
+ };
|
||||
};
|
||||
|
||||
timer@01c20c00 {
|
||||
diff --git a/arch/arm/boot/dts/sun5i-a13.dtsi b/arch/arm/boot/dts/sun5i-a13.dtsi
|
||||
index d0836d4..dda9df6 100644
|
||||
--- a/arch/arm/boot/dts/sun5i-a13.dtsi
|
||||
+++ b/arch/arm/boot/dts/sun5i-a13.dtsi
|
||||
@@ -415,6 +415,13 @@
|
||||
allwinner,drive = <0>;
|
||||
allwinner,pull = <0>;
|
||||
};
|
||||
+
|
||||
+ mmc0_pins_a: mmc0@0 {
|
||||
+ allwinner,pins = "PF0","PF1","PF2","PF3","PF4","PF5";
|
||||
+ allwinner,function = "mmc0";
|
||||
+ allwinner,drive = <2>;
|
||||
+ allwinner,pull = <0>;
|
||||
+ };
|
||||
};
|
||||
|
||||
timer@01c20c00 {
|
||||
--
|
||||
1.9.0
|
||||
|
|
@ -1,60 +0,0 @@
|
|||
From b4d6c77e3c64c1d1c097db1baa9c12126a4f583d Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Sun, 11 May 2014 09:46:55 +0200
|
||||
Subject: [PATCH 3/5] ARM: dts: sun5i: Add reg_vcc3v3 to sun5i board mmc nodes
|
||||
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
|
||||
---
|
||||
arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts | 2 ++
|
||||
arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts | 1 +
|
||||
arch/arm/boot/dts/sun5i-a13-olinuxino.dts | 1 +
|
||||
3 files changed, 4 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts b/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts
|
||||
index de91308..ea9519d 100644
|
||||
--- a/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts
|
||||
+++ b/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts
|
||||
@@ -38,6 +38,7 @@
|
||||
mmc0: mmc@01c0f000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_olinuxino_micro>;
|
||||
+ vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 6 1 0>; /* PG1 */
|
||||
cd-inverted;
|
||||
@@ -47,6 +48,7 @@
|
||||
mmc1: mmc@01c10000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc1_pins_a>, <&mmc1_cd_pin_olinuxino_micro>;
|
||||
+ vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 6 13 0>; /* PG13 */
|
||||
cd-inverted;
|
||||
diff --git a/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts b/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts
|
||||
index 8515f19..fa44b02 100644
|
||||
--- a/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts
|
||||
+++ b/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts
|
||||
@@ -24,6 +24,7 @@
|
||||
mmc0: mmc@01c0f000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_olinuxinom>;
|
||||
+ vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 6 0 0>; /* PG0 */
|
||||
cd-inverted;
|
||||
diff --git a/arch/arm/boot/dts/sun5i-a13-olinuxino.dts b/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
|
||||
index 51a9438..429994e 100644
|
||||
--- a/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
|
||||
+++ b/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
|
||||
@@ -23,6 +23,7 @@
|
||||
mmc0: mmc@01c0f000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_olinuxino>;
|
||||
+ vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 6 0 0>; /* PG0 */
|
||||
cd-inverted;
|
||||
--
|
||||
1.9.0
|
||||
|
|
@ -1,138 +0,0 @@
|
|||
From 31064bbd6dc3d49fe18f97d81e6ef2cb0358c9c8 Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Fri, 2 May 2014 17:57:22 +0200
|
||||
Subject: [PATCH 05/12] ARM: dts: sun5i: Enable mmc controller on various A10s
|
||||
and A13 boards
|
||||
|
||||
The cd pin settings have been taken from the original firmware fex files,
|
||||
and have been confirmed to work on the actual boards.
|
||||
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
|
||||
---
|
||||
arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts | 32 ++++++++++++++++++++++++
|
||||
arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts | 16 ++++++++++++
|
||||
arch/arm/boot/dts/sun5i-a13-olinuxino.dts | 16 ++++++++++++
|
||||
3 files changed, 64 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts b/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts
|
||||
index 23611b7..de91308 100644
|
||||
--- a/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts
|
||||
+++ b/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts
|
||||
@@ -35,6 +35,24 @@
|
||||
};
|
||||
};
|
||||
|
||||
+ mmc0: mmc@01c0f000 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_olinuxino_micro>;
|
||||
+ bus-width = <4>;
|
||||
+ cd-gpios = <&pio 6 1 0>; /* PG1 */
|
||||
+ cd-inverted;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
+ mmc1: mmc@01c10000 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc1_pins_a>, <&mmc1_cd_pin_olinuxino_micro>;
|
||||
+ bus-width = <4>;
|
||||
+ cd-gpios = <&pio 6 13 0>; /* PG13 */
|
||||
+ cd-inverted;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
usbphy: phy@01c13400 {
|
||||
usb1_vbus-supply = <®_usb1_vbus>;
|
||||
status = "okay";
|
||||
@@ -49,6 +67,20 @@
|
||||
};
|
||||
|
||||
pinctrl@01c20800 {
|
||||
+ mmc0_cd_pin_olinuxino_micro: mmc0_cd_pin@0 {
|
||||
+ allwinner,pins = "PG1";
|
||||
+ allwinner,function = "gpio_in";
|
||||
+ allwinner,drive = <0>;
|
||||
+ allwinner,pull = <1>;
|
||||
+ };
|
||||
+
|
||||
+ mmc1_cd_pin_olinuxino_micro: mmc1_cd_pin@0 {
|
||||
+ allwinner,pins = "PG13";
|
||||
+ allwinner,function = "gpio_in";
|
||||
+ allwinner,drive = <0>;
|
||||
+ allwinner,pull = <1>;
|
||||
+ };
|
||||
+
|
||||
led_pins_olinuxino: led_pins@0 {
|
||||
allwinner,pins = "PE3";
|
||||
allwinner,function = "gpio_out";
|
||||
diff --git a/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts b/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts
|
||||
index 11169d5..8515f19 100644
|
||||
--- a/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts
|
||||
+++ b/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts
|
||||
@@ -21,6 +21,15 @@
|
||||
compatible = "olimex,a13-olinuxino-micro", "allwinner,sun5i-a13";
|
||||
|
||||
soc@01c00000 {
|
||||
+ mmc0: mmc@01c0f000 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_olinuxinom>;
|
||||
+ bus-width = <4>;
|
||||
+ cd-gpios = <&pio 6 0 0>; /* PG0 */
|
||||
+ cd-inverted;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
usbphy: phy@01c13400 {
|
||||
usb1_vbus-supply = <®_usb1_vbus>;
|
||||
status = "okay";
|
||||
@@ -35,6 +44,13 @@
|
||||
};
|
||||
|
||||
pinctrl@01c20800 {
|
||||
+ mmc0_cd_pin_olinuxinom: mmc0_cd_pin@0 {
|
||||
+ allwinner,pins = "PG0";
|
||||
+ allwinner,function = "gpio_in";
|
||||
+ allwinner,drive = <0>;
|
||||
+ allwinner,pull = <1>;
|
||||
+ };
|
||||
+
|
||||
led_pins_olinuxinom: led_pins@0 {
|
||||
allwinner,pins = "PG9";
|
||||
allwinner,function = "gpio_out";
|
||||
diff --git a/arch/arm/boot/dts/sun5i-a13-olinuxino.dts b/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
|
||||
index 7a9187b..51a9438 100644
|
||||
--- a/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
|
||||
+++ b/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
|
||||
@@ -20,6 +20,15 @@
|
||||
compatible = "olimex,a13-olinuxino", "allwinner,sun5i-a13";
|
||||
|
||||
soc@01c00000 {
|
||||
+ mmc0: mmc@01c0f000 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_olinuxino>;
|
||||
+ bus-width = <4>;
|
||||
+ cd-gpios = <&pio 6 0 0>; /* PG0 */
|
||||
+ cd-inverted;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
usbphy: phy@01c13400 {
|
||||
usb1_vbus-supply = <®_usb1_vbus>;
|
||||
status = "okay";
|
||||
@@ -34,6 +43,13 @@
|
||||
};
|
||||
|
||||
pinctrl@01c20800 {
|
||||
+ mmc0_cd_pin_olinuxino: mmc0_cd_pin@0 {
|
||||
+ allwinner,pins = "PG0";
|
||||
+ allwinner,function = "gpio_in";
|
||||
+ allwinner,drive = <0>;
|
||||
+ allwinner,pull = <1>;
|
||||
+ };
|
||||
+
|
||||
led_pins_olinuxino: led_pins@0 {
|
||||
allwinner,pins = "PG9";
|
||||
allwinner,function = "gpio_out";
|
||||
--
|
||||
1.9.0
|
||||
|
|
@ -1,54 +0,0 @@
|
|||
From adc54c858499436f049cc7252de617314e7bacf2 Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Fri, 2 May 2014 17:57:23 +0200
|
||||
Subject: [PATCH 06/12] ARM: dts: sun6i: Add mmc clocks
|
||||
|
||||
Add clk-nodes for the mmc clocks.
|
||||
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
|
||||
---
|
||||
arch/arm/boot/dts/sun6i-a31.dtsi | 32 ++++++++++++++++++++++++++++++++
|
||||
1 file changed, 32 insertions(+)
|
||||
|
||||
--- a/arch/arm/boot/dts/sun6i-a31.dtsi
|
||||
+++ b/arch/arm/boot/dts/sun6i-a31.dtsi
|
||||
@@ -198,6 +198,38 @@
|
||||
"apb2_uart4", "apb2_uart5";
|
||||
};
|
||||
|
||||
+ mmc0_clk: clk@01c20088 {
|
||||
+ #clock-cells = <0>;
|
||||
+ compatible = "allwinner,sun4i-a10-mod0-clk";
|
||||
+ reg = <0x01c20088 0x4>;
|
||||
+ clocks = <&osc24M>, <&pll6>;
|
||||
+ clock-output-names = "mmc0";
|
||||
+ };
|
||||
+
|
||||
+ mmc1_clk: clk@01c2008c {
|
||||
+ #clock-cells = <0>;
|
||||
+ compatible = "allwinner,sun4i-a10-mod0-clk";
|
||||
+ reg = <0x01c2008c 0x4>;
|
||||
+ clocks = <&osc24M>, <&pll6>;
|
||||
+ clock-output-names = "mmc1";
|
||||
+ };
|
||||
+
|
||||
+ mmc2_clk: clk@01c20090 {
|
||||
+ #clock-cells = <0>;
|
||||
+ compatible = "allwinner,sun4i-a10-mod0-clk";
|
||||
+ reg = <0x01c20090 0x4>;
|
||||
+ clocks = <&osc24M>, <&pll6>;
|
||||
+ clock-output-names = "mmc2";
|
||||
+ };
|
||||
+
|
||||
+ mmc3_clk: clk@01c20094 {
|
||||
+ #clock-cells = <0>;
|
||||
+ compatible = "allwinner,sun4i-a10-mod0-clk";
|
||||
+ reg = <0x01c20094 0x4>;
|
||||
+ clocks = <&osc24M>, <&pll6>;
|
||||
+ clock-output-names = "mmc3";
|
||||
+ };
|
||||
+
|
||||
spi0_clk: clk@01c200a0 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "allwinner,sun4i-a10-mod0-clk";
|
|
@ -1,67 +0,0 @@
|
|||
From 5b753f0e27da2b0a29142be0833784475bc29366 Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Fri, 2 May 2014 17:57:24 +0200
|
||||
Subject: [PATCH 07/12] ARM: dts: sun6i: Add mmc controller nodes
|
||||
|
||||
Add nodes for the 4 mmc controllers found on A31 SoCs to
|
||||
arch/arm/boot/dts/sun6i-a31.dtsi.
|
||||
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
|
||||
---
|
||||
arch/arm/boot/dts/sun6i-a31.dtsi | 44 ++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 44 insertions(+)
|
||||
|
||||
--- a/arch/arm/boot/dts/sun6i-a31.dtsi
|
||||
+++ b/arch/arm/boot/dts/sun6i-a31.dtsi
|
||||
@@ -277,6 +277,50 @@
|
||||
interrupts = <0 32 4>;
|
||||
};
|
||||
|
||||
+ mmc0: mmc@01c0f000 {
|
||||
+ compatible = "allwinner,sun5i-a13-mmc";
|
||||
+ reg = <0x01c0f000 0x1000>;
|
||||
+ clocks = <&ahb1_gates 8>, <&mmc0_clk>;
|
||||
+ clock-names = "ahb", "mmc";
|
||||
+ resets = <&ahb1_rst 8>;
|
||||
+ reset-names = "ahb";
|
||||
+ interrupts = <0 60 4>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ mmc1: mmc@01c10000 {
|
||||
+ compatible = "allwinner,sun5i-a13-mmc";
|
||||
+ reg = <0x01c10000 0x1000>;
|
||||
+ clocks = <&ahb1_gates 9>, <&mmc1_clk>;
|
||||
+ clock-names = "ahb", "mmc";
|
||||
+ resets = <&ahb1_rst 9>;
|
||||
+ reset-names = "ahb";
|
||||
+ interrupts = <0 61 4>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ mmc2: mmc@01c11000 {
|
||||
+ compatible = "allwinner,sun5i-a13-mmc";
|
||||
+ reg = <0x01c11000 0x1000>;
|
||||
+ clocks = <&ahb1_gates 10>, <&mmc2_clk>;
|
||||
+ clock-names = "ahb", "mmc";
|
||||
+ resets = <&ahb1_rst 10>;
|
||||
+ reset-names = "ahb";
|
||||
+ interrupts = <0 62 4>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ mmc3: mmc@01c12000 {
|
||||
+ compatible = "allwinner,sun5i-a13-mmc";
|
||||
+ reg = <0x01c12000 0x1000>;
|
||||
+ clocks = <&ahb1_gates 11>, <&mmc3_clk>;
|
||||
+ clock-names = "ahb", "mmc";
|
||||
+ resets = <&ahb1_rst 11>;
|
||||
+ reset-names = "ahb";
|
||||
+ interrupts = <0 63 4>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
pio: pinctrl@01c20800 {
|
||||
compatible = "allwinner,sun6i-a31-pinctrl";
|
||||
reg = <0x01c20800 0x400>;
|
|
@ -1,79 +0,0 @@
|
|||
From 0ff1ffd3fe86840c80458ea45c2379014c86b660 Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Fri, 2 May 2014 17:57:25 +0200
|
||||
Subject: [PATCH 08/12] ARM: dts: sun6i: Add new sun6i-a31-m9 dts file for Mele
|
||||
M9
|
||||
|
||||
Add a new sun6i-a31-m9 dts file for the Mele M9 / Mele A1000G Quad. These
|
||||
HTPCs use the same board in a different case, for more details see:
|
||||
http://linux-sunxi.org/Mele_M9
|
||||
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
|
||||
---
|
||||
arch/arm/boot/dts/Makefile | 1 +
|
||||
arch/arm/boot/dts/sun6i-a31-m9.dts | 48 ++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 49 insertions(+)
|
||||
create mode 100644 arch/arm/boot/dts/sun6i-a31-m9.dts
|
||||
|
||||
--- a/arch/arm/boot/dts/Makefile
|
||||
+++ b/arch/arm/boot/dts/Makefile
|
||||
@@ -344,6 +344,7 @@
|
||||
sun5i-a13-olinuxino.dtb \
|
||||
sun5i-a13-olinuxino-micro.dtb \
|
||||
sun6i-a31-colombus.dtb \
|
||||
+ sun6i-a31-m9.dtb \
|
||||
sun7i-a20-cubieboard2.dtb \
|
||||
sun7i-a20-cubietruck.dtb \
|
||||
sun7i-a20-olinuxino-micro.dtb
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/boot/dts/sun6i-a31-m9.dts
|
||||
@@ -0,0 +1,48 @@
|
||||
+/*
|
||||
+ * Copyright 2014 Hans de Goede <hdegoede@redhat.com>
|
||||
+ *
|
||||
+ * The code contained herein is licensed under the GNU General Public
|
||||
+ * License. You may obtain a copy of the GNU General Public License
|
||||
+ * Version 2 or later at the following locations:
|
||||
+ *
|
||||
+ * http://www.opensource.org/licenses/gpl-license.html
|
||||
+ * http://www.gnu.org/copyleft/gpl.html
|
||||
+ */
|
||||
+
|
||||
+/dts-v1/;
|
||||
+/include/ "sun6i-a31.dtsi"
|
||||
+
|
||||
+/ {
|
||||
+ model = "Mele M9 / A1000G Quad top set box";
|
||||
+ compatible = "mele,m9", "allwinner,sun6i-a31";
|
||||
+
|
||||
+ chosen {
|
||||
+ bootargs = "earlyprintk console=ttyS0,115200";
|
||||
+ };
|
||||
+
|
||||
+ soc@01c00000 {
|
||||
+ mmc0: mmc@01c0f000 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_m9>;
|
||||
+ bus-width = <4>;
|
||||
+ cd-gpios = <&pio 7 22 0>; /* PH22 */
|
||||
+ cd-inverted;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
+ pio: pinctrl@01c20800 {
|
||||
+ mmc0_cd_pin_m9: mmc0_cd_pin@0 {
|
||||
+ allwinner,pins = "PH22";
|
||||
+ allwinner,function = "gpio_in";
|
||||
+ allwinner,drive = <0>;
|
||||
+ allwinner,pull = <1>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ uart0: serial@01c28000 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart0_pins_a>;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+ };
|
||||
+};
|
|
@ -1,35 +0,0 @@
|
|||
From 9797eb83c85d553dbc062b2953597fb1086649e9 Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Sat, 26 Apr 2014 12:16:16 +0200
|
||||
Subject: [PATCH] ARM: dts: sun6i: Add pin-muxing info for the mmc controllers
|
||||
|
||||
This adds pin-muxing info for the mmc controller / port combinations which
|
||||
are known to be used on actual boards.
|
||||
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
|
||||
---
|
||||
arch/arm/boot/dts/sun6i-a31.dtsi | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun6i-a31.dtsi b/arch/arm/boot/dts/sun6i-a31.dtsi
|
||||
index 22f63e0..30138cd 100644
|
||||
--- a/arch/arm/boot/dts/sun6i-a31.dtsi
|
||||
+++ b/arch/arm/boot/dts/sun6i-a31.dtsi
|
||||
@@ -295,6 +295,13 @@
|
||||
allwinner,drive = <0>;
|
||||
allwinner,pull = <0>;
|
||||
};
|
||||
+
|
||||
+ mmc0_pins_a: mmc0@0 {
|
||||
+ allwinner,pins = "PF0","PF1","PF2","PF3","PF4","PF5";
|
||||
+ allwinner,function = "mmc0";
|
||||
+ allwinner,drive = <2>;
|
||||
+ allwinner,pull = <0>;
|
||||
+ };
|
||||
};
|
||||
|
||||
ahb1_rst: reset@01c202c0 {
|
||||
--
|
||||
1.9.0
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
From e6879d190d0ccd02d60b24ff9e49c0e105d135a6 Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Sun, 11 May 2014 09:46:56 +0200
|
||||
Subject: [PATCH 4/5] ARM: dts: sun6i: Add reg_vcc3v3 to sun6i board mmc nodes
|
||||
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
|
||||
---
|
||||
arch/arm/boot/dts/sun6i-a31-m9.dts | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun6i-a31-m9.dts b/arch/arm/boot/dts/sun6i-a31-m9.dts
|
||||
index 22eacf8..bc6115d 100644
|
||||
--- a/arch/arm/boot/dts/sun6i-a31-m9.dts
|
||||
+++ b/arch/arm/boot/dts/sun6i-a31-m9.dts
|
||||
@@ -11,6 +11,7 @@
|
||||
|
||||
/dts-v1/;
|
||||
/include/ "sun6i-a31.dtsi"
|
||||
+/include/ "sunxi-common-regulators.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Mele M9 / A1000G Quad top set box";
|
||||
@@ -24,6 +25,7 @@
|
||||
mmc0: mmc@01c0f000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_m9>;
|
||||
+ vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 22 0>; /* PH22 */
|
||||
cd-inverted;
|
||||
--
|
||||
1.9.0
|
||||
|
|
@ -1,72 +0,0 @@
|
|||
From 3906c0a688587408fa37a411d5e79778039e9dc3 Mon Sep 17 00:00:00 2001
|
||||
From: Chen-Yu Tsai <wens@csie.org>
|
||||
Date: Fri, 2 May 2014 17:57:29 +0200
|
||||
Subject: [PATCH 12/12] ARM: dts: sun7i: Add basic support for the Cubietruck
|
||||
WiFi module
|
||||
|
||||
The CubieTruck has an AMPAK AP6210 WiFi+Bluetooth module. The WiFi
|
||||
part is a BCM43362 IC connected to MMC3 in the A20 SoC via SDIO.
|
||||
The IC also takes a power enable signal via GPIO.
|
||||
|
||||
The WiFi module supports out-of-band interrupt signaling via GPIO,
|
||||
but this is not supported in this patch.
|
||||
|
||||
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
|
||||
---
|
||||
arch/arm/boot/dts/sun7i-a20-cubietruck.dts | 31 ++++++++++++++++++++++++++++++
|
||||
1 file changed, 31 insertions(+)
|
||||
|
||||
--- a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
|
||||
+++ b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
|
||||
@@ -29,6 +29,14 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+ mmc3: mmc@01c12000 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc3_pins_a>;
|
||||
+ vmmc-supply = <®_vmmc3>;
|
||||
+ non-removable;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
usbphy: phy@01c13400 {
|
||||
usb1_vbus-supply = <®_usb1_vbus>;
|
||||
usb2_vbus-supply = <®_usb2_vbus>;
|
||||
@@ -57,6 +65,18 @@
|
||||
};
|
||||
|
||||
pinctrl@01c20800 {
|
||||
+ mmc3_pins_a: mmc3@0 {
|
||||
+ /* AP6210 requires pull-up */
|
||||
+ allwinner,pull = <1>;
|
||||
+ };
|
||||
+
|
||||
+ vmmc3_pin_cubietruck: vmmc3_pin@0 {
|
||||
+ allwinner,pins = "PH9";
|
||||
+ allwinner,function = "gpio_out";
|
||||
+ allwinner,drive = <0>;
|
||||
+ allwinner,pull = <0>;
|
||||
+ };
|
||||
+
|
||||
ahci_pwr_pin_cubietruck: ahci_pwr_pin@1 {
|
||||
allwinner,pins = "PH12";
|
||||
allwinner,function = "gpio_out";
|
||||
@@ -148,4 +168,15 @@
|
||||
reg_usb2_vbus: usb2-vbus {
|
||||
status = "okay";
|
||||
};
|
||||
+
|
||||
+ reg_vmmc3: vmmc3 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&vmmc3_pin_cubietruck>;
|
||||
+ regulator-name = "vmmc3";
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ enable-active-high;
|
||||
+ gpio = <&pio 7 9 0>;
|
||||
+ };
|
||||
};
|
|
@ -1,63 +0,0 @@
|
|||
From dd29ce53b2a48bbb29eaa4a0c86a7a5f36c3d9c0 Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Fri, 2 May 2014 17:57:26 +0200
|
||||
Subject: [PATCH 09/12] ARM: dts: sun7i: Add mmc controller nodes
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Add nodes for the 4 mmc controllers found on A20 SoCs to
|
||||
arch/arm/boot/dts/sun7i-a20.dtsi.
|
||||
|
||||
Signed-off-by: David Lanzendörfer <david.lanzendoerfer@o2s.ch>
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
|
||||
---
|
||||
arch/arm/boot/dts/sun7i-a20.dtsi | 36 ++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 36 insertions(+)
|
||||
|
||||
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
|
||||
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
|
||||
@@ -447,6 +447,42 @@
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
+ mmc0: mmc@01c0f000 {
|
||||
+ compatible = "allwinner,sun5i-a13-mmc";
|
||||
+ reg = <0x01c0f000 0x1000>;
|
||||
+ clocks = <&ahb_gates 8>, <&mmc0_clk>;
|
||||
+ clock-names = "ahb", "mmc";
|
||||
+ interrupts = <0 32 4>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ mmc1: mmc@01c10000 {
|
||||
+ compatible = "allwinner,sun5i-a13-mmc";
|
||||
+ reg = <0x01c10000 0x1000>;
|
||||
+ clocks = <&ahb_gates 9>, <&mmc1_clk>;
|
||||
+ clock-names = "ahb", "mmc";
|
||||
+ interrupts = <0 33 4>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ mmc2: mmc@01c11000 {
|
||||
+ compatible = "allwinner,sun5i-a13-mmc";
|
||||
+ reg = <0x01c11000 0x1000>;
|
||||
+ clocks = <&ahb_gates 10>, <&mmc2_clk>;
|
||||
+ clock-names = "ahb", "mmc";
|
||||
+ interrupts = <0 34 4>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ mmc3: mmc@01c12000 {
|
||||
+ compatible = "allwinner,sun5i-a13-mmc";
|
||||
+ reg = <0x01c12000 0x1000>;
|
||||
+ clocks = <&ahb_gates 11>, <&mmc3_clk>;
|
||||
+ clock-names = "ahb", "mmc";
|
||||
+ interrupts = <0 35 4>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
usbphy: phy@01c13400 {
|
||||
#phy-cells = <1>;
|
||||
compatible = "allwinner,sun7i-a20-usb-phy";
|
|
@ -1,45 +0,0 @@
|
|||
From 11fbedf4dd960db39b40aa59253bb7375df54241 Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Fri, 2 May 2014 17:57:27 +0200
|
||||
Subject: [PATCH 10/12] ARM: dts: sun7i: Add pin-muxing info for the mmc
|
||||
controllers
|
||||
|
||||
This adds pin-muxing info for the mmc controller / port combinations which
|
||||
are known to be used on actual boards.
|
||||
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
|
||||
---
|
||||
arch/arm/boot/dts/sun7i-a20.dtsi | 21 +++++++++++++++++++++
|
||||
1 file changed, 21 insertions(+)
|
||||
|
||||
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
|
||||
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
|
||||
@@ -689,6 +689,27 @@
|
||||
allwinner,drive = <0>;
|
||||
allwinner,pull = <0>;
|
||||
};
|
||||
+
|
||||
+ mmc0_pins_a: mmc0@0 {
|
||||
+ allwinner,pins = "PF0","PF1","PF2","PF3","PF4","PF5";
|
||||
+ allwinner,function = "mmc0";
|
||||
+ allwinner,drive = <2>;
|
||||
+ allwinner,pull = <0>;
|
||||
+ };
|
||||
+
|
||||
+ mmc0_cd_pin_reference_design: mmc0_cd_pin@0 {
|
||||
+ allwinner,pins = "PH1";
|
||||
+ allwinner,function = "gpio_in";
|
||||
+ allwinner,drive = <0>;
|
||||
+ allwinner,pull = <1>;
|
||||
+ };
|
||||
+
|
||||
+ mmc3_pins_a: mmc3@0 {
|
||||
+ allwinner,pins = "PI4","PI5","PI6","PI7","PI8","PI9";
|
||||
+ allwinner,function = "mmc3";
|
||||
+ allwinner,drive = <2>;
|
||||
+ allwinner,pull = <0>;
|
||||
+ };
|
||||
};
|
||||
|
||||
timer@01c20c00 {
|
|
@ -1,60 +0,0 @@
|
|||
From 0ed9eab3030a337d803a0eaefd70fc254a1ae1c8 Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Sun, 11 May 2014 09:46:57 +0200
|
||||
Subject: [PATCH 5/5] ARM: dts: sun7i: Add reg_vcc3v3 to sun7i board mmc nodes
|
||||
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
|
||||
---
|
||||
arch/arm/boot/dts/sun7i-a20-cubieboard2.dts | 1 +
|
||||
arch/arm/boot/dts/sun7i-a20-cubietruck.dts | 1 +
|
||||
arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts | 2 ++
|
||||
3 files changed, 4 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts b/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
|
||||
index 3918e2f..a5ad945 100644
|
||||
--- a/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
|
||||
+++ b/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
|
||||
@@ -23,6 +23,7 @@
|
||||
mmc0: mmc@01c0f000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>;
|
||||
+ vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 0>; /* PH1 */
|
||||
cd-inverted;
|
||||
diff --git a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
|
||||
index 9dbb763c..b7e79d0 100644
|
||||
--- a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
|
||||
+++ b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
|
||||
@@ -23,6 +23,7 @@
|
||||
mmc0: mmc@01c0f000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>;
|
||||
+ vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 0>; /* PH1 */
|
||||
cd-inverted;
|
||||
diff --git a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
|
||||
index 1bfef12..b759630 100644
|
||||
--- a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
|
||||
+++ b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
|
||||
@@ -34,6 +34,7 @@
|
||||
mmc0: mmc@01c0f000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>;
|
||||
+ vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 1 0>; /* PH1 */
|
||||
cd-inverted;
|
||||
@@ -43,6 +44,7 @@
|
||||
mmc3: mmc@01c12000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc3_pins_a>, <&mmc3_cd_pin_olinuxinom>;
|
||||
+ vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 7 11 0>; /* PH11 */
|
||||
cd-inverted;
|
||||
--
|
||||
1.9.0
|
||||
|
|
@ -1,94 +0,0 @@
|
|||
From c621183c203affa526c15e46432c24f31afed997 Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Fri, 2 May 2014 17:57:28 +0200
|
||||
Subject: [PATCH 11/12] ARM: dts: sun7i: Enable mmc controller on various A20
|
||||
boards
|
||||
|
||||
The cd pin settings have been taken from the original firmware fex files,
|
||||
and have been confirmed to work on the actual boards.
|
||||
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
|
||||
---
|
||||
arch/arm/boot/dts/sun7i-a20-cubieboard2.dts | 9 +++++++++
|
||||
arch/arm/boot/dts/sun7i-a20-cubietruck.dts | 9 +++++++++
|
||||
arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts | 25 +++++++++++++++++++++++++
|
||||
3 files changed, 43 insertions(+)
|
||||
|
||||
--- a/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
|
||||
+++ b/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
|
||||
@@ -20,6 +20,15 @@
|
||||
compatible = "cubietech,cubieboard2", "allwinner,sun7i-a20";
|
||||
|
||||
soc@01c00000 {
|
||||
+ mmc0: mmc@01c0f000 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>;
|
||||
+ bus-width = <4>;
|
||||
+ cd-gpios = <&pio 7 1 0>; /* PH1 */
|
||||
+ cd-inverted;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
usbphy: phy@01c13400 {
|
||||
usb1_vbus-supply = <®_usb1_vbus>;
|
||||
usb2_vbus-supply = <®_usb2_vbus>;
|
||||
--- a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
|
||||
+++ b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
|
||||
@@ -20,6 +20,15 @@
|
||||
compatible = "cubietech,cubietruck", "allwinner,sun7i-a20";
|
||||
|
||||
soc@01c00000 {
|
||||
+ mmc0: mmc@01c0f000 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>;
|
||||
+ bus-width = <4>;
|
||||
+ cd-gpios = <&pio 7 1 0>; /* PH1 */
|
||||
+ cd-inverted;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
usbphy: phy@01c13400 {
|
||||
usb1_vbus-supply = <®_usb1_vbus>;
|
||||
usb2_vbus-supply = <®_usb2_vbus>;
|
||||
--- a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
|
||||
+++ b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
|
||||
@@ -31,6 +31,24 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+ mmc0: mmc@01c0f000 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>;
|
||||
+ bus-width = <4>;
|
||||
+ cd-gpios = <&pio 7 1 0>; /* PH1 */
|
||||
+ cd-inverted;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
+ mmc3: mmc@01c12000 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc3_pins_a>, <&mmc3_cd_pin_olinuxinom>;
|
||||
+ bus-width = <4>;
|
||||
+ cd-gpios = <&pio 7 11 0>; /* PH11 */
|
||||
+ cd-inverted;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
usbphy: phy@01c13400 {
|
||||
usb1_vbus-supply = <®_usb1_vbus>;
|
||||
usb2_vbus-supply = <®_usb2_vbus>;
|
||||
@@ -65,6 +83,13 @@
|
||||
};
|
||||
|
||||
pinctrl@01c20800 {
|
||||
+ mmc3_cd_pin_olinuxinom: mmc3_cd_pin@0 {
|
||||
+ allwinner,pins = "PH11";
|
||||
+ allwinner,function = "gpio_in";
|
||||
+ allwinner,drive = <0>;
|
||||
+ allwinner,pull = <1>;
|
||||
+ };
|
||||
+
|
||||
led_pins_olinuxino: led_pins@0 {
|
||||
allwinner,pins = "PH2";
|
||||
allwinner,function = "gpio_out";
|
|
@ -1,29 +0,0 @@
|
|||
From c5b7261cae14ada86f5823659664fade0bcefa20 Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Wed, 21 May 2014 19:43:30 +0200
|
||||
Subject: [PATCH] ARM: dts: sun7i: cubietruck: set mmc3 bus-width property
|
||||
|
||||
bus-width defaults to 1, and all 4 lines are hooked up at the cubietruck,
|
||||
properly set bus-width to 4.
|
||||
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
|
||||
---
|
||||
arch/arm/boot/dts/sun7i-a20-cubietruck.dts | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
|
||||
index b7e79d0..b87fea9 100644
|
||||
--- a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
|
||||
+++ b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
|
||||
@@ -34,6 +34,7 @@
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc3_pins_a>;
|
||||
vmmc-supply = <®_vmmc3>;
|
||||
+ bus-width = <4>;
|
||||
non-removable;
|
||||
status = "okay";
|
||||
};
|
||||
--
|
||||
1.9.0
|
||||
|
|
@ -1,31 +0,0 @@
|
|||
From e509e4044b1c2d44abead8ccd152c956890bf5dd Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Sun, 11 May 2014 09:46:53 +0200
|
||||
Subject: [PATCH 1/5] ARM: dts: sunxi: Add reg_vcc3v3 supply to
|
||||
sunxi-common-regulators.dtsi
|
||||
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
|
||||
---
|
||||
arch/arm/boot/dts/sunxi-common-regulators.dtsi | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sunxi-common-regulators.dtsi b/arch/arm/boot/dts/sunxi-common-regulators.dtsi
|
||||
index 18eeac0..026bd83 100644
|
||||
--- a/arch/arm/boot/dts/sunxi-common-regulators.dtsi
|
||||
+++ b/arch/arm/boot/dts/sunxi-common-regulators.dtsi
|
||||
@@ -72,4 +72,11 @@
|
||||
gpio = <&pio 7 3 0>;
|
||||
status = "disabled";
|
||||
};
|
||||
+
|
||||
+ reg_vcc3v3: vcc3v3 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc3v3";
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ };
|
||||
};
|
||||
--
|
||||
1.9.0
|
||||
|
|
@ -1,122 +0,0 @@
|
|||
From f34d0d5dd86e794477c8d23622111f9709085041 Mon Sep 17 00:00:00 2001
|
||||
From: Russell King <rmk+kernel@arm.linux.org.uk>
|
||||
Date: Fri, 18 Apr 2014 11:01:27 +0100
|
||||
Subject: [PATCH] ARM: imx: add HDMI support for SolidRun HummingBoard and
|
||||
Cubox-i
|
||||
|
||||
Add the HDMI DT configuration for the SolidRun HummingBoard and Cubox-i.
|
||||
|
||||
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
||||
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
|
||||
---
|
||||
arch/arm/boot/dts/imx6dl-hummingboard.dts | 27 +++++++++++++++++++++++++++
|
||||
arch/arm/boot/dts/imx6qdl-cubox-i.dtsi | 27 +++++++++++++++++++++++++++
|
||||
2 files changed, 54 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/imx6dl-hummingboard.dts b/arch/arm/boot/dts/imx6dl-hummingboard.dts
|
||||
index 121991c..5373a5f 100644
|
||||
--- a/arch/arm/boot/dts/imx6dl-hummingboard.dts
|
||||
+++ b/arch/arm/boot/dts/imx6dl-hummingboard.dts
|
||||
@@ -71,6 +71,13 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&hdmi {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_hummingboard_hdmi>;
|
||||
+ ddc-i2c-bus = <&i2c2>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&i2c1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_hummingboard_i2c1>;
|
||||
@@ -86,6 +93,13 @@
|
||||
*/
|
||||
};
|
||||
|
||||
+&i2c2 {
|
||||
+ clock-frequency = <100000>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_hummingboard_i2c2>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&iomuxc {
|
||||
hummingboard {
|
||||
pinctrl_hummingboard_flexcan1: hummingboard-flexcan1 {
|
||||
@@ -101,6 +115,12 @@
|
||||
>;
|
||||
};
|
||||
|
||||
+ pinctrl_hummingboard_hdmi: hummingboard-hdmi {
|
||||
+ fsl,pins = <
|
||||
+ MX6QDL_PAD_KEY_ROW2__HDMI_TX_CEC_LINE 0x1f8b0
|
||||
+ >;
|
||||
+ };
|
||||
+
|
||||
pinctrl_hummingboard_i2c1: hummingboard-i2c1 {
|
||||
fsl,pins = <
|
||||
MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1
|
||||
@@ -108,6 +128,13 @@
|
||||
>;
|
||||
};
|
||||
|
||||
+ pinctrl_hummingboard_i2c2: hummingboard-i2c2 {
|
||||
+ fsl,pins = <
|
||||
+ MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1
|
||||
+ MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1
|
||||
+ >;
|
||||
+ };
|
||||
+
|
||||
pinctrl_hummingboard_spdif: hummingboard-spdif {
|
||||
fsl,pins = <MX6QDL_PAD_GPIO_17__SPDIF_OUT 0x13091>;
|
||||
};
|
||||
diff --git a/arch/arm/boot/dts/imx6qdl-cubox-i.dtsi b/arch/arm/boot/dts/imx6qdl-cubox-i.dtsi
|
||||
index c2a2488..25da82a 100644
|
||||
--- a/arch/arm/boot/dts/imx6qdl-cubox-i.dtsi
|
||||
+++ b/arch/arm/boot/dts/imx6qdl-cubox-i.dtsi
|
||||
@@ -55,6 +55,20 @@
|
||||
};
|
||||
};
|
||||
|
||||
+&hdmi {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_cubox_i_hdmi>;
|
||||
+ ddc-i2c-bus = <&i2c2>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&i2c2 {
|
||||
+ clock-frequency = <100000>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_cubox_i_i2c2>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&i2c3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_cubox_i_i2c3>;
|
||||
@@ -69,6 +83,19 @@
|
||||
|
||||
&iomuxc {
|
||||
cubox_i {
|
||||
+ pinctrl_cubox_i_hdmi: cubox-i-hdmi {
|
||||
+ fsl,pins = <
|
||||
+ MX6QDL_PAD_KEY_ROW2__HDMI_TX_CEC_LINE 0x1f8b0
|
||||
+ >;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_cubox_i_i2c2: cubox-i-i2c2 {
|
||||
+ fsl,pins = <
|
||||
+ MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1
|
||||
+ MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1
|
||||
+ >;
|
||||
+ };
|
||||
+
|
||||
pinctrl_cubox_i_i2c3: cubox-i-i2c3 {
|
||||
fsl,pins = <
|
||||
MX6QDL_PAD_EIM_D17__I2C3_SCL 0x4001b8b1
|
||||
--
|
||||
1.9.0
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
From a97181adf1502128e2945b4fef2591249c565467 Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Mon, 12 May 2014 14:04:47 +0200
|
||||
Subject: [PATCH] clk: sunxi: Fixup clk_sunxi_mmc_phase_control to take a clk
|
||||
rather then a hw_clk
|
||||
|
||||
__clk_get_hw is supposed to be used by clk providers, not clk consumers.
|
||||
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
|
||||
Signed-off-by: Mike Turquette <mturquette@linaro.org>
|
||||
---
|
||||
drivers/clk/sunxi/clk-sunxi.c | 3 ++-
|
||||
include/linux/clk/sunxi.h | 2 +-
|
||||
2 files changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c
|
||||
index 59f9040..4cc2b2a 100644
|
||||
--- a/drivers/clk/sunxi/clk-sunxi.c
|
||||
+++ b/drivers/clk/sunxi/clk-sunxi.c
|
||||
@@ -510,11 +510,12 @@ CLK_OF_DECLARE(sun7i_a20_gmac, "allwinner,sun7i-a20-gmac-clk",
|
||||
* clk_sunxi_mmc_phase_control() - configures MMC clock phase control
|
||||
*/
|
||||
|
||||
-void clk_sunxi_mmc_phase_control(struct clk_hw *hw, u8 sample, u8 output)
|
||||
+void clk_sunxi_mmc_phase_control(struct clk *clk, u8 sample, u8 output)
|
||||
{
|
||||
#define to_clk_composite(_hw) container_of(_hw, struct clk_composite, hw)
|
||||
#define to_clk_factors(_hw) container_of(_hw, struct clk_factors, hw)
|
||||
|
||||
+ struct clk_hw *hw = __clk_get_hw(clk);
|
||||
struct clk_composite *composite = to_clk_composite(hw);
|
||||
struct clk_hw *rate_hw = composite->rate_hw;
|
||||
struct clk_factors *factors = to_clk_factors(rate_hw);
|
||||
diff --git a/include/linux/clk/sunxi.h b/include/linux/clk/sunxi.h
|
||||
index 1ef5c89..aed28c4 100644
|
||||
--- a/include/linux/clk/sunxi.h
|
||||
+++ b/include/linux/clk/sunxi.h
|
||||
@@ -17,6 +17,6 @@
|
||||
|
||||
#include <linux/clk.h>
|
||||
|
||||
-void clk_sunxi_mmc_phase_control(struct clk_hw *hw, u8 sample, u8 output);
|
||||
+void clk_sunxi_mmc_phase_control(struct clk *clk, u8 sample, u8 output);
|
||||
|
||||
#endif
|
||||
--
|
||||
1.9.0
|
||||
|
|
@ -1,97 +0,0 @@
|
|||
From 95713978b0a2929b72933235bb07c0a793e71afa Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Emilio=20L=C3=B3pez?= <emilio@elopez.com.ar>
|
||||
Date: Fri, 2 May 2014 17:57:16 +0200
|
||||
Subject: [PATCH 2/2] clk: sunxi: Implement MMC phase control
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
HdG: add header exporting clk_sunxi_mmc_phase_control
|
||||
|
||||
Signed-off-by: Emilio López <emilio@elopez.com.ar>
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Signed-off-by: Mike Turquette <mturquette@linaro.org>
|
||||
---
|
||||
drivers/clk/sunxi/clk-sunxi.c | 36 ++++++++++++++++++++++++++++++++++++
|
||||
include/linux/clk/sunxi.h | 22 ++++++++++++++++++++++
|
||||
2 files changed, 58 insertions(+)
|
||||
create mode 100644 include/linux/clk/sunxi.h
|
||||
|
||||
diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c
|
||||
index bd7dc73..59f9040 100644
|
||||
--- a/drivers/clk/sunxi/clk-sunxi.c
|
||||
+++ b/drivers/clk/sunxi/clk-sunxi.c
|
||||
@@ -507,6 +507,42 @@ CLK_OF_DECLARE(sun7i_a20_gmac, "allwinner,sun7i-a20-gmac-clk",
|
||||
|
||||
|
||||
/**
|
||||
+ * clk_sunxi_mmc_phase_control() - configures MMC clock phase control
|
||||
+ */
|
||||
+
|
||||
+void clk_sunxi_mmc_phase_control(struct clk_hw *hw, u8 sample, u8 output)
|
||||
+{
|
||||
+ #define to_clk_composite(_hw) container_of(_hw, struct clk_composite, hw)
|
||||
+ #define to_clk_factors(_hw) container_of(_hw, struct clk_factors, hw)
|
||||
+
|
||||
+ struct clk_composite *composite = to_clk_composite(hw);
|
||||
+ struct clk_hw *rate_hw = composite->rate_hw;
|
||||
+ struct clk_factors *factors = to_clk_factors(rate_hw);
|
||||
+ unsigned long flags = 0;
|
||||
+ u32 reg;
|
||||
+
|
||||
+ if (factors->lock)
|
||||
+ spin_lock_irqsave(factors->lock, flags);
|
||||
+
|
||||
+ reg = readl(factors->reg);
|
||||
+
|
||||
+ /* set sample clock phase control */
|
||||
+ reg &= ~(0x7 << 20);
|
||||
+ reg |= ((sample & 0x7) << 20);
|
||||
+
|
||||
+ /* set output clock phase control */
|
||||
+ reg &= ~(0x7 << 8);
|
||||
+ reg |= ((output & 0x7) << 8);
|
||||
+
|
||||
+ writel(reg, factors->reg);
|
||||
+
|
||||
+ if (factors->lock)
|
||||
+ spin_unlock_irqrestore(factors->lock, flags);
|
||||
+}
|
||||
+EXPORT_SYMBOL(clk_sunxi_mmc_phase_control);
|
||||
+
|
||||
+
|
||||
+/**
|
||||
* sunxi_factors_clk_setup() - Setup function for factor clocks
|
||||
*/
|
||||
|
||||
diff --git a/include/linux/clk/sunxi.h b/include/linux/clk/sunxi.h
|
||||
new file mode 100644
|
||||
index 0000000..1ef5c89
|
||||
--- /dev/null
|
||||
+++ b/include/linux/clk/sunxi.h
|
||||
@@ -0,0 +1,22 @@
|
||||
+/*
|
||||
+ * Copyright 2013 - Hans de Goede <hdegoede@redhat.com>
|
||||
+ *
|
||||
+ * This program is free software; you can redistribute it and/or modify
|
||||
+ * it under the terms of the GNU General Public License as published by
|
||||
+ * the Free Software Foundation; either version 2 of the License, or
|
||||
+ * (at your option) any later version.
|
||||
+ *
|
||||
+ * This program is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ */
|
||||
+
|
||||
+#ifndef __LINUX_CLK_SUNXI_H_
|
||||
+#define __LINUX_CLK_SUNXI_H_
|
||||
+
|
||||
+#include <linux/clk.h>
|
||||
+
|
||||
+void clk_sunxi_mmc_phase_control(struct clk_hw *hw, u8 sample, u8 output);
|
||||
+
|
||||
+#endif
|
||||
--
|
||||
1.9.0
|
||||
|
|
@ -1,76 +0,0 @@
|
|||
From 862b728387aef3a3776ad2a261e484aff36c5e67 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Emilio=20L=C3=B3pez?= <emilio@elopez.com.ar>
|
||||
Date: Fri, 2 May 2014 17:57:15 +0200
|
||||
Subject: [PATCH 1/2] clk: sunxi: factors: automatic reparenting support
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
This commit implements .determine_rate, so that our factor clocks can be
|
||||
reparented when needed.
|
||||
|
||||
Signed-off-by: Emilio López <emilio@elopez.com.ar>
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
|
||||
Signed-off-by: Mike Turquette <mturquette@linaro.org>
|
||||
---
|
||||
drivers/clk/sunxi/clk-factors.c | 36 ++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 36 insertions(+)
|
||||
|
||||
diff --git a/drivers/clk/sunxi/clk-factors.c b/drivers/clk/sunxi/clk-factors.c
|
||||
index 9e23264..3806d97 100644
|
||||
--- a/drivers/clk/sunxi/clk-factors.c
|
||||
+++ b/drivers/clk/sunxi/clk-factors.c
|
||||
@@ -77,6 +77,41 @@ static long clk_factors_round_rate(struct clk_hw *hw, unsigned long rate,
|
||||
return rate;
|
||||
}
|
||||
|
||||
+static long clk_factors_determine_rate(struct clk_hw *hw, unsigned long rate,
|
||||
+ unsigned long *best_parent_rate,
|
||||
+ struct clk **best_parent_p)
|
||||
+{
|
||||
+ struct clk *clk = hw->clk, *parent, *best_parent = NULL;
|
||||
+ int i, num_parents;
|
||||
+ unsigned long parent_rate, best = 0, child_rate, best_child_rate = 0;
|
||||
+
|
||||
+ /* find the parent that can help provide the fastest rate <= rate */
|
||||
+ num_parents = __clk_get_num_parents(clk);
|
||||
+ for (i = 0; i < num_parents; i++) {
|
||||
+ parent = clk_get_parent_by_index(clk, i);
|
||||
+ if (!parent)
|
||||
+ continue;
|
||||
+ if (__clk_get_flags(clk) & CLK_SET_RATE_PARENT)
|
||||
+ parent_rate = __clk_round_rate(parent, rate);
|
||||
+ else
|
||||
+ parent_rate = __clk_get_rate(parent);
|
||||
+
|
||||
+ child_rate = clk_factors_round_rate(hw, rate, &parent_rate);
|
||||
+
|
||||
+ if (child_rate <= rate && child_rate > best_child_rate) {
|
||||
+ best_parent = parent;
|
||||
+ best = parent_rate;
|
||||
+ best_child_rate = child_rate;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if (best_parent)
|
||||
+ *best_parent_p = best_parent;
|
||||
+ *best_parent_rate = best;
|
||||
+
|
||||
+ return best_child_rate;
|
||||
+}
|
||||
+
|
||||
static int clk_factors_set_rate(struct clk_hw *hw, unsigned long rate,
|
||||
unsigned long parent_rate)
|
||||
{
|
||||
@@ -113,6 +148,7 @@ static int clk_factors_set_rate(struct clk_hw *hw, unsigned long rate,
|
||||
}
|
||||
|
||||
const struct clk_ops clk_factors_ops = {
|
||||
+ .determine_rate = clk_factors_determine_rate,
|
||||
.recalc_rate = clk_factors_recalc_rate,
|
||||
.round_rate = clk_factors_round_rate,
|
||||
.set_rate = clk_factors_set_rate,
|
||||
--
|
||||
1.9.0
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -19,13 +19,13 @@ bugfix/all/radeon-firmware-is-required-for-drm-and-kms-on-r600-onward.patch
|
|||
|
||||
# Patches and source files from aufs3 repository, imported with
|
||||
# debian/patches/features/all/aufs3/gen-patch.
|
||||
features/all/aufs3/aufs3-kbuild.patch
|
||||
features/all/aufs3/aufs3-base.patch
|
||||
features/all/aufs3/aufs3-mmap.patch
|
||||
features/all/aufs3/aufs3-standalone.patch
|
||||
features/all/aufs3/aufs3-add.patch
|
||||
#features/all/aufs3/aufs3-kbuild.patch
|
||||
#features/all/aufs3/aufs3-base.patch
|
||||
#features/all/aufs3/aufs3-mmap.patch
|
||||
#features/all/aufs3/aufs3-standalone.patch
|
||||
#features/all/aufs3/aufs3-add.patch
|
||||
# Debian-specific changes
|
||||
debian/aufs3-mark-as-staging.patch
|
||||
#debian/aufs3-mark-as-staging.patch
|
||||
|
||||
# Change some defaults for security reasons
|
||||
debian/af_802154-Disable-auto-loading-as-mitigation-against.patch
|
||||
|
@ -35,8 +35,8 @@ debian/fs-enable-link-security-restrictions-by-default.patch
|
|||
|
||||
# Set various features runtime-disabled by default
|
||||
debian/sched-autogroup-disabled.patch
|
||||
features/all/cgroups-Allow-memory-cgroup-support-to-be-included-b.patch
|
||||
debian/cgroups-Document-the-Debian-memory-resource-controll.patch
|
||||
# features/all/cgroups-Allow-memory-cgroup-support-to-be-included-b.patch
|
||||
# debian/cgroups-Document-the-Debian-memory-resource-controll.patch
|
||||
debian/yama-disable-by-default.patch
|
||||
debian/add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by-default.patch
|
||||
|
||||
|
@ -48,21 +48,20 @@ debian/snd-pcsp-disable-autoload.patch
|
|||
bugfix/x86/viafb-autoload-on-olpc-xo1.5-only.patch
|
||||
|
||||
# Support for microcode updates under Xen
|
||||
features/all/xen/microcode.patch
|
||||
features/all/xen/microcode-amd-fam15plus.patch
|
||||
features/all/xen/microcode-typo.patch
|
||||
features/all/xen/microcode-api-update.patch
|
||||
# features/all/xen/microcode.patch
|
||||
# features/all/xen/microcode-amd-fam15plus.patch
|
||||
# features/all/xen/microcode-typo.patch
|
||||
# features/all/xen/microcode-api-update.patch
|
||||
|
||||
# Arch bug fixes
|
||||
bugfix/arm/omap-musb-choice.patch
|
||||
bugfix/mips/disable-advansys.patch
|
||||
bugfix/arm/ixp4xx_iobe.patch
|
||||
bugfix/m68k/ethernat-kconfig.patch
|
||||
bugfix/powerpc/ppc64el-powernv-calls-to-support-little-endian.patch
|
||||
|
||||
# Miscellaneous bug fixes
|
||||
bugfix/all/misc-bmp085-Enable-building-as-a-module.patch
|
||||
bugfix/all/kbuild-use-nostdinc-in-compile-tests.patch
|
||||
# bugfix/all/kbuild-use-nostdinc-in-compile-tests.patch
|
||||
bugfix/all/disable-some-marvell-phys.patch
|
||||
|
||||
# Miscellaneous features
|
||||
|
@ -70,29 +69,3 @@ features/all/x86-memtest-WARN-if-bad-RAM-found.patch
|
|||
features/all/efi-autoload-efivars.patch
|
||||
features/all/mvsas-Recognise-device-subsystem-9485-9485-as-88SE94.patch
|
||||
|
||||
features/arm/clk-sunxi-factors-automatic-reparenting-support.patch
|
||||
features/arm/clk-sunxi-Implement-MMC-phase-control.patch
|
||||
features/arm/clk-sunxi-Fixup-clk_sunxi_mmc_phase_control-to-take-.patch
|
||||
features/arm/mmc-sunxi-Add-driver-for-SD-MMC-hosts-found-on-Allwi.patch
|
||||
features/arm/ARM-dts-sun5i-Add-pin-muxing-info-for-the-mmc-contro.patch
|
||||
features/arm/ARM-dts-sun6i-Add-pin-muxing-info-for-the-mmc-contro.patch
|
||||
features/arm/ARM-dts-sun4i-Add-mmc-controller-nodes.patch
|
||||
features/arm/ARM-dts-sun4i-Add-pin-muxing-info-for-the-mmc0-contr.patch
|
||||
features/arm/ARM-dts-sun4i-Enable-mmc-controller-on-various-A10-b.patch
|
||||
features/arm/ARM-dts-sun5i-Add-mmc-controller-nodes.patch
|
||||
features/arm/ARM-dts-sun5i-Enable-mmc-controller-on-various-A10s-.patch
|
||||
features/arm/ARM-dts-sun6i-Add-mmc-clocks.patch
|
||||
features/arm/ARM-dts-sun6i-Add-mmc-controller-nodes.patch
|
||||
features/arm/ARM-dts-sun6i-Add-new-sun6i-a31-m9-dts-file-for-Mele.patch
|
||||
features/arm/ARM-dts-sun7i-Add-mmc-controller-nodes.patch
|
||||
features/arm/ARM-dts-sun7i-Add-pin-muxing-info-for-the-mmc-contro.patch
|
||||
features/arm/ARM-dts-sun7i-Enable-mmc-controller-on-various-A20-b.patch
|
||||
features/arm/ARM-dts-sun7i-Add-basic-support-for-the-Cubietruck-W.patch
|
||||
features/arm/ARM-dts-sunxi-Add-reg_vcc3v3-supply-to-sunxi-common-.patch
|
||||
features/arm/ARM-dts-sun4i-Add-reg_vcc3v3-to-sun4i-board-mmc-node.patch
|
||||
features/arm/ARM-dts-sun5i-Add-reg_vcc3v3-to-sun5i-board-mmc-node.patch
|
||||
features/arm/ARM-dts-sun6i-Add-reg_vcc3v3-to-sun6i-board-mmc-node.patch
|
||||
features/arm/ARM-dts-sun7i-Add-reg_vcc3v3-to-sun7i-board-mmc-node.patch
|
||||
features/arm/ARM-dts-sun7i-cubietruck-set-mmc3-bus-width-property.patch
|
||||
features/arm/ARM-dts-imx6qdl-wandboard-Add-HDMI-support.patch
|
||||
features/arm/ARM-imx-add-HDMI-support-for-SolidRun-HummingBoard-a.patch
|
||||
|
|
|
@ -5,6 +5,5 @@
|
|||
+ debian/dfsg/drivers-staging-wlags49_h2-disable.patch
|
||||
+ debian/dfsg/drivers-staging-wlags49_h25-disable.patch
|
||||
+ debian/dfsg/video-remove-nvidiafb-and-rivafb.patch
|
||||
+ debian/dfsg/staging-rtl8192e-remove-built-in-firmware-images.patch
|
||||
+ debian/dfsg/firmware-cleanup.patch
|
||||
X debian/dfsg/files-1
|
||||
|
|
Loading…
Reference in New Issue