Commit 7fbb6157 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

Pull ARM SoC fixes from Olof Johansson:
 "A few more fixes for v4.17:

   - a fix for a crash in scm_call_atomic on qcom platforms

   - display fix for Allwinner A10

   - a fix that re-enables ethernet on Allwinner H3 (C.H.I.P et al)

   - a fix for eMMC corruption on hikey

   - i2c-gpio descriptor tables for ixp4xx

  ... plus a small typo fix"

* tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
  ARM: Fix i2c-gpio GPIO descriptor tables
  arm64: dts: hikey: Fix eMMC corruption regression
  firmware: qcom: scm: Fix crash in qcom_scm_call_atomic1()
  ARM: sun8i: v3s: fix spelling mistake: "disbaled" -> "disabled"
  ARM: dts: sun4i: Fix incorrect clocks for displays
  ARM: dts: sun8i: h3: Re-enable EMAC on Orange Pi One
parents b2096a5e e5dd6154
...@@ -76,7 +76,7 @@ framebuffer-fe0-lcd0-hdmi { ...@@ -76,7 +76,7 @@ framebuffer-fe0-lcd0-hdmi {
allwinner,pipeline = "de_fe0-de_be0-lcd0-hdmi"; allwinner,pipeline = "de_fe0-de_be0-lcd0-hdmi";
clocks = <&ccu CLK_AHB_LCD0>, <&ccu CLK_AHB_HDMI0>, clocks = <&ccu CLK_AHB_LCD0>, <&ccu CLK_AHB_HDMI0>,
<&ccu CLK_AHB_DE_BE0>, <&ccu CLK_AHB_DE_FE0>, <&ccu CLK_AHB_DE_BE0>, <&ccu CLK_AHB_DE_FE0>,
<&ccu CLK_DE_BE0>, <&ccu CLK_AHB_DE_FE0>, <&ccu CLK_DE_BE0>, <&ccu CLK_DE_FE0>,
<&ccu CLK_TCON0_CH1>, <&ccu CLK_HDMI>, <&ccu CLK_TCON0_CH1>, <&ccu CLK_HDMI>,
<&ccu CLK_DRAM_DE_FE0>, <&ccu CLK_DRAM_DE_BE0>; <&ccu CLK_DRAM_DE_FE0>, <&ccu CLK_DRAM_DE_BE0>;
status = "disabled"; status = "disabled";
...@@ -88,7 +88,7 @@ framebuffer-fe0-lcd0 { ...@@ -88,7 +88,7 @@ framebuffer-fe0-lcd0 {
allwinner,pipeline = "de_fe0-de_be0-lcd0"; allwinner,pipeline = "de_fe0-de_be0-lcd0";
clocks = <&ccu CLK_AHB_LCD0>, <&ccu CLK_AHB_DE_BE0>, clocks = <&ccu CLK_AHB_LCD0>, <&ccu CLK_AHB_DE_BE0>,
<&ccu CLK_AHB_DE_FE0>, <&ccu CLK_DE_BE0>, <&ccu CLK_AHB_DE_FE0>, <&ccu CLK_DE_BE0>,
<&ccu CLK_AHB_DE_FE0>, <&ccu CLK_TCON0_CH0>, <&ccu CLK_DE_FE0>, <&ccu CLK_TCON0_CH0>,
<&ccu CLK_DRAM_DE_FE0>, <&ccu CLK_DRAM_DE_BE0>; <&ccu CLK_DRAM_DE_FE0>, <&ccu CLK_DRAM_DE_BE0>;
status = "disabled"; status = "disabled";
}; };
...@@ -99,7 +99,7 @@ framebuffer-fe0-lcd0-tve0 { ...@@ -99,7 +99,7 @@ framebuffer-fe0-lcd0-tve0 {
allwinner,pipeline = "de_fe0-de_be0-lcd0-tve0"; allwinner,pipeline = "de_fe0-de_be0-lcd0-tve0";
clocks = <&ccu CLK_AHB_TVE0>, <&ccu CLK_AHB_LCD0>, clocks = <&ccu CLK_AHB_TVE0>, <&ccu CLK_AHB_LCD0>,
<&ccu CLK_AHB_DE_BE0>, <&ccu CLK_AHB_DE_FE0>, <&ccu CLK_AHB_DE_BE0>, <&ccu CLK_AHB_DE_FE0>,
<&ccu CLK_DE_BE0>, <&ccu CLK_AHB_DE_FE0>, <&ccu CLK_DE_BE0>, <&ccu CLK_DE_FE0>,
<&ccu CLK_TCON0_CH1>, <&ccu CLK_DRAM_TVE0>, <&ccu CLK_TCON0_CH1>, <&ccu CLK_DRAM_TVE0>,
<&ccu CLK_DRAM_DE_FE0>, <&ccu CLK_DRAM_DE_BE0>; <&ccu CLK_DRAM_DE_FE0>, <&ccu CLK_DRAM_DE_BE0>;
status = "disabled"; status = "disabled";
......
...@@ -117,6 +117,7 @@ &emac { ...@@ -117,6 +117,7 @@ &emac {
phy-handle = <&int_mii_phy>; phy-handle = <&int_mii_phy>;
phy-mode = "mii"; phy-mode = "mii";
allwinner,leds-active-low; allwinner,leds-active-low;
status = "okay";
}; };
&hdmi { &hdmi {
......
...@@ -51,7 +51,7 @@ / { ...@@ -51,7 +51,7 @@ / {
leds { leds {
/* The LEDs use PG0~2 pins, which conflict with MMC1 */ /* The LEDs use PG0~2 pins, which conflict with MMC1 */
status = "disbaled"; status = "disabled";
}; };
}; };
......
...@@ -323,7 +323,7 @@ void __init ep93xx_register_eth(struct ep93xx_eth_data *data, int copy_addr) ...@@ -323,7 +323,7 @@ void __init ep93xx_register_eth(struct ep93xx_eth_data *data, int copy_addr)
/* All EP93xx devices use the same two GPIO pins for I2C bit-banging */ /* All EP93xx devices use the same two GPIO pins for I2C bit-banging */
static struct gpiod_lookup_table ep93xx_i2c_gpiod_table = { static struct gpiod_lookup_table ep93xx_i2c_gpiod_table = {
.dev_id = "i2c-gpio", .dev_id = "i2c-gpio.0",
.table = { .table = {
/* Use local offsets on gpiochip/port "G" */ /* Use local offsets on gpiochip/port "G" */
GPIO_LOOKUP_IDX("G", 1, NULL, 0, GPIO_LOOKUP_IDX("G", 1, NULL, 0,
......
...@@ -51,7 +51,7 @@ static struct platform_device avila_flash = { ...@@ -51,7 +51,7 @@ static struct platform_device avila_flash = {
}; };
static struct gpiod_lookup_table avila_i2c_gpiod_table = { static struct gpiod_lookup_table avila_i2c_gpiod_table = {
.dev_id = "i2c-gpio", .dev_id = "i2c-gpio.0",
.table = { .table = {
GPIO_LOOKUP_IDX("IXP4XX_GPIO_CHIP", AVILA_SDA_PIN, GPIO_LOOKUP_IDX("IXP4XX_GPIO_CHIP", AVILA_SDA_PIN,
NULL, 0, GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN), NULL, 0, GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),
......
...@@ -70,7 +70,7 @@ static struct platform_device dsmg600_flash = { ...@@ -70,7 +70,7 @@ static struct platform_device dsmg600_flash = {
}; };
static struct gpiod_lookup_table dsmg600_i2c_gpiod_table = { static struct gpiod_lookup_table dsmg600_i2c_gpiod_table = {
.dev_id = "i2c-gpio", .dev_id = "i2c-gpio.0",
.table = { .table = {
GPIO_LOOKUP_IDX("IXP4XX_GPIO_CHIP", DSMG600_SDA_PIN, GPIO_LOOKUP_IDX("IXP4XX_GPIO_CHIP", DSMG600_SDA_PIN,
NULL, 0, GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN), NULL, 0, GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),
......
...@@ -56,7 +56,7 @@ static struct platform_device fsg_flash = { ...@@ -56,7 +56,7 @@ static struct platform_device fsg_flash = {
}; };
static struct gpiod_lookup_table fsg_i2c_gpiod_table = { static struct gpiod_lookup_table fsg_i2c_gpiod_table = {
.dev_id = "i2c-gpio", .dev_id = "i2c-gpio.0",
.table = { .table = {
GPIO_LOOKUP_IDX("IXP4XX_GPIO_CHIP", FSG_SDA_PIN, GPIO_LOOKUP_IDX("IXP4XX_GPIO_CHIP", FSG_SDA_PIN,
NULL, 0, GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN), NULL, 0, GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),
......
...@@ -124,7 +124,7 @@ static struct platform_device ixdp425_flash_nand = { ...@@ -124,7 +124,7 @@ static struct platform_device ixdp425_flash_nand = {
#endif /* CONFIG_MTD_NAND_PLATFORM */ #endif /* CONFIG_MTD_NAND_PLATFORM */
static struct gpiod_lookup_table ixdp425_i2c_gpiod_table = { static struct gpiod_lookup_table ixdp425_i2c_gpiod_table = {
.dev_id = "i2c-gpio", .dev_id = "i2c-gpio.0",
.table = { .table = {
GPIO_LOOKUP_IDX("IXP4XX_GPIO_CHIP", IXDP425_SDA_PIN, GPIO_LOOKUP_IDX("IXP4XX_GPIO_CHIP", IXDP425_SDA_PIN,
NULL, 0, GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN), NULL, 0, GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),
......
...@@ -102,7 +102,7 @@ static struct platform_device nas100d_leds = { ...@@ -102,7 +102,7 @@ static struct platform_device nas100d_leds = {
}; };
static struct gpiod_lookup_table nas100d_i2c_gpiod_table = { static struct gpiod_lookup_table nas100d_i2c_gpiod_table = {
.dev_id = "i2c-gpio", .dev_id = "i2c-gpio.0",
.table = { .table = {
GPIO_LOOKUP_IDX("IXP4XX_GPIO_CHIP", NAS100D_SDA_PIN, GPIO_LOOKUP_IDX("IXP4XX_GPIO_CHIP", NAS100D_SDA_PIN,
NULL, 0, GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN), NULL, 0, GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),
......
...@@ -70,7 +70,7 @@ static struct platform_device nslu2_flash = { ...@@ -70,7 +70,7 @@ static struct platform_device nslu2_flash = {
}; };
static struct gpiod_lookup_table nslu2_i2c_gpiod_table = { static struct gpiod_lookup_table nslu2_i2c_gpiod_table = {
.dev_id = "i2c-gpio", .dev_id = "i2c-gpio.0",
.table = { .table = {
GPIO_LOOKUP_IDX("IXP4XX_GPIO_CHIP", NSLU2_SDA_PIN, GPIO_LOOKUP_IDX("IXP4XX_GPIO_CHIP", NSLU2_SDA_PIN,
NULL, 0, GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN), NULL, 0, GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),
......
...@@ -322,7 +322,7 @@ static struct soc_camera_link palmz72_iclink = { ...@@ -322,7 +322,7 @@ static struct soc_camera_link palmz72_iclink = {
}; };
static struct gpiod_lookup_table palmz72_i2c_gpiod_table = { static struct gpiod_lookup_table palmz72_i2c_gpiod_table = {
.dev_id = "i2c-gpio", .dev_id = "i2c-gpio.0",
.table = { .table = {
GPIO_LOOKUP_IDX("gpio-pxa", 118, NULL, 0, GPIO_LOOKUP_IDX("gpio-pxa", 118, NULL, 0,
GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN), GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),
......
...@@ -460,7 +460,7 @@ static struct platform_device smc91x_device = { ...@@ -460,7 +460,7 @@ static struct platform_device smc91x_device = {
/* i2c */ /* i2c */
static struct gpiod_lookup_table viper_i2c_gpiod_table = { static struct gpiod_lookup_table viper_i2c_gpiod_table = {
.dev_id = "i2c-gpio", .dev_id = "i2c-gpio.1",
.table = { .table = {
GPIO_LOOKUP_IDX("gpio-pxa", VIPER_RTC_I2C_SDA_GPIO, GPIO_LOOKUP_IDX("gpio-pxa", VIPER_RTC_I2C_SDA_GPIO,
NULL, 0, GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN), NULL, 0, GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),
...@@ -789,7 +789,7 @@ static int __init viper_tpm_setup(char *str) ...@@ -789,7 +789,7 @@ static int __init viper_tpm_setup(char *str)
__setup("tpm=", viper_tpm_setup); __setup("tpm=", viper_tpm_setup);
struct gpiod_lookup_table viper_tpm_i2c_gpiod_table = { struct gpiod_lookup_table viper_tpm_i2c_gpiod_table = {
.dev_id = "i2c-gpio", .dev_id = "i2c-gpio.2",
.table = { .table = {
GPIO_LOOKUP_IDX("gpio-pxa", VIPER_TPM_I2C_SDA_GPIO, GPIO_LOOKUP_IDX("gpio-pxa", VIPER_TPM_I2C_SDA_GPIO,
NULL, 0, GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN), NULL, 0, GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),
......
...@@ -327,7 +327,7 @@ static struct platform_device simpad_gpio_leds = { ...@@ -327,7 +327,7 @@ static struct platform_device simpad_gpio_leds = {
* i2c * i2c
*/ */
static struct gpiod_lookup_table simpad_i2c_gpiod_table = { static struct gpiod_lookup_table simpad_i2c_gpiod_table = {
.dev_id = "i2c-gpio", .dev_id = "i2c-gpio.0",
.table = { .table = {
GPIO_LOOKUP_IDX("gpio", 21, NULL, 0, GPIO_LOOKUP_IDX("gpio", 21, NULL, 0,
GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN), GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),
......
...@@ -299,7 +299,6 @@ gpio15: gpio@f702b000 { ...@@ -299,7 +299,6 @@ gpio15: gpio@f702b000 {
/* GPIO blocks 16 thru 19 do not appear to be routed to pins */ /* GPIO blocks 16 thru 19 do not appear to be routed to pins */
dwmmc_0: dwmmc0@f723d000 { dwmmc_0: dwmmc0@f723d000 {
max-frequency = <150000000>;
cap-mmc-highspeed; cap-mmc-highspeed;
mmc-hs200-1_8v; mmc-hs200-1_8v;
non-removable; non-removable;
......
...@@ -147,7 +147,7 @@ static u32 smc(u32 cmd_addr) ...@@ -147,7 +147,7 @@ static u32 smc(u32 cmd_addr)
"smc #0 @ switch to secure world\n" "smc #0 @ switch to secure world\n"
: "=r" (r0) : "=r" (r0)
: "r" (r0), "r" (r1), "r" (r2) : "r" (r0), "r" (r1), "r" (r2)
: "r3"); : "r3", "r12");
} while (r0 == QCOM_SCM_INTERRUPTED); } while (r0 == QCOM_SCM_INTERRUPTED);
return r0; return r0;
...@@ -263,7 +263,7 @@ static s32 qcom_scm_call_atomic1(u32 svc, u32 cmd, u32 arg1) ...@@ -263,7 +263,7 @@ static s32 qcom_scm_call_atomic1(u32 svc, u32 cmd, u32 arg1)
"smc #0 @ switch to secure world\n" "smc #0 @ switch to secure world\n"
: "=r" (r0) : "=r" (r0)
: "r" (r0), "r" (r1), "r" (r2) : "r" (r0), "r" (r1), "r" (r2)
: "r3"); : "r3", "r12");
return r0; return r0;
} }
...@@ -298,7 +298,7 @@ static s32 qcom_scm_call_atomic2(u32 svc, u32 cmd, u32 arg1, u32 arg2) ...@@ -298,7 +298,7 @@ static s32 qcom_scm_call_atomic2(u32 svc, u32 cmd, u32 arg1, u32 arg2)
"smc #0 @ switch to secure world\n" "smc #0 @ switch to secure world\n"
: "=r" (r0) : "=r" (r0)
: "r" (r0), "r" (r1), "r" (r2), "r" (r3) : "r" (r0), "r" (r1), "r" (r2), "r" (r3)
); : "r12");
return r0; return r0;
} }
...@@ -328,7 +328,7 @@ u32 qcom_scm_get_version(void) ...@@ -328,7 +328,7 @@ u32 qcom_scm_get_version(void)
"smc #0 @ switch to secure world\n" "smc #0 @ switch to secure world\n"
: "=r" (r0), "=r" (r1) : "=r" (r0), "=r" (r1)
: "r" (r0), "r" (r1) : "r" (r0), "r" (r1)
: "r2", "r3"); : "r2", "r3", "r12");
} while (r0 == QCOM_SCM_INTERRUPTED); } while (r0 == QCOM_SCM_INTERRUPTED);
version = r1; version = r1;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment