Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7b6e28c3 authored by Olof Johansson's avatar Olof Johansson
Browse files

Merge tag 'pxa-for-4.4' of https://github.com/rjarzmik/linux into next/cleanup

This is the pxa changes for v4.4 cycle.

This cycle is bigger than usual :
 - magician was greatly enhanced (new IPs discovered, ...)
 - almost all legacy board files have been updated to the
   new PWM API (mostly for backlight control)
 - some minor fixes in raumfeld, z2 and mioa701

* tag 'pxa-for-4.4' of https://github.com/rjarzmik/linux

: (44 commits)
  ARM: pxa: remove incorrect __init annotation on pxa27x_set_pwrmode
  ARM: pxa: raumfeld: make some variables static
  ARM: pxa: magician: Remove pdata for pasic3-leds
  ARM: pxa: magician: Add support for PXA27x UDC
  ARM: pxa: magician: Add support for MAX1587A Vcore regulator
  ARM: pxa: magician: Change comments to be more informative
  ARM: pxa: magician: Move platform_add_devices() to the end of magician_init()
  ARM: pxa: magician: Add missing regulator for PWM backlight
  ARM: pxa: magician: Add debug message for backlight brightness function
  ARM: pxa: magician: Remove definition of the STUART port
  ARM: pxa: magician: Fix wrongly enabled USB host ports
  ARM: pxa: magician: Fix support for Intel Strata NOR Flash
  ARM: pxa: magician: Fix redundant GPIO request for pxaficp_ir
  ARM: pxa: magician: Fix platform data for both PXA27x I2C controllers
  ARM: pxa: magician: Fix and add charging detection functions
  ARM: pxa: magician: Optimize Samsung LCD refresh to 50Hz
  ARM: pxa: magician: Rename charger cable detection EGPIOs
  ARM: pxa: magician: Optimize powerup delays for Samsung LCD
  ARM: pxa: magician: Rename abstract LCD GPIOs
  ARM: pxa: magician: Add new discovered EGPIO pins
  ...

Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents 7b192fb7 54c09889
Loading
Loading
Loading
Loading
+0 −6
Original line number Diff line number Diff line
@@ -22,15 +22,10 @@ Typically a SPI master is defined in the arch/.../mach-*/board-*.c as a
found in include/linux/spi/pxa2xx_spi.h:

struct pxa2xx_spi_master {
	u32 clock_enable;
	u16 num_chipselect;
	u8 enable_dma;
};

The "pxa2xx_spi_master.clock_enable" field is used to enable/disable the
corresponding SSP peripheral block in the "Clock Enable Register (CKEN"). See
the "PXA2xx Developer Manual" section "Clocks and Power Management".

The "pxa2xx_spi_master.num_chipselect" field is used to determine the number of
slave device (chips) attached to this SPI master.

@@ -57,7 +52,6 @@ static struct resource pxa_spi_nssp_resources[] = {
};

static struct pxa2xx_spi_master pxa_nssp_master_info = {
	.clock_enable = CKEN_NSSP, /* NSSP Peripheral clock */
	.num_chipselect = 1, /* Matches the number of chips attached to NSSP */
	.enable_dma = 1, /* Enables NSSP DMA */
};
+7 −2
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@
#include <linux/dm9000.h>
#include <linux/leds.h>
#include <linux/rtc-v3020.h>
#include <linux/pwm.h>
#include <linux/pwm_backlight.h>

#include <linux/i2c.h>
@@ -305,11 +306,14 @@ static inline void cm_x300_init_lcd(void) {}
#endif

#if defined(CONFIG_BACKLIGHT_PWM) || defined(CONFIG_BACKLIGHT_PWM_MODULE)
static struct pwm_lookup cm_x300_pwm_lookup[] = {
	PWM_LOOKUP("pxa27x-pwm.0", 1, "pwm-backlight.0", NULL, 10000,
		   PWM_POLARITY_NORMAL),
};

static struct platform_pwm_backlight_data cm_x300_backlight_data = {
	.pwm_id		= 2,
	.max_brightness	= 100,
	.dft_brightness	= 100,
	.pwm_period_ns	= 10000,
	.enable_gpio	= -1,
};

@@ -323,6 +327,7 @@ static struct platform_device cm_x300_backlight_device = {

static void cm_x300_init_bl(void)
{
	pwm_add_table(cm_x300_pwm_lookup, ARRAY_SIZE(cm_x300_pwm_lookup));
	platform_device_register(&cm_x300_backlight_device);
}
#else
+7 −2
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@
#include <linux/ioport.h>
#include <linux/kernel.h>
#include <linux/platform_device.h>
#include <linux/pwm.h>
#include <linux/pwm_backlight.h>
#include <linux/i2c/pxa-i2c.h>

@@ -184,11 +185,14 @@ static inline void income_lcd_init(void) {}
 * Backlight
 ******************************************************************************/
#if defined(CONFIG_BACKLIGHT_PWM) || defined(CONFIG_BACKLIGHT_PWM_MODULE)
static struct pwm_lookup income_pwm_lookup[] = {
	PWM_LOOKUP("pxa27x-pwm.0", 0, "pwm-backlight.0", NULL, 1000000,
		   PWM_POLARITY_NORMAL),
};

static struct platform_pwm_backlight_data income_backlight_data = {
	.pwm_id		= 0,
	.max_brightness	= 0x3ff,
	.dft_brightness	= 0x1ff,
	.pwm_period_ns	= 1000000,
	.enable_gpio	= -1,
};

@@ -202,6 +206,7 @@ static struct platform_device income_backlight = {

static void __init income_pwm_init(void)
{
	pwm_add_table(income_pwm_lookup, ARRAY_SIZE(income_pwm_lookup));
	platform_device_register(&income_backlight);
}
#else
+20 −0
Original line number Diff line number Diff line
@@ -395,6 +395,26 @@ static struct resource pxa_ir_resources[] = {
		.end    = IRQ_ICP,
		.flags  = IORESOURCE_IRQ,
	},
	[3] = {
		.start  = 0x40800000,
		.end	= 0x4080001b,
		.flags  = IORESOURCE_MEM,
	},
	[4] = {
		.start  = 0x40700000,
		.end	= 0x40700023,
		.flags  = IORESOURCE_MEM,
	},
	[5] = {
		.start  = 17,
		.end	= 17,
		.flags  = IORESOURCE_DMA,
	},
	[6] = {
		.start  = 18,
		.end	= 18,
		.flags  = IORESOURCE_DMA,
	},
};

struct platform_device pxa_device_ficp = {
+7 −2
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@
#include <linux/init.h>
#include <linux/platform_device.h>
#include <linux/delay.h>
#include <linux/pwm.h>
#include <linux/pwm_backlight.h>
#include <linux/input.h>
#include <linux/gpio.h>
@@ -49,11 +50,14 @@
#define GPIO19_GEN1_CAM_RST		19
#define GPIO28_GEN2_CAM_RST		28

static struct pwm_lookup ezx_pwm_lookup[] = {
	PWM_LOOKUP("pxa27x-pwm.0", 0, "pwm-backlight.0", NULL, 78700,
		   PWM_POLARITY_NORMAL),
};

static struct platform_pwm_backlight_data ezx_backlight_data = {
	.pwm_id		= 0,
	.max_brightness	= 1023,
	.dft_brightness	= 1023,
	.pwm_period_ns	= 78770,
	.enable_gpio	= -1,
};

@@ -817,6 +821,7 @@ static void __init a780_init(void)
		platform_device_register(&a780_camera);
	}

	pwm_add_table(ezx_pwm_lookup, ARRAY_SIZE(ezx_pwm_lookup));
	platform_add_devices(ARRAY_AND_SIZE(ezx_devices));
	platform_add_devices(ARRAY_AND_SIZE(a780_devices));
}
Loading