mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-08 03:40:35 +09:00
Merge branch 'develop-3.10' of ssh://10.10.10.29/rk/kernel into rk30/box/4.4_r1/develop
This commit is contained in:
@@ -39,6 +39,7 @@
|
||||
#include "sram.h"
|
||||
#include "pm.h"
|
||||
#include "pm-rk312x.c"
|
||||
#include <linux/rockchip/cpu.h>
|
||||
#define RK312X_DEVICE(name) \
|
||||
{ \
|
||||
.virtual = (unsigned long) RK_##name##_VIRT, \
|
||||
@@ -256,7 +257,8 @@ static int rk312x_pmu_set_power_domain(enum pmu_power_domain pd, bool on)
|
||||
rk312x_pmu_set_idle_request(IDLE_REQ_GPU, true);
|
||||
} else if (pd == PD_VIO) {
|
||||
SAVE_QOS(rga_qos, VIO_RGA);
|
||||
SAVE_QOS(ebc_qos, VIO_EBC);
|
||||
if (!soc_is_rk3126b())
|
||||
SAVE_QOS(ebc_qos, VIO_EBC);
|
||||
SAVE_QOS(iep_qos, VIO_IEP);
|
||||
SAVE_QOS(lcdc0_qos, VIO_LCDC0);
|
||||
SAVE_QOS(vip0_qos, VIO_VIP0);
|
||||
@@ -276,7 +278,8 @@ static int rk312x_pmu_set_power_domain(enum pmu_power_domain pd, bool on)
|
||||
} else if (pd == PD_VIO) {
|
||||
rk312x_pmu_set_idle_request(IDLE_REQ_VIO, false);
|
||||
RESTORE_QOS(rga_qos, VIO_RGA);
|
||||
RESTORE_QOS(ebc_qos, VIO_EBC);
|
||||
if (!soc_is_rk3126b())
|
||||
RESTORE_QOS(ebc_qos, VIO_EBC);
|
||||
RESTORE_QOS(iep_qos, VIO_IEP);
|
||||
RESTORE_QOS(lcdc0_qos, VIO_LCDC0);
|
||||
RESTORE_QOS(vip0_qos, VIO_VIP0);
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
#include "esp_debug.h"
|
||||
#include "esp_wl.h"
|
||||
#include "esp_utils.h"
|
||||
#include <linux/rfkill-wlan.h>
|
||||
|
||||
#define ESP_IEEE80211_DBG esp_dbg
|
||||
|
||||
@@ -2194,14 +2195,25 @@ esp_pub_init_mac80211(struct esp_pub *epub)
|
||||
int
|
||||
esp_register_mac80211(struct esp_pub *epub)
|
||||
{
|
||||
int ret = 0;
|
||||
int ret = 0;
|
||||
u8 mac[ETH_ALEN];
|
||||
#ifdef P2P_CONCURRENT
|
||||
u8 *wlan_addr;
|
||||
u8 *p2p_addr;
|
||||
int idx;
|
||||
#endif
|
||||
|
||||
esp_pub_init_mac80211(epub);
|
||||
esp_pub_init_mac80211(epub);
|
||||
|
||||
printk("Wifi Efuse Mac => %02x:%02x:%02x:%02x:%02x:%02x\n", epub->mac_addr[0], epub->mac_addr[1],
|
||||
epub->mac_addr[2], epub->mac_addr[3], epub->mac_addr[4], epub->mac_addr[5]);
|
||||
|
||||
if (!rockchip_wifi_mac_addr(mac))
|
||||
{
|
||||
printk("=========> get mac address from flash=[%02x:%02x:%02x:%02x:%02x:%02x]\n", mac[0], mac[1],
|
||||
mac[2], mac[3], mac[4], mac[5]);
|
||||
memcpy(epub->mac_addr, mac, ETH_ALEN);
|
||||
}
|
||||
|
||||
#ifdef P2P_CONCURRENT
|
||||
epub->hw->wiphy->addresses = (struct mac_address *)esp_mac_addr;
|
||||
|
||||
@@ -76,49 +76,7 @@ extern int pcd_remove(struct platform_device *_dev);
|
||||
extern void hcd_remove(struct platform_device *_dev);
|
||||
extern void dwc_otg_adp_start(dwc_otg_core_if_t *core_if, uint8_t is_host);
|
||||
|
||||
#ifdef CONFIG_USB20_OTG
|
||||
static struct usb20otg_pdata_id usb20otg_pdata[] = {
|
||||
{
|
||||
.name = "rk3188-usb20otg",
|
||||
.pdata = &usb20otg_pdata_rk3188,
|
||||
},
|
||||
{
|
||||
.name = "rk3288-usb20otg",
|
||||
.pdata = &usb20otg_pdata_rk3288,
|
||||
},
|
||||
{
|
||||
.name = "rk3036-usb20otg",
|
||||
.pdata = &usb20otg_pdata_rk3036,
|
||||
},
|
||||
{
|
||||
.name = "rk3126-usb20otg",
|
||||
.pdata = &usb20otg_pdata_rk3126,
|
||||
},
|
||||
{},
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_USB20_HOST
|
||||
static struct usb20host_pdata_id usb20host_pdata[] = {
|
||||
{
|
||||
.name = "rk3188-usb20host",
|
||||
.pdata = &usb20host_pdata_rk3188,
|
||||
},
|
||||
{
|
||||
.name = "rk3288-usb20host",
|
||||
.pdata = &usb20host_pdata_rk3288,
|
||||
},
|
||||
{
|
||||
.name = "rk3036-usb20host",
|
||||
.pdata = &usb20host_pdata_rk3036,
|
||||
},
|
||||
{
|
||||
.name = "rk3126-usb20host",
|
||||
.pdata = &usb20host_pdata_rk3126,
|
||||
},
|
||||
{},
|
||||
};
|
||||
#endif
|
||||
|
||||
static u32 usb_to_uart_status;
|
||||
/*-------------------------------------------------------------------------*/
|
||||
@@ -958,19 +916,19 @@ static int host20_driver_remove(struct platform_device *_dev)
|
||||
static const struct of_device_id usb20_host_of_match[] = {
|
||||
{
|
||||
.compatible = "rockchip,rk3188_usb20_host",
|
||||
.data = &usb20host_pdata[RK3188_USB_CTLR],
|
||||
.data = &usb20host_pdata_rk3188,
|
||||
},
|
||||
{
|
||||
.compatible = "rockchip,rk3288_usb20_host",
|
||||
.data = &usb20host_pdata[RK3288_USB_CTLR],
|
||||
.data = &usb20host_pdata_rk3288,
|
||||
},
|
||||
{
|
||||
.compatible = "rockchip,rk3036_usb20_host",
|
||||
.data = &usb20host_pdata[RK3036_USB_CTLR],
|
||||
.data = &usb20host_pdata_rk3036,
|
||||
},
|
||||
{
|
||||
.compatible = "rockchip,rk3126_usb20_host",
|
||||
.data = &usb20host_pdata[RK3126_USB_CTLR],
|
||||
.data = &usb20host_pdata_rk3126,
|
||||
},
|
||||
{},
|
||||
};
|
||||
@@ -997,18 +955,16 @@ static int host20_driver_probe(struct platform_device *_dev)
|
||||
struct device *dev = &_dev->dev;
|
||||
struct device_node *node = _dev->dev.of_node;
|
||||
struct dwc_otg_platform_data *pldata;
|
||||
struct usb20host_pdata_id *p;
|
||||
const struct of_device_id *match =
|
||||
of_match_device(of_match_ptr(usb20_host_of_match), &_dev->dev);
|
||||
|
||||
if (match) {
|
||||
p = (struct usb20host_pdata_id *)match->data;
|
||||
if (match && match->data) {
|
||||
dev->platform_data = (void *)match->data;
|
||||
} else {
|
||||
dev_err(dev, "usb20host match failed\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
dev->platform_data = p->pdata;
|
||||
pldata = dev->platform_data;
|
||||
pldata->dev = dev;
|
||||
|
||||
@@ -1326,22 +1282,21 @@ static int otg20_driver_remove(struct platform_device *_dev)
|
||||
static const struct of_device_id usb20_otg_of_match[] = {
|
||||
{
|
||||
.compatible = "rockchip,rk3188_usb20_otg",
|
||||
.data = &usb20otg_pdata[RK3188_USB_CTLR],
|
||||
.data = &usb20otg_pdata_rk3188,
|
||||
},
|
||||
{
|
||||
.compatible = "rockchip,rk3288_usb20_otg",
|
||||
.data = &usb20otg_pdata[RK3288_USB_CTLR],
|
||||
.data = &usb20otg_pdata_rk3288,
|
||||
},
|
||||
{
|
||||
.compatible = "rockchip,rk3036_usb20_otg",
|
||||
.data = &usb20otg_pdata[RK3036_USB_CTLR],
|
||||
.data = &usb20otg_pdata_rk3036,
|
||||
},
|
||||
{
|
||||
.compatible = "rockchip,rk3126_usb20_otg",
|
||||
.data = &usb20otg_pdata[RK3126_USB_CTLR],
|
||||
},
|
||||
{
|
||||
.data = &usb20otg_pdata_rk3126,
|
||||
},
|
||||
{ },
|
||||
};
|
||||
|
||||
MODULE_DEVICE_TABLE(of, usb20_otg_of_match);
|
||||
@@ -1367,19 +1322,16 @@ static int otg20_driver_probe(struct platform_device *_dev)
|
||||
struct device *dev = &_dev->dev;
|
||||
struct device_node *node = _dev->dev.of_node;
|
||||
struct dwc_otg_platform_data *pldata;
|
||||
struct usb20otg_pdata_id *p;
|
||||
const struct of_device_id *match =
|
||||
of_match_device(of_match_ptr(usb20_otg_of_match), &_dev->dev);
|
||||
|
||||
if (match) {
|
||||
p = (struct usb20otg_pdata_id *)match->data;
|
||||
dev->platform_data = (void *)match->data;
|
||||
} else {
|
||||
dev_err(dev, "usb20otg match failed\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
dev->platform_data = p->pdata;
|
||||
/* dev->platform_data = &usb20otg_pdata; */
|
||||
pldata = dev->platform_data;
|
||||
pldata->dev = dev;
|
||||
|
||||
|
||||
@@ -137,16 +137,6 @@ enum {
|
||||
RK3126_USB_CTLR,
|
||||
};
|
||||
|
||||
struct usb20otg_pdata_id {
|
||||
char name[32];
|
||||
struct dwc_otg_platform_data *pdata;
|
||||
};
|
||||
|
||||
struct usb20host_pdata_id {
|
||||
char name[32];
|
||||
struct dwc_otg_platform_data *pdata;
|
||||
};
|
||||
|
||||
struct rkehci_pdata_id {
|
||||
char name[32];
|
||||
struct rkehci_platform_data *pdata;
|
||||
|
||||
@@ -212,11 +212,11 @@ static DEVICE_ATTR(hsic_debug_ehci, S_IRUGO, hsic_debug_show, NULL);
|
||||
static struct of_device_id rk_hsic_of_match[] = {
|
||||
{
|
||||
.compatible = "rockchip,rk3188_rk_hsic_host",
|
||||
.data = &rkhsic_pdata[RK3188_USB_CTLR],
|
||||
.data = &rkhsic_pdata_rk3188,
|
||||
},
|
||||
{
|
||||
.compatible = "rockchip,rk3288_rk_hsic_host",
|
||||
.data = &rkhsic_pdata[RK3288_USB_CTLR],
|
||||
.data = &rkhsic_pdata_rk3288,
|
||||
},
|
||||
{},
|
||||
};
|
||||
@@ -234,20 +234,18 @@ static int ehci_rkhsic_probe(struct platform_device *pdev)
|
||||
int retval = 0;
|
||||
static u64 usb_dmamask = 0xffffffffUL;
|
||||
struct device_node *node = pdev->dev.of_node;
|
||||
struct rkehci_pdata_id *p;
|
||||
const struct of_device_id *match =
|
||||
of_match_device(of_match_ptr(rk_hsic_of_match), &pdev->dev);
|
||||
|
||||
dev_dbg(&pdev->dev, "ehci_rkhsic proble\n");
|
||||
|
||||
if (match) {
|
||||
p = (struct rkehci_pdata_id *)match->data;
|
||||
if (match && match->data) {
|
||||
dev->platform_data = match->data;
|
||||
} else {
|
||||
dev_err(dev, "ehci_rkhsic match failed\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
dev->platform_data = p->pdata;
|
||||
pldata = dev->platform_data;
|
||||
pldata->dev = dev;
|
||||
|
||||
|
||||
@@ -41,18 +41,6 @@ struct rk_ehci_hcd {
|
||||
};
|
||||
#define EHCI_PRINT(x...) printk(KERN_INFO "EHCI: " x)
|
||||
|
||||
static struct rkehci_pdata_id rkehci_pdata[] = {
|
||||
{
|
||||
.name = "rk3188-reserved",
|
||||
.pdata = NULL,
|
||||
},
|
||||
{
|
||||
.name = "rk3288-ehci",
|
||||
.pdata = &rkehci_pdata_rk3288,
|
||||
},
|
||||
{},
|
||||
};
|
||||
|
||||
static void rk_ehci_hcd_enable(struct work_struct *work)
|
||||
{
|
||||
struct rk_ehci_hcd *rk_ehci;
|
||||
@@ -263,7 +251,7 @@ static DEVICE_ATTR(test_sq, S_IWUSR, NULL, test_sq_store);
|
||||
static struct of_device_id rk_ehci_of_match[] = {
|
||||
{
|
||||
.compatible = "rockchip,rk3288_rk_ehci_host",
|
||||
.data = &rkehci_pdata[RK3288_USB_CTLR],
|
||||
.data = &rkehci_pdata_rk3288,
|
||||
},
|
||||
{},
|
||||
};
|
||||
@@ -279,21 +267,19 @@ static int ehci_rk_probe(struct platform_device *pdev)
|
||||
struct rkehci_platform_data *pldata;
|
||||
int ret;
|
||||
struct device_node *node = pdev->dev.of_node;
|
||||
struct rkehci_pdata_id *p;
|
||||
struct rk_ehci_hcd *rk_ehci;
|
||||
const struct of_device_id *match =
|
||||
of_match_device(of_match_ptr(rk_ehci_of_match), &pdev->dev);
|
||||
|
||||
dev_dbg(&pdev->dev, "ehci_rk probe!\n");
|
||||
|
||||
if (match) {
|
||||
p = (struct rkehci_pdata_id *)match->data;
|
||||
if (match && match->data) {
|
||||
dev->platform_data = (void *)match->data;
|
||||
} else {
|
||||
dev_err(dev, "ehci_rk match failed\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
dev->platform_data = p->pdata;
|
||||
pldata = dev->platform_data;
|
||||
pldata->dev = dev;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user