Merge tag 'v4.2-rc3' into next
Sync up with Linux 4.2-rc3 to bring in infrastructure (OF) pieces.
This commit is contained in:
25
include/linux/platform_data/dma-hsu.h
Normal file
25
include/linux/platform_data/dma-hsu.h
Normal file
@@ -0,0 +1,25 @@
|
||||
/*
|
||||
* Driver for the High Speed UART DMA
|
||||
*
|
||||
* Copyright (C) 2015 Intel Corporation
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
#ifndef _PLATFORM_DATA_DMA_HSU_H
|
||||
#define _PLATFORM_DATA_DMA_HSU_H
|
||||
|
||||
#include <linux/device.h>
|
||||
|
||||
struct hsu_dma_slave {
|
||||
struct device *dma_dev;
|
||||
int chan_id;
|
||||
};
|
||||
|
||||
struct hsu_dma_platform_data {
|
||||
unsigned short nr_channels;
|
||||
};
|
||||
|
||||
#endif /* _PLATFORM_DATA_DMA_HSU_H */
|
@@ -48,6 +48,9 @@ struct sdma_script_start_addrs {
|
||||
s32 ssish_2_mcu_addr;
|
||||
s32 hdmi_dma_addr;
|
||||
/* End of v2 array */
|
||||
s32 zcanfd_2_mcu_addr;
|
||||
s32 zqspi_2_mcu_addr;
|
||||
/* End of v3 array */
|
||||
};
|
||||
|
||||
/**
|
||||
|
@@ -1,34 +0,0 @@
|
||||
/*
|
||||
* This is for Renesas R-Car Audio-DMAC-peri-peri.
|
||||
*
|
||||
* Copyright (C) 2014 Renesas Electronics Corporation
|
||||
* Copyright (C) 2014 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
|
||||
*
|
||||
* This file is based on the include/linux/sh_dma.h
|
||||
*
|
||||
* Header for the new SH dmaengine driver
|
||||
*
|
||||
* Copyright (C) 2010 Guennadi Liakhovetski <g.liakhovetski@gmx.de>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
#ifndef SH_AUDMAPP_H
|
||||
#define SH_AUDMAPP_H
|
||||
|
||||
#include <linux/dmaengine.h>
|
||||
|
||||
struct audmapp_slave_config {
|
||||
int slave_id;
|
||||
dma_addr_t src;
|
||||
dma_addr_t dst;
|
||||
u32 chcr;
|
||||
};
|
||||
|
||||
struct audmapp_pdata {
|
||||
struct audmapp_slave_config *slave;
|
||||
int slave_num;
|
||||
};
|
||||
|
||||
#endif /* SH_AUDMAPP_H */
|
19
include/linux/platform_data/gpio-ath79.h
Normal file
19
include/linux/platform_data/gpio-ath79.h
Normal file
@@ -0,0 +1,19 @@
|
||||
/*
|
||||
* Atheros AR7XXX/AR9XXX GPIO controller platform data
|
||||
*
|
||||
* Copyright (C) 2015 Alban Bedel <albeu@free.fr>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
#ifndef __LINUX_PLATFORM_DATA_GPIO_ATH79_H
|
||||
#define __LINUX_PLATFORM_DATA_GPIO_ATH79_H
|
||||
|
||||
struct ath79_gpio_platform_data {
|
||||
unsigned ngpios;
|
||||
bool oe_inverted;
|
||||
};
|
||||
|
||||
#endif
|
@@ -208,9 +208,17 @@ struct omap_gpio_platform_data {
|
||||
int (*get_context_loss_count)(struct device *dev);
|
||||
};
|
||||
|
||||
#if IS_BUILTIN(CONFIG_GPIO_OMAP)
|
||||
extern void omap2_gpio_prepare_for_idle(int off_mode);
|
||||
extern void omap2_gpio_resume_after_idle(void);
|
||||
extern void omap_set_gpio_debounce(int gpio, int enable);
|
||||
extern void omap_set_gpio_debounce_time(int gpio, int enable);
|
||||
#else
|
||||
static inline void omap2_gpio_prepare_for_idle(int off_mode)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void omap2_gpio_resume_after_idle(void)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
@@ -55,9 +55,6 @@ struct omap_hsmmc_platform_data {
|
||||
u32 caps; /* Used for the MMC driver on 2430 and later */
|
||||
u32 pm_caps; /* PM capabilities of the mmc */
|
||||
|
||||
/* switch pin can be for card detect (default) or card cover */
|
||||
unsigned cover:1;
|
||||
|
||||
/* use the internal clock */
|
||||
unsigned internal_clock:1;
|
||||
|
||||
@@ -73,7 +70,8 @@ struct omap_hsmmc_platform_data {
|
||||
#define HSMMC_HAS_HSPE_SUPPORT (1 << 2)
|
||||
unsigned features;
|
||||
|
||||
int switch_pin; /* gpio (card detect) */
|
||||
int gpio_cd; /* gpio (card detect) */
|
||||
int gpio_cod; /* gpio (cover detect) */
|
||||
int gpio_wp; /* gpio (write protect) */
|
||||
|
||||
int (*set_power)(struct device *dev, int power_on, int vdd);
|
||||
|
@@ -18,6 +18,7 @@ struct davinci_i2c_platform_data {
|
||||
unsigned int bus_delay; /* post-transaction delay (usec) */
|
||||
unsigned int sda_pin; /* GPIO pin ID to use for SDA */
|
||||
unsigned int scl_pin; /* GPIO pin ID to use for SCL */
|
||||
bool has_pfunc; /*chip has a ICPFUNC register */
|
||||
};
|
||||
|
||||
/* for board setup code */
|
||||
|
@@ -1,27 +0,0 @@
|
||||
/*
|
||||
* Renesas IRQC Driver
|
||||
*
|
||||
* Copyright (C) 2013 Magnus Damm
|
||||
*
|
||||
* 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
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef __IRQ_RENESAS_IRQC_H__
|
||||
#define __IRQ_RENESAS_IRQC_H__
|
||||
|
||||
struct renesas_irqc_config {
|
||||
unsigned int irq_base;
|
||||
};
|
||||
|
||||
#endif /* __IRQ_RENESAS_IRQC_H__ */
|
@@ -1,27 +0,0 @@
|
||||
#ifndef __MMC_MSM_SDCC_H
|
||||
#define __MMC_MSM_SDCC_H
|
||||
|
||||
#include <linux/mmc/host.h>
|
||||
#include <linux/mmc/card.h>
|
||||
#include <linux/mmc/sdio_func.h>
|
||||
|
||||
struct msm_mmc_gpio {
|
||||
unsigned no;
|
||||
const char *name;
|
||||
};
|
||||
|
||||
struct msm_mmc_gpio_data {
|
||||
struct msm_mmc_gpio *gpio;
|
||||
u8 size;
|
||||
};
|
||||
|
||||
struct msm_mmc_platform_data {
|
||||
unsigned int ocr_mask; /* available voltages */
|
||||
u32 (*translate_vdd)(struct device *, unsigned int);
|
||||
unsigned int (*status)(struct device *);
|
||||
int (*register_status_notify)(void (*callback)(int card_present, void *dev_id), void *dev_id);
|
||||
struct msm_mmc_gpio_data *gpio_data;
|
||||
void (*init_card)(struct mmc_card *card);
|
||||
};
|
||||
|
||||
#endif
|
@@ -1,49 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2008 Google, Inc.
|
||||
* Author: Nick Pelly <npelly@google.com>
|
||||
*
|
||||
* This software is licensed under the terms of the GNU General Public
|
||||
* License version 2, as published by the Free Software Foundation, and
|
||||
* may be copied, distributed, and modified under those terms.
|
||||
*
|
||||
* 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 __ASM_ARCH_MSM_SERIAL_HS_H
|
||||
#define __ASM_ARCH_MSM_SERIAL_HS_H
|
||||
|
||||
#include <linux/serial_core.h>
|
||||
|
||||
/* API to request the uart clock off or on for low power management
|
||||
* Clients should call request_clock_off() when no uart data is expected,
|
||||
* and must call request_clock_on() before any further uart data can be
|
||||
* received. */
|
||||
extern void msm_hs_request_clock_off(struct uart_port *uport);
|
||||
extern void msm_hs_request_clock_on(struct uart_port *uport);
|
||||
|
||||
/**
|
||||
* struct msm_serial_hs_platform_data
|
||||
* @rx_wakeup_irq: Rx activity irq
|
||||
* @rx_to_inject: extra character to be inserted to Rx tty on wakeup
|
||||
* @inject_rx: 1 = insert rx_to_inject. 0 = do not insert extra character
|
||||
* @exit_lpm_cb: function called before every Tx transaction
|
||||
*
|
||||
* This is an optional structure required for UART Rx GPIO IRQ based
|
||||
* wakeup from low power state. UART wakeup can be triggered by RX activity
|
||||
* (using a wakeup GPIO on the UART RX pin). This should only be used if
|
||||
* there is not a wakeup GPIO on the UART CTS, and the first RX byte is
|
||||
* known (eg., with the Bluetooth Texas Instruments HCILL protocol),
|
||||
* since the first RX byte will always be lost. RTS will be asserted even
|
||||
* while the UART is clocked off in this mode of operation.
|
||||
*/
|
||||
struct msm_serial_hs_platform_data {
|
||||
int rx_wakeup_irq;
|
||||
unsigned char inject_rx_on_wakeup;
|
||||
char rx_to_inject;
|
||||
void (*exit_lpm_cb)(struct uart_port *);
|
||||
};
|
||||
|
||||
#endif
|
40
include/linux/platform_data/nfcmrvl.h
Normal file
40
include/linux/platform_data/nfcmrvl.h
Normal file
@@ -0,0 +1,40 @@
|
||||
/*
|
||||
* Copyright (C) 2015, Marvell International Ltd.
|
||||
*
|
||||
* This software file (the "File") is distributed by Marvell International
|
||||
* Ltd. under the terms of the GNU General Public License Version 2, June 1991
|
||||
* (the "License"). You may use, redistribute and/or modify this File in
|
||||
* accordance with the terms and conditions of the License, a copy of which
|
||||
* is available on the worldwide web at
|
||||
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
|
||||
*
|
||||
* THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE EXPRESSLY DISCLAIMED. The License provides additional details about
|
||||
* this warranty disclaimer.
|
||||
*/
|
||||
|
||||
#ifndef _NFCMRVL_PTF_H_
|
||||
#define _NFCMRVL_PTF_H_
|
||||
|
||||
struct nfcmrvl_platform_data {
|
||||
/*
|
||||
* Generic
|
||||
*/
|
||||
|
||||
/* GPIO that is wired to RESET_N signal */
|
||||
unsigned int reset_n_io;
|
||||
/* Tell if transport is muxed in HCI one */
|
||||
unsigned int hci_muxed;
|
||||
|
||||
/*
|
||||
* UART specific
|
||||
*/
|
||||
|
||||
/* Tell if UART needs flow control at init */
|
||||
unsigned int flow_control;
|
||||
/* Tell if firmware supports break control for power management */
|
||||
unsigned int break_control;
|
||||
};
|
||||
|
||||
#endif /* _NFCMRVL_PTF_H_ */
|
@@ -27,6 +27,7 @@ enum ntc_thermistor_type {
|
||||
TYPE_NCPXXWB473,
|
||||
TYPE_NCPXXWL333,
|
||||
TYPE_B57330V2103,
|
||||
TYPE_NCPXXWF104,
|
||||
};
|
||||
|
||||
struct ntc_thermistor_platform_data {
|
||||
|
27
include/linux/platform_data/nxp-nci.h
Normal file
27
include/linux/platform_data/nxp-nci.h
Normal file
@@ -0,0 +1,27 @@
|
||||
/*
|
||||
* Generic platform data for the NXP NCI NFC chips.
|
||||
*
|
||||
* Copyright (C) 2014 NXP Semiconductors All rights reserved.
|
||||
*
|
||||
* Authors: Clément Perrochaud <clement.perrochaud@nxp.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* 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 _NXP_NCI_H_
|
||||
#define _NXP_NCI_H_
|
||||
|
||||
struct nxp_nci_nfc_platform_data {
|
||||
unsigned int gpio_en;
|
||||
unsigned int gpio_fw;
|
||||
unsigned int irq;
|
||||
};
|
||||
|
||||
#endif /* _NXP_NCI_H_ */
|
@@ -20,14 +20,9 @@
|
||||
#define ASMARM_ARCH_UART_H
|
||||
|
||||
#define IMXUART_HAVE_RTSCTS (1<<0)
|
||||
#define IMXUART_IRDA (1<<1)
|
||||
|
||||
struct imxuart_platform_data {
|
||||
unsigned int flags;
|
||||
void (*irda_enable)(int enable);
|
||||
unsigned int irda_inv_rx:1;
|
||||
unsigned int irda_inv_tx:1;
|
||||
unsigned short transceiver_delay;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@@ -5,8 +5,6 @@
|
||||
#ifndef __LINUX_PLATFORM_DATA_SI5351_H__
|
||||
#define __LINUX_PLATFORM_DATA_SI5351_H__
|
||||
|
||||
struct clk;
|
||||
|
||||
/**
|
||||
* enum si5351_pll_src - Si5351 pll clock source
|
||||
* @SI5351_PLL_SRC_DEFAULT: default, do not change eeprom config
|
||||
@@ -107,8 +105,6 @@ struct si5351_clkout_config {
|
||||
* @clkout: array of clkout configuration
|
||||
*/
|
||||
struct si5351_platform_data {
|
||||
struct clk *clk_xtal;
|
||||
struct clk *clk_clkin;
|
||||
enum si5351_pll_src pll_src[2];
|
||||
struct si5351_clkout_config clkout[8];
|
||||
};
|
||||
|
46
include/linux/platform_data/sky81452-backlight.h
Normal file
46
include/linux/platform_data/sky81452-backlight.h
Normal file
@@ -0,0 +1,46 @@
|
||||
/*
|
||||
* sky81452.h SKY81452 backlight driver
|
||||
*
|
||||
* Copyright 2014 Skyworks Solutions Inc.
|
||||
* Author : Gyungoh Yoo <jack.yoo@skyworksinc.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2
|
||||
* as published by the Free Software Foundation.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef _SKY81452_BACKLIGHT_H
|
||||
#define _SKY81452_BACKLIGHT_H
|
||||
|
||||
/**
|
||||
* struct sky81452_platform_data
|
||||
* @name: backlight driver name.
|
||||
If it is not defined, default name is lcd-backlight.
|
||||
* @gpio_enable:GPIO number which control EN pin
|
||||
* @enable: Enable mask for current sink channel 1, 2, 3, 4, 5 and 6.
|
||||
* @ignore_pwm: true if DPWMI should be ignored.
|
||||
* @dpwm_mode: true is DPWM dimming mode, otherwise Analog dimming mode.
|
||||
* @phase_shift:true is phase shift mode.
|
||||
* @short_detecion_threshold: It should be one of 4, 5, 6 and 7V.
|
||||
* @boost_current_limit: It should be one of 2300, 2750mA.
|
||||
*/
|
||||
struct sky81452_bl_platform_data {
|
||||
const char *name;
|
||||
int gpio_enable;
|
||||
unsigned int enable;
|
||||
bool ignore_pwm;
|
||||
bool dpwm_mode;
|
||||
bool phase_shift;
|
||||
unsigned int short_detection_threshold;
|
||||
unsigned int boost_current_limit;
|
||||
};
|
||||
|
||||
#endif
|
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* Driver include for the ST21NFCB NFC chip.
|
||||
* Driver include for ST NCI NFC chip family.
|
||||
*
|
||||
* Copyright (C) 2014 STMicroelectronics SAS. All rights reserved.
|
||||
* Copyright (C) 2014-2015 STMicroelectronics SAS. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
@@ -16,14 +16,14 @@
|
||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef _ST21NFCB_NCI_H_
|
||||
#define _ST21NFCB_NCI_H_
|
||||
#ifndef _ST_NCI_H_
|
||||
#define _ST_NCI_H_
|
||||
|
||||
#define ST21NFCB_NCI_DRIVER_NAME "st21nfcb_nci"
|
||||
#define ST_NCI_DRIVER_NAME "st_nci"
|
||||
|
||||
struct st21nfcb_nfc_platform_data {
|
||||
struct st_nci_nfc_platform_data {
|
||||
unsigned int gpio_reset;
|
||||
unsigned int irq_polarity;
|
||||
};
|
||||
|
||||
#endif /* _ST21NFCB_NCI_H_ */
|
||||
#endif /* _ST_NCI_H_ */
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* STMicroelectronics TPM I2C Linux driver for TPM ST33ZP24
|
||||
* Copyright (C) 2009, 2010 STMicroelectronics
|
||||
* STMicroelectronics TPM Linux driver for TPM 1.2 ST33ZP24
|
||||
* Copyright (C) 2009 - 2015 STMicroelectronics
|
||||
*
|
||||
* 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
|
||||
@@ -14,20 +14,9 @@
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* STMicroelectronics version 1.2.0, Copyright (C) 2010
|
||||
* STMicroelectronics comes with ABSOLUTELY NO WARRANTY.
|
||||
* This is free software, and you are welcome to redistribute it
|
||||
* under certain conditions.
|
||||
*
|
||||
* @Author: Christophe RICARD tpmsupport@st.com
|
||||
*
|
||||
* @File: stm_st33_tpm.h
|
||||
*
|
||||
* @Date: 09/15/2010
|
||||
*/
|
||||
#ifndef __STM_ST33_TPM_H__
|
||||
#define __STM_ST33_TPM_H__
|
||||
#ifndef __ST33ZP24_H__
|
||||
#define __ST33ZP24_H__
|
||||
|
||||
#define TPM_ST33_I2C "st33zp24-i2c"
|
||||
#define TPM_ST33_SPI "st33zp24-spi"
|
||||
@@ -36,4 +25,4 @@ struct st33zp24_platform_data {
|
||||
int io_lpcpd;
|
||||
};
|
||||
|
||||
#endif /* __STM_ST33_TPM_H__ */
|
||||
#endif /* __ST33ZP24_H__ */
|
29
include/linux/platform_data/st_nci.h
Normal file
29
include/linux/platform_data/st_nci.h
Normal file
@@ -0,0 +1,29 @@
|
||||
/*
|
||||
* Driver include for ST NCI NFC chip family.
|
||||
*
|
||||
* Copyright (C) 2014-2015 STMicroelectronics SAS. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef _ST_NCI_H_
|
||||
#define _ST_NCI_H_
|
||||
|
||||
#define ST_NCI_DRIVER_NAME "st_nci"
|
||||
|
||||
struct st_nci_nfc_platform_data {
|
||||
unsigned int gpio_reset;
|
||||
unsigned int irq_polarity;
|
||||
};
|
||||
|
||||
#endif /* _ST_NCI_H_ */
|
@@ -1,22 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2013 Renesas Solutions Corp.
|
||||
* Copyright (C) 2013 Cogent Embedded, Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
#ifndef __USB_RCAR_GEN2_PHY_H
|
||||
#define __USB_RCAR_GEN2_PHY_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
struct rcar_gen2_phy_platform_data {
|
||||
/* USB channel 0 configuration */
|
||||
bool chan0_pci:1; /* true: PCI USB host 0, false: USBHS */
|
||||
/* USB channel 2 configuration */
|
||||
bool chan2_pci:1; /* true: PCI USB host 2, false: USBSS */
|
||||
};
|
||||
|
||||
#endif
|
@@ -1,146 +0,0 @@
|
||||
/*
|
||||
* Internal shared definitions for various MSM framebuffer parts.
|
||||
*
|
||||
* Copyright (C) 2007 Google Incorporated
|
||||
*
|
||||
* This software is licensed under the terms of the GNU General Public
|
||||
* License version 2, as published by the Free Software Foundation, and
|
||||
* may be copied, distributed, and modified under those terms.
|
||||
*
|
||||
* 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 _MSM_FB_H_
|
||||
#define _MSM_FB_H_
|
||||
|
||||
#include <linux/device.h>
|
||||
|
||||
struct mddi_info;
|
||||
|
||||
struct msm_fb_data {
|
||||
int xres; /* x resolution in pixels */
|
||||
int yres; /* y resolution in pixels */
|
||||
int width; /* disply width in mm */
|
||||
int height; /* display height in mm */
|
||||
unsigned output_format;
|
||||
};
|
||||
|
||||
struct msmfb_callback {
|
||||
void (*func)(struct msmfb_callback *);
|
||||
};
|
||||
|
||||
enum {
|
||||
MSM_MDDI_PMDH_INTERFACE,
|
||||
MSM_MDDI_EMDH_INTERFACE,
|
||||
MSM_EBI2_INTERFACE,
|
||||
};
|
||||
|
||||
#define MSMFB_CAP_PARTIAL_UPDATES (1 << 0)
|
||||
|
||||
struct msm_panel_data {
|
||||
/* turns off the fb memory */
|
||||
int (*suspend)(struct msm_panel_data *);
|
||||
/* turns on the fb memory */
|
||||
int (*resume)(struct msm_panel_data *);
|
||||
/* turns off the panel */
|
||||
int (*blank)(struct msm_panel_data *);
|
||||
/* turns on the panel */
|
||||
int (*unblank)(struct msm_panel_data *);
|
||||
void (*wait_vsync)(struct msm_panel_data *);
|
||||
void (*request_vsync)(struct msm_panel_data *, struct msmfb_callback *);
|
||||
void (*clear_vsync)(struct msm_panel_data *);
|
||||
/* from the enum above */
|
||||
unsigned interface_type;
|
||||
/* data to be passed to the fb driver */
|
||||
struct msm_fb_data *fb_data;
|
||||
|
||||
/* capabilities supported by the panel */
|
||||
uint32_t caps;
|
||||
};
|
||||
|
||||
struct msm_mddi_client_data {
|
||||
void (*suspend)(struct msm_mddi_client_data *);
|
||||
void (*resume)(struct msm_mddi_client_data *);
|
||||
void (*activate_link)(struct msm_mddi_client_data *);
|
||||
void (*remote_write)(struct msm_mddi_client_data *, uint32_t val,
|
||||
uint32_t reg);
|
||||
uint32_t (*remote_read)(struct msm_mddi_client_data *, uint32_t reg);
|
||||
void (*auto_hibernate)(struct msm_mddi_client_data *, int);
|
||||
/* custom data that needs to be passed from the board file to a
|
||||
* particular client */
|
||||
void *private_client_data;
|
||||
struct resource *fb_resource;
|
||||
/* from the list above */
|
||||
unsigned interface_type;
|
||||
};
|
||||
|
||||
struct msm_mddi_platform_data {
|
||||
unsigned int clk_rate;
|
||||
void (*power_client)(struct msm_mddi_client_data *, int on);
|
||||
|
||||
/* fixup the mfr name, product id */
|
||||
void (*fixup)(uint16_t *mfr_name, uint16_t *product_id);
|
||||
|
||||
struct resource *fb_resource; /*optional*/
|
||||
/* number of clients in the list that follows */
|
||||
int num_clients;
|
||||
/* array of client information of clients */
|
||||
struct {
|
||||
unsigned product_id; /* mfr id in top 16 bits, product id
|
||||
* in lower 16 bits
|
||||
*/
|
||||
char *name; /* the device name will be the platform
|
||||
* device name registered for the client,
|
||||
* it should match the name of the associated
|
||||
* driver
|
||||
*/
|
||||
unsigned id; /* id for mddi client device node, will also
|
||||
* be used as device id of panel devices, if
|
||||
* the client device will have multiple panels
|
||||
* space must be left here for them
|
||||
*/
|
||||
void *client_data; /* required private client data */
|
||||
unsigned int clk_rate; /* optional: if the client requires a
|
||||
* different mddi clk rate
|
||||
*/
|
||||
} client_platform_data[];
|
||||
};
|
||||
|
||||
struct mdp_blit_req;
|
||||
struct fb_info;
|
||||
struct mdp_device {
|
||||
struct device dev;
|
||||
void (*dma)(struct mdp_device *mpd, uint32_t addr,
|
||||
uint32_t stride, uint32_t w, uint32_t h, uint32_t x,
|
||||
uint32_t y, struct msmfb_callback *callback, int interface);
|
||||
void (*dma_wait)(struct mdp_device *mdp);
|
||||
int (*blit)(struct mdp_device *mdp, struct fb_info *fb,
|
||||
struct mdp_blit_req *req);
|
||||
void (*set_grp_disp)(struct mdp_device *mdp, uint32_t disp_id);
|
||||
};
|
||||
|
||||
struct class_interface;
|
||||
int register_mdp_client(struct class_interface *class_intf);
|
||||
|
||||
/**** private client data structs go below this line ***/
|
||||
|
||||
struct msm_mddi_bridge_platform_data {
|
||||
/* from board file */
|
||||
int (*init)(struct msm_mddi_bridge_platform_data *,
|
||||
struct msm_mddi_client_data *);
|
||||
int (*uninit)(struct msm_mddi_bridge_platform_data *,
|
||||
struct msm_mddi_client_data *);
|
||||
/* passed to panel for use by the fb driver */
|
||||
int (*blank)(struct msm_mddi_bridge_platform_data *,
|
||||
struct msm_mddi_client_data *);
|
||||
int (*unblank)(struct msm_mddi_bridge_platform_data *,
|
||||
struct msm_mddi_client_data *);
|
||||
struct msm_fb_data fb_data;
|
||||
};
|
||||
|
||||
|
||||
|
||||
#endif
|
30
include/linux/platform_data/wkup_m3.h
Normal file
30
include/linux/platform_data/wkup_m3.h
Normal file
@@ -0,0 +1,30 @@
|
||||
/*
|
||||
* TI Wakeup M3 remote processor platform data
|
||||
*
|
||||
* Copyright (C) 2014-2015 Texas Instruments, Inc.
|
||||
*
|
||||
* Dave Gerlach <d-gerlach@ti.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* 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_PLATFORM_DATA_WKUP_M3_H
|
||||
#define _LINUX_PLATFORM_DATA_WKUP_M3_H
|
||||
|
||||
struct platform_device;
|
||||
|
||||
struct wkup_m3_platform_data {
|
||||
const char *reset_name;
|
||||
|
||||
int (*assert_reset)(struct platform_device *pdev, const char *name);
|
||||
int (*deassert_reset)(struct platform_device *pdev, const char *name);
|
||||
};
|
||||
|
||||
#endif /* _LINUX_PLATFORM_DATA_WKUP_M3_H */
|
Reference in New Issue
Block a user