mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-09 04:10:18 +09:00
Merge branch 'rk_develop-3.10' into rk_develop-3.10-next
Conflicts: drivers/mmc/host/rk_sdmmc.c
This commit is contained in:
@@ -500,7 +500,7 @@
|
||||
pinctrl-names = "default", "idle", "udbg";
|
||||
pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>;
|
||||
pinctrl-1 = <&sdmmc0_gpio>;
|
||||
pinctrl-2 = <&uart2_xfer>;
|
||||
pinctrl-2 = <&uart2_xfer &sdmmc0_dectn>;
|
||||
cd-gpios = <&gpio1 GPIO_C1 GPIO_ACTIVE_HIGH>;/*CD GPIO*/
|
||||
clocks = <&clk_sdmmc0>, <&clk_gates5 10>;
|
||||
clock-names = "clk_mmc", "hclk_mmc";
|
||||
|
||||
@@ -551,7 +551,7 @@
|
||||
pinctrl-names = "default", "idle", "udbg";
|
||||
pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>;
|
||||
pinctrl-1 = <&sdmmc0_gpio>;
|
||||
pinctrl-2 = <&uart2_xfer>;
|
||||
pinctrl-2 = <&uart2_xfer &sdmmc0_dectn>;
|
||||
clocks = <&clk_sdmmc0>, <&clk_gates5 10>;
|
||||
clock-names = "clk_mmc", "hclk_mmc";
|
||||
dmas = <&pdma 10>;
|
||||
|
||||
@@ -295,13 +295,6 @@ CONFIG_USB_NET_INT51X1=y
|
||||
CONFIG_USB_IPHETH=y
|
||||
CONFIG_USB_SIERRA_NET=y
|
||||
CONFIG_RTL8188EU=y
|
||||
CONFIG_RTL8189ES=m
|
||||
CONFIG_RTL8192DU=m
|
||||
CONFIG_RTL8723AU=m
|
||||
CONFIG_RTL8723BU=m
|
||||
CONFIG_RTL8723BS=m
|
||||
CONFIG_RTL8723BS_VQ0=m
|
||||
CONFIG_RTL8812AU=m
|
||||
CONFIG_ESP8089=y
|
||||
CONFIG_RKWIFI=y
|
||||
CONFIG_AP6335=y
|
||||
|
||||
@@ -114,8 +114,10 @@
|
||||
1) use of_find_node_by_name to get vpu node instead of of_find_compatible_node
|
||||
*v0.0x1c.0:
|
||||
1) support rk3368.
|
||||
*v0.0x1d.0:
|
||||
1) enable aclk_rga for rk3368, otherwise, isp reset will cause system halted.
|
||||
*/
|
||||
#define CAMSYS_DRIVER_VERSION KERNEL_VERSION(0,0x1c,0)
|
||||
#define CAMSYS_DRIVER_VERSION KERNEL_VERSION(0,0x1d,0)
|
||||
|
||||
|
||||
#define CAMSYS_PLATFORM_DRV_NAME "RockChip-CamSys"
|
||||
|
||||
@@ -339,6 +339,7 @@ static int camsys_mrv_clkin_cb(void *ptr, unsigned int on)
|
||||
if(CHIP_TYPE == 3368){
|
||||
clk_prepare_enable(clk->cif_clk_out);
|
||||
clk_prepare_enable(clk->pclk_dphyrx);
|
||||
clk_prepare_enable(clk->aclk_rga);
|
||||
}else{
|
||||
clk_prepare_enable(clk->pd_isp);
|
||||
clk_prepare_enable(clk->clk_mipi_24m);
|
||||
@@ -356,10 +357,11 @@ static int camsys_mrv_clkin_cb(void *ptr, unsigned int on)
|
||||
clk_disable_unprepare(clk->hclk_isp);
|
||||
clk_disable_unprepare(clk->isp);
|
||||
clk_disable_unprepare(clk->isp_jpe);
|
||||
clk_disable_unprepare(clk->pclkin_isp);
|
||||
clk_disable_unprepare(clk->pclkin_isp);
|
||||
if(CHIP_TYPE == 3368){
|
||||
clk_disable_unprepare(clk->cif_clk_out);
|
||||
clk_disable_unprepare(clk->pclk_dphyrx);
|
||||
clk_disable_unprepare(clk->aclk_rga);
|
||||
}else{
|
||||
clk_disable_unprepare(clk->clk_mipi_24m);
|
||||
clk_disable_unprepare(clk->pd_isp);
|
||||
@@ -564,11 +566,11 @@ int camsys_mrv_probe_cb(struct platform_device *pdev, camsys_dev_t *camsys_dev)
|
||||
mrv_clk->cif_clk_out = devm_clk_get(&pdev->dev, "clk_cif_out");
|
||||
mrv_clk->cif_clk_pll = devm_clk_get(&pdev->dev, "clk_cif_pll");
|
||||
mrv_clk->pclk_dphyrx = devm_clk_get(&pdev->dev, "pclk_dphyrx");
|
||||
|
||||
mrv_clk->aclk_rga = devm_clk_get(&pdev->dev, "aclk_rga");
|
||||
|
||||
if (IS_ERR_OR_NULL(mrv_clk->aclk_isp) || IS_ERR_OR_NULL(mrv_clk->hclk_isp) ||
|
||||
IS_ERR_OR_NULL(mrv_clk->isp) || IS_ERR_OR_NULL(mrv_clk->isp_jpe) || IS_ERR_OR_NULL(mrv_clk->pclkin_isp) ||
|
||||
IS_ERR_OR_NULL(mrv_clk->cif_clk_out) || IS_ERR_OR_NULL(mrv_clk->pclk_dphyrx)) {
|
||||
IS_ERR_OR_NULL(mrv_clk->cif_clk_out) || IS_ERR_OR_NULL(mrv_clk->pclk_dphyrx)||IS_ERR_OR_NULL(mrv_clk->aclk_rga)) {
|
||||
camsys_err("Get %s clock resouce failed!\n",miscdev_name);
|
||||
err = -EINVAL;
|
||||
goto clk_failed;
|
||||
@@ -657,6 +659,9 @@ clk_failed:
|
||||
if (!IS_ERR_OR_NULL(mrv_clk->pclk_dphyrx)) {
|
||||
clk_put(mrv_clk->pclk_dphyrx);
|
||||
}
|
||||
if (!IS_ERR_OR_NULL(mrv_clk->aclk_rga)) {
|
||||
clk_put(mrv_clk->aclk_rga);
|
||||
}
|
||||
}
|
||||
|
||||
kfree(mrv_clk);
|
||||
|
||||
@@ -56,6 +56,7 @@ typedef struct camsys_mrv_clk_s {
|
||||
struct clk *cif_clk_out;
|
||||
struct clk *cif_clk_pll;
|
||||
struct clk *pclk_dphyrx;
|
||||
struct clk *aclk_rga;
|
||||
|
||||
unsigned int out_on;
|
||||
|
||||
|
||||
@@ -48,6 +48,7 @@
|
||||
#include <linux/rfkill-wlan.h>
|
||||
#include <linux/mfd/syscon.h>
|
||||
#include <linux/regmap.h>
|
||||
#include <linux/log2.h>
|
||||
#include "rk_sdmmc.h"
|
||||
#include "rk_sdmmc_dbg.h"
|
||||
#include <linux/regulator/rockchip_io_vol_domain.h>
|
||||
@@ -621,6 +622,7 @@ static void dw_mci_edmac_start_dma(struct dw_mci *host, unsigned int sg_len)
|
||||
u32 sg_elems = host->data->sg_len;
|
||||
u32 fifoth_val, mburst;
|
||||
u32 burst_limit = 0;
|
||||
u32 idx, rx_wmark, tx_wmark;
|
||||
int ret = 0;
|
||||
|
||||
/* Set external dma config: burst size, burst width*/
|
||||
@@ -641,7 +643,18 @@ static void dw_mci_edmac_start_dma(struct dw_mci *host, unsigned int sg_len)
|
||||
|
||||
if (mburst > burst_limit) {
|
||||
mburst = burst_limit;
|
||||
fifoth_val = SDMMC_SET_FIFOTH(mszs[3], mszs[3] - 1, (host->fifo_depth) / 2);
|
||||
idx = (ilog2(mburst) > 0) ? (ilog2(mburst) - 1) : 0;
|
||||
|
||||
if (soc_is_rk3126b()) {
|
||||
idx = 0;
|
||||
rx_wmark = (host->fifo_depth) / 2 - 1;
|
||||
} else {
|
||||
rx_wmark = mszs[idx] - 1;
|
||||
}
|
||||
|
||||
tx_wmark = (host->fifo_depth) / 2;
|
||||
fifoth_val = SDMMC_SET_FIFOTH(idx, rx_wmark, tx_wmark);
|
||||
|
||||
mci_writel(host, FIFOTH, fifoth_val);
|
||||
}
|
||||
|
||||
|
||||
@@ -1584,11 +1584,13 @@ static void check_id(struct work_struct *work)
|
||||
|
||||
if (last_id != id) {
|
||||
pr_info("[otg id chg] last id %d current id %d\n", last_id, id);
|
||||
|
||||
if (pldata->phy_status == USB_PHY_SUSPEND) {
|
||||
pldata->clock_enable(pldata, 1);
|
||||
pldata->phy_suspend(pldata, USB_PHY_ENABLED);
|
||||
}
|
||||
|
||||
if (!id) { /* Force Host */
|
||||
if (pldata->phy_status == USB_PHY_SUSPEND) {
|
||||
pldata->clock_enable(pldata, 1);
|
||||
pldata->phy_suspend(pldata, USB_PHY_ENABLED);
|
||||
}
|
||||
id_status_change(otg_dev->core_if, id);
|
||||
} else { /* Force Device */
|
||||
id_status_change(otg_dev->core_if, id);
|
||||
|
||||
@@ -27,8 +27,10 @@
|
||||
1) add dev_name in struct camsys_devio_name_s;
|
||||
*v0.a.0:
|
||||
1) support external flash IC
|
||||
*v0.b.0:
|
||||
1) add CamSys_SensorBit0_CifBit4 in enum camsys_cifio_e.
|
||||
*/
|
||||
#define CAMSYS_HEAD_VERSION KERNEL_VERSION(0,0xa,0)
|
||||
#define CAMSYS_HEAD_VERSION KERNEL_VERSION(0,0xb,0)
|
||||
|
||||
#define CAMSYS_MARVIN_DEVNAME "camsys_marvin"
|
||||
#define CAMSYS_CIF0_DEVNAME "camsys_cif0"
|
||||
@@ -184,6 +186,7 @@ typedef enum camsys_fmt_e {
|
||||
typedef enum camsys_cifio_e {
|
||||
CamSys_SensorBit0_CifBit0 = 0x00,
|
||||
CamSys_SensorBit0_CifBit2 = 0x01,
|
||||
CamSys_SensorBit0_CifBit4 = 0x02,
|
||||
} camsys_cifio_t;
|
||||
|
||||
typedef struct camsys_cifphy_s {
|
||||
|
||||
Reference in New Issue
Block a user