diff options
| -rw-r--r-- | arch/arm/boot/dts/da850-evm.dts | 31 | ||||
| -rw-r--r-- | arch/arm/boot/dts/da850-lcdk.dts | 38 | ||||
| -rw-r--r-- | arch/arm/boot/dts/kirkwood-dnskw.dtsi | 4 | ||||
| -rw-r--r-- | arch/arm/mach-davinci/board-da830-evm.c | 4 | ||||
| -rw-r--r-- | arch/arm/mach-davinci/board-da850-evm.c | 4 | ||||
| -rw-r--r-- | arch/arm/mach-davinci/board-dm355-evm.c | 4 | ||||
| -rw-r--r-- | arch/arm/mach-davinci/board-dm644x-evm.c | 4 | ||||
| -rw-r--r-- | arch/arm/mach-davinci/board-omapl138-hawk.c | 4 | ||||
| -rw-r--r-- | arch/arm/mach-integrator/impd1.c | 8 | ||||
| -rw-r--r-- | arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtsi | 2 | ||||
| -rw-r--r-- | arch/arm64/boot/dts/marvell/armada-ap806.dtsi | 17 | ||||
| -rw-r--r-- | arch/arm64/configs/defconfig | 4 | ||||
| -rw-r--r-- | drivers/soc/renesas/Kconfig | 2 | ||||
| -rw-r--r-- | drivers/soc/renesas/r8a774c0-sysc.c | 23 | ||||
| -rw-r--r-- | include/linux/qcom_scm.h | 1 |
15 files changed, 109 insertions, 41 deletions
diff --git a/arch/arm/boot/dts/da850-evm.dts b/arch/arm/boot/dts/da850-evm.dts index a3c9b346721d..f04bc3e15332 100644 --- a/arch/arm/boot/dts/da850-evm.dts +++ b/arch/arm/boot/dts/da850-evm.dts | |||
| @@ -94,6 +94,28 @@ | |||
| 94 | regulator-boot-on; | 94 | regulator-boot-on; |
| 95 | }; | 95 | }; |
| 96 | 96 | ||
| 97 | baseboard_3v3: fixedregulator-3v3 { | ||
| 98 | /* TPS73701DCQ */ | ||
| 99 | compatible = "regulator-fixed"; | ||
| 100 | regulator-name = "baseboard_3v3"; | ||
| 101 | regulator-min-microvolt = <3300000>; | ||
| 102 | regulator-max-microvolt = <3300000>; | ||
| 103 | vin-supply = <&vbat>; | ||
| 104 | regulator-always-on; | ||
| 105 | regulator-boot-on; | ||
| 106 | }; | ||
| 107 | |||
| 108 | baseboard_1v8: fixedregulator-1v8 { | ||
| 109 | /* TPS73701DCQ */ | ||
| 110 | compatible = "regulator-fixed"; | ||
| 111 | regulator-name = "baseboard_1v8"; | ||
| 112 | regulator-min-microvolt = <1800000>; | ||
| 113 | regulator-max-microvolt = <1800000>; | ||
| 114 | vin-supply = <&vbat>; | ||
| 115 | regulator-always-on; | ||
| 116 | regulator-boot-on; | ||
| 117 | }; | ||
| 118 | |||
| 97 | backlight_lcd: backlight-regulator { | 119 | backlight_lcd: backlight-regulator { |
| 98 | compatible = "regulator-fixed"; | 120 | compatible = "regulator-fixed"; |
| 99 | regulator-name = "lcd_backlight_pwr"; | 121 | regulator-name = "lcd_backlight_pwr"; |
| @@ -105,7 +127,7 @@ | |||
| 105 | 127 | ||
| 106 | sound { | 128 | sound { |
| 107 | compatible = "simple-audio-card"; | 129 | compatible = "simple-audio-card"; |
| 108 | simple-audio-card,name = "DA850/OMAP-L138 EVM"; | 130 | simple-audio-card,name = "DA850-OMAPL138 EVM"; |
| 109 | simple-audio-card,widgets = | 131 | simple-audio-card,widgets = |
| 110 | "Line", "Line In", | 132 | "Line", "Line In", |
| 111 | "Line", "Line Out"; | 133 | "Line", "Line Out"; |
| @@ -210,10 +232,9 @@ | |||
| 210 | 232 | ||
| 211 | /* Regulators */ | 233 | /* Regulators */ |
| 212 | IOVDD-supply = <&vdcdc2_reg>; | 234 | IOVDD-supply = <&vdcdc2_reg>; |
| 213 | /* Derived from VBAT: Baseboard 3.3V / 1.8V */ | 235 | AVDD-supply = <&baseboard_3v3>; |
| 214 | AVDD-supply = <&vbat>; | 236 | DRVDD-supply = <&baseboard_3v3>; |
| 215 | DRVDD-supply = <&vbat>; | 237 | DVDD-supply = <&baseboard_1v8>; |
| 216 | DVDD-supply = <&vbat>; | ||
| 217 | }; | 238 | }; |
| 218 | tca6416: gpio@20 { | 239 | tca6416: gpio@20 { |
| 219 | compatible = "ti,tca6416"; | 240 | compatible = "ti,tca6416"; |
diff --git a/arch/arm/boot/dts/da850-lcdk.dts b/arch/arm/boot/dts/da850-lcdk.dts index 0177e3ed20fe..3a2fa6e035a3 100644 --- a/arch/arm/boot/dts/da850-lcdk.dts +++ b/arch/arm/boot/dts/da850-lcdk.dts | |||
| @@ -39,9 +39,39 @@ | |||
| 39 | }; | 39 | }; |
| 40 | }; | 40 | }; |
| 41 | 41 | ||
| 42 | vcc_5vd: fixedregulator-vcc_5vd { | ||
| 43 | compatible = "regulator-fixed"; | ||
| 44 | regulator-name = "vcc_5vd"; | ||
| 45 | regulator-min-microvolt = <5000000>; | ||
| 46 | regulator-max-microvolt = <5000000>; | ||
| 47 | regulator-boot-on; | ||
| 48 | }; | ||
| 49 | |||
| 50 | vcc_3v3d: fixedregulator-vcc_3v3d { | ||
| 51 | /* TPS650250 - VDCDC1 */ | ||
| 52 | compatible = "regulator-fixed"; | ||
| 53 | regulator-name = "vcc_3v3d"; | ||
| 54 | regulator-min-microvolt = <3300000>; | ||
| 55 | regulator-max-microvolt = <3300000>; | ||
| 56 | vin-supply = <&vcc_5vd>; | ||
| 57 | regulator-always-on; | ||
| 58 | regulator-boot-on; | ||
| 59 | }; | ||
| 60 | |||
| 61 | vcc_1v8d: fixedregulator-vcc_1v8d { | ||
| 62 | /* TPS650250 - VDCDC2 */ | ||
| 63 | compatible = "regulator-fixed"; | ||
| 64 | regulator-name = "vcc_1v8d"; | ||
| 65 | regulator-min-microvolt = <1800000>; | ||
| 66 | regulator-max-microvolt = <1800000>; | ||
| 67 | vin-supply = <&vcc_5vd>; | ||
| 68 | regulator-always-on; | ||
| 69 | regulator-boot-on; | ||
| 70 | }; | ||
| 71 | |||
| 42 | sound { | 72 | sound { |
| 43 | compatible = "simple-audio-card"; | 73 | compatible = "simple-audio-card"; |
| 44 | simple-audio-card,name = "DA850/OMAP-L138 LCDK"; | 74 | simple-audio-card,name = "DA850-OMAPL138 LCDK"; |
| 45 | simple-audio-card,widgets = | 75 | simple-audio-card,widgets = |
| 46 | "Line", "Line In", | 76 | "Line", "Line In", |
| 47 | "Line", "Line Out"; | 77 | "Line", "Line Out"; |
| @@ -221,6 +251,12 @@ | |||
| 221 | compatible = "ti,tlv320aic3106"; | 251 | compatible = "ti,tlv320aic3106"; |
| 222 | reg = <0x18>; | 252 | reg = <0x18>; |
| 223 | status = "okay"; | 253 | status = "okay"; |
| 254 | |||
| 255 | /* Regulators */ | ||
| 256 | IOVDD-supply = <&vcc_3v3d>; | ||
| 257 | AVDD-supply = <&vcc_3v3d>; | ||
| 258 | DRVDD-supply = <&vcc_3v3d>; | ||
| 259 | DVDD-supply = <&vcc_1v8d>; | ||
| 224 | }; | 260 | }; |
| 225 | }; | 261 | }; |
| 226 | 262 | ||
diff --git a/arch/arm/boot/dts/kirkwood-dnskw.dtsi b/arch/arm/boot/dts/kirkwood-dnskw.dtsi index cbaf06f2f78e..eb917462b219 100644 --- a/arch/arm/boot/dts/kirkwood-dnskw.dtsi +++ b/arch/arm/boot/dts/kirkwood-dnskw.dtsi | |||
| @@ -36,8 +36,8 @@ | |||
| 36 | compatible = "gpio-fan"; | 36 | compatible = "gpio-fan"; |
| 37 | pinctrl-0 = <&pmx_fan_high_speed &pmx_fan_low_speed>; | 37 | pinctrl-0 = <&pmx_fan_high_speed &pmx_fan_low_speed>; |
| 38 | pinctrl-names = "default"; | 38 | pinctrl-names = "default"; |
| 39 | gpios = <&gpio1 14 GPIO_ACTIVE_LOW | 39 | gpios = <&gpio1 14 GPIO_ACTIVE_HIGH |
| 40 | &gpio1 13 GPIO_ACTIVE_LOW>; | 40 | &gpio1 13 GPIO_ACTIVE_HIGH>; |
| 41 | gpio-fan,speed-map = <0 0 | 41 | gpio-fan,speed-map = <0 0 |
| 42 | 3000 1 | 42 | 3000 1 |
| 43 | 6000 2>; | 43 | 6000 2>; |
diff --git a/arch/arm/mach-davinci/board-da830-evm.c b/arch/arm/mach-davinci/board-da830-evm.c index e52ec1619b70..c4da635ee4ce 100644 --- a/arch/arm/mach-davinci/board-da830-evm.c +++ b/arch/arm/mach-davinci/board-da830-evm.c | |||
| @@ -208,9 +208,9 @@ static struct gpiod_lookup_table mmc_gpios_table = { | |||
| 208 | .dev_id = "da830-mmc.0", | 208 | .dev_id = "da830-mmc.0", |
| 209 | .table = { | 209 | .table = { |
| 210 | /* gpio chip 1 contains gpio range 32-63 */ | 210 | /* gpio chip 1 contains gpio range 32-63 */ |
| 211 | GPIO_LOOKUP("davinci_gpio.0", DA830_MMCSD_CD_PIN, "cd", | 211 | GPIO_LOOKUP("davinci_gpio", DA830_MMCSD_CD_PIN, "cd", |
| 212 | GPIO_ACTIVE_LOW), | 212 | GPIO_ACTIVE_LOW), |
| 213 | GPIO_LOOKUP("davinci_gpio.0", DA830_MMCSD_WP_PIN, "wp", | 213 | GPIO_LOOKUP("davinci_gpio", DA830_MMCSD_WP_PIN, "wp", |
| 214 | GPIO_ACTIVE_LOW), | 214 | GPIO_ACTIVE_LOW), |
| 215 | }, | 215 | }, |
| 216 | }; | 216 | }; |
diff --git a/arch/arm/mach-davinci/board-da850-evm.c b/arch/arm/mach-davinci/board-da850-evm.c index 6a29baf0a289..44bca048dfd0 100644 --- a/arch/arm/mach-davinci/board-da850-evm.c +++ b/arch/arm/mach-davinci/board-da850-evm.c | |||
| @@ -805,9 +805,9 @@ static struct gpiod_lookup_table mmc_gpios_table = { | |||
| 805 | .dev_id = "da830-mmc.0", | 805 | .dev_id = "da830-mmc.0", |
| 806 | .table = { | 806 | .table = { |
| 807 | /* gpio chip 2 contains gpio range 64-95 */ | 807 | /* gpio chip 2 contains gpio range 64-95 */ |
| 808 | GPIO_LOOKUP("davinci_gpio.0", DA850_MMCSD_CD_PIN, "cd", | 808 | GPIO_LOOKUP("davinci_gpio", DA850_MMCSD_CD_PIN, "cd", |
| 809 | GPIO_ACTIVE_LOW), | 809 | GPIO_ACTIVE_LOW), |
| 810 | GPIO_LOOKUP("davinci_gpio.0", DA850_MMCSD_WP_PIN, "wp", | 810 | GPIO_LOOKUP("davinci_gpio", DA850_MMCSD_WP_PIN, "wp", |
| 811 | GPIO_ACTIVE_HIGH), | 811 | GPIO_ACTIVE_HIGH), |
| 812 | }, | 812 | }, |
| 813 | }; | 813 | }; |
diff --git a/arch/arm/mach-davinci/board-dm355-evm.c b/arch/arm/mach-davinci/board-dm355-evm.c index f53a461a606f..f7fa960c23e3 100644 --- a/arch/arm/mach-davinci/board-dm355-evm.c +++ b/arch/arm/mach-davinci/board-dm355-evm.c | |||
| @@ -117,9 +117,9 @@ static struct platform_device davinci_nand_device = { | |||
| 117 | static struct gpiod_lookup_table i2c_recovery_gpiod_table = { | 117 | static struct gpiod_lookup_table i2c_recovery_gpiod_table = { |
| 118 | .dev_id = "i2c_davinci.1", | 118 | .dev_id = "i2c_davinci.1", |
| 119 | .table = { | 119 | .table = { |
| 120 | GPIO_LOOKUP("davinci_gpio.0", DM355_I2C_SDA_PIN, "sda", | 120 | GPIO_LOOKUP("davinci_gpio", DM355_I2C_SDA_PIN, "sda", |
| 121 | GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN), | 121 | GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN), |
| 122 | GPIO_LOOKUP("davinci_gpio.0", DM355_I2C_SCL_PIN, "scl", | 122 | GPIO_LOOKUP("davinci_gpio", DM355_I2C_SCL_PIN, "scl", |
| 123 | GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN), | 123 | GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN), |
| 124 | }, | 124 | }, |
| 125 | }; | 125 | }; |
diff --git a/arch/arm/mach-davinci/board-dm644x-evm.c b/arch/arm/mach-davinci/board-dm644x-evm.c index e1428115067f..b80c4ee76217 100644 --- a/arch/arm/mach-davinci/board-dm644x-evm.c +++ b/arch/arm/mach-davinci/board-dm644x-evm.c | |||
| @@ -660,9 +660,9 @@ static struct i2c_board_info __initdata i2c_info[] = { | |||
| 660 | static struct gpiod_lookup_table i2c_recovery_gpiod_table = { | 660 | static struct gpiod_lookup_table i2c_recovery_gpiod_table = { |
| 661 | .dev_id = "i2c_davinci.1", | 661 | .dev_id = "i2c_davinci.1", |
| 662 | .table = { | 662 | .table = { |
| 663 | GPIO_LOOKUP("davinci_gpio.0", DM644X_I2C_SDA_PIN, "sda", | 663 | GPIO_LOOKUP("davinci_gpio", DM644X_I2C_SDA_PIN, "sda", |
| 664 | GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN), | 664 | GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN), |
| 665 | GPIO_LOOKUP("davinci_gpio.0", DM644X_I2C_SCL_PIN, "scl", | 665 | GPIO_LOOKUP("davinci_gpio", DM644X_I2C_SCL_PIN, "scl", |
| 666 | GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN), | 666 | GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN), |
| 667 | }, | 667 | }, |
| 668 | }; | 668 | }; |
diff --git a/arch/arm/mach-davinci/board-omapl138-hawk.c b/arch/arm/mach-davinci/board-omapl138-hawk.c index 8e8d51f4a276..94c4f126ef86 100644 --- a/arch/arm/mach-davinci/board-omapl138-hawk.c +++ b/arch/arm/mach-davinci/board-omapl138-hawk.c | |||
| @@ -134,9 +134,9 @@ static const short hawk_mmcsd0_pins[] = { | |||
| 134 | static struct gpiod_lookup_table mmc_gpios_table = { | 134 | static struct gpiod_lookup_table mmc_gpios_table = { |
| 135 | .dev_id = "da830-mmc.0", | 135 | .dev_id = "da830-mmc.0", |
| 136 | .table = { | 136 | .table = { |
| 137 | GPIO_LOOKUP("davinci_gpio.0", DA850_HAWK_MMCSD_CD_PIN, "cd", | 137 | GPIO_LOOKUP("davinci_gpio", DA850_HAWK_MMCSD_CD_PIN, "cd", |
| 138 | GPIO_ACTIVE_LOW), | 138 | GPIO_ACTIVE_LOW), |
| 139 | GPIO_LOOKUP("davinci_gpio.0", DA850_HAWK_MMCSD_WP_PIN, "wp", | 139 | GPIO_LOOKUP("davinci_gpio", DA850_HAWK_MMCSD_WP_PIN, "wp", |
| 140 | GPIO_ACTIVE_LOW), | 140 | GPIO_ACTIVE_LOW), |
| 141 | }, | 141 | }, |
| 142 | }; | 142 | }; |
diff --git a/arch/arm/mach-integrator/impd1.c b/arch/arm/mach-integrator/impd1.c index a109f6482413..8dfad012dfae 100644 --- a/arch/arm/mach-integrator/impd1.c +++ b/arch/arm/mach-integrator/impd1.c | |||
| @@ -390,10 +390,14 @@ static int __ref impd1_probe(struct lm_device *dev) | |||
| 390 | char *mmciname; | 390 | char *mmciname; |
| 391 | 391 | ||
| 392 | lookup = devm_kzalloc(&dev->dev, | 392 | lookup = devm_kzalloc(&dev->dev, |
| 393 | sizeof(*lookup) + 3 * sizeof(struct gpiod_lookup), | 393 | struct_size(lookup, table, 3), |
| 394 | GFP_KERNEL); | 394 | GFP_KERNEL); |
| 395 | chipname = devm_kstrdup(&dev->dev, devname, GFP_KERNEL); | 395 | chipname = devm_kstrdup(&dev->dev, devname, GFP_KERNEL); |
| 396 | mmciname = kasprintf(GFP_KERNEL, "lm%x:00700", dev->id); | 396 | mmciname = devm_kasprintf(&dev->dev, GFP_KERNEL, |
| 397 | "lm%x:00700", dev->id); | ||
| 398 | if (!lookup || !chipname || !mmciname) | ||
| 399 | return -ENOMEM; | ||
| 400 | |||
| 397 | lookup->dev_id = mmciname; | 401 | lookup->dev_id = mmciname; |
| 398 | /* | 402 | /* |
| 399 | * Offsets on GPIO block 1: | 403 | * Offsets on GPIO block 1: |
diff --git a/arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtsi b/arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtsi index 29ea7e81ec4c..329f8ceeebea 100644 --- a/arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtsi +++ b/arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtsi | |||
| @@ -183,7 +183,7 @@ | |||
| 183 | pinctrl-0 = <&cp0_pcie_pins>; | 183 | pinctrl-0 = <&cp0_pcie_pins>; |
| 184 | num-lanes = <4>; | 184 | num-lanes = <4>; |
| 185 | num-viewport = <8>; | 185 | num-viewport = <8>; |
| 186 | reset-gpio = <&cp0_gpio1 20 GPIO_ACTIVE_LOW>; | 186 | reset-gpios = <&cp0_gpio2 20 GPIO_ACTIVE_LOW>; |
| 187 | status = "okay"; | 187 | status = "okay"; |
| 188 | }; | 188 | }; |
| 189 | 189 | ||
diff --git a/arch/arm64/boot/dts/marvell/armada-ap806.dtsi b/arch/arm64/boot/dts/marvell/armada-ap806.dtsi index 7d94c1fa592a..7f799cb5668e 100644 --- a/arch/arm64/boot/dts/marvell/armada-ap806.dtsi +++ b/arch/arm64/boot/dts/marvell/armada-ap806.dtsi | |||
| @@ -28,6 +28,23 @@ | |||
| 28 | method = "smc"; | 28 | method = "smc"; |
| 29 | }; | 29 | }; |
| 30 | 30 | ||
| 31 | reserved-memory { | ||
| 32 | #address-cells = <2>; | ||
| 33 | #size-cells = <2>; | ||
| 34 | ranges; | ||
| 35 | |||
| 36 | /* | ||
| 37 | * This area matches the mapping done with a | ||
| 38 | * mainline U-Boot, and should be updated by the | ||
| 39 | * bootloader. | ||
| 40 | */ | ||
| 41 | |||
| 42 | psci-area@4000000 { | ||
| 43 | reg = <0x0 0x4000000 0x0 0x200000>; | ||
| 44 | no-map; | ||
| 45 | }; | ||
| 46 | }; | ||
| 47 | |||
| 31 | ap806 { | 48 | ap806 { |
| 32 | #address-cells = <2>; | 49 | #address-cells = <2>; |
| 33 | #size-cells = <2>; | 50 | #size-cells = <2>; |
diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig index 3ef443cfbab6..c8432e24207e 100644 --- a/arch/arm64/configs/defconfig +++ b/arch/arm64/configs/defconfig | |||
| @@ -506,11 +506,15 @@ CONFIG_SND_SOC_ROCKCHIP=m | |||
| 506 | CONFIG_SND_SOC_ROCKCHIP_SPDIF=m | 506 | CONFIG_SND_SOC_ROCKCHIP_SPDIF=m |
| 507 | CONFIG_SND_SOC_ROCKCHIP_RT5645=m | 507 | CONFIG_SND_SOC_ROCKCHIP_RT5645=m |
| 508 | CONFIG_SND_SOC_RK3399_GRU_SOUND=m | 508 | CONFIG_SND_SOC_RK3399_GRU_SOUND=m |
| 509 | CONFIG_SND_MESON_AXG_SOUND_CARD=m | ||
| 509 | CONFIG_SND_SOC_SAMSUNG=y | 510 | CONFIG_SND_SOC_SAMSUNG=y |
| 510 | CONFIG_SND_SOC_RCAR=m | 511 | CONFIG_SND_SOC_RCAR=m |
| 511 | CONFIG_SND_SOC_AK4613=m | 512 | CONFIG_SND_SOC_AK4613=m |
| 512 | CONFIG_SND_SIMPLE_CARD=m | 513 | CONFIG_SND_SIMPLE_CARD=m |
| 513 | CONFIG_SND_AUDIO_GRAPH_CARD=m | 514 | CONFIG_SND_AUDIO_GRAPH_CARD=m |
| 515 | CONFIG_SND_SOC_ES7134=m | ||
| 516 | CONFIG_SND_SOC_ES7241=m | ||
| 517 | CONFIG_SND_SOC_TAS571X=m | ||
| 514 | CONFIG_I2C_HID=m | 518 | CONFIG_I2C_HID=m |
| 515 | CONFIG_USB=y | 519 | CONFIG_USB=y |
| 516 | CONFIG_USB_OTG=y | 520 | CONFIG_USB_OTG=y |
diff --git a/drivers/soc/renesas/Kconfig b/drivers/soc/renesas/Kconfig index 4d8012e1205c..68bfca6f20dd 100644 --- a/drivers/soc/renesas/Kconfig +++ b/drivers/soc/renesas/Kconfig | |||
| @@ -44,7 +44,7 @@ config ARCH_RZN1 | |||
| 44 | bool | 44 | bool |
| 45 | select ARM_AMBA | 45 | select ARM_AMBA |
| 46 | 46 | ||
| 47 | if ARM | 47 | if ARM && ARCH_RENESAS |
| 48 | 48 | ||
| 49 | #comment "Renesas ARM SoCs System Type" | 49 | #comment "Renesas ARM SoCs System Type" |
| 50 | 50 | ||
diff --git a/drivers/soc/renesas/r8a774c0-sysc.c b/drivers/soc/renesas/r8a774c0-sysc.c index e1ac4c0f6640..11050e17ea81 100644 --- a/drivers/soc/renesas/r8a774c0-sysc.c +++ b/drivers/soc/renesas/r8a774c0-sysc.c | |||
| @@ -28,19 +28,6 @@ static struct rcar_sysc_area r8a774c0_areas[] __initdata = { | |||
| 28 | { "3dg-b", 0x100, 1, R8A774C0_PD_3DG_B, R8A774C0_PD_3DG_A }, | 28 | { "3dg-b", 0x100, 1, R8A774C0_PD_3DG_B, R8A774C0_PD_3DG_A }, |
| 29 | }; | 29 | }; |
| 30 | 30 | ||
| 31 | static void __init rcar_sysc_fix_parent(struct rcar_sysc_area *areas, | ||
| 32 | unsigned int num_areas, u8 id, | ||
| 33 | int new_parent) | ||
| 34 | { | ||
| 35 | unsigned int i; | ||
| 36 | |||
| 37 | for (i = 0; i < num_areas; i++) | ||
| 38 | if (areas[i].isr_bit == id) { | ||
| 39 | areas[i].parent = new_parent; | ||
| 40 | return; | ||
| 41 | } | ||
| 42 | } | ||
| 43 | |||
| 44 | /* Fixups for RZ/G2E ES1.0 revision */ | 31 | /* Fixups for RZ/G2E ES1.0 revision */ |
| 45 | static const struct soc_device_attribute r8a774c0[] __initconst = { | 32 | static const struct soc_device_attribute r8a774c0[] __initconst = { |
| 46 | { .soc_id = "r8a774c0", .revision = "ES1.0" }, | 33 | { .soc_id = "r8a774c0", .revision = "ES1.0" }, |
| @@ -50,12 +37,10 @@ static const struct soc_device_attribute r8a774c0[] __initconst = { | |||
| 50 | static int __init r8a774c0_sysc_init(void) | 37 | static int __init r8a774c0_sysc_init(void) |
| 51 | { | 38 | { |
| 52 | if (soc_device_match(r8a774c0)) { | 39 | if (soc_device_match(r8a774c0)) { |
| 53 | rcar_sysc_fix_parent(r8a774c0_areas, | 40 | /* Fix incorrect 3DG hierarchy */ |
| 54 | ARRAY_SIZE(r8a774c0_areas), | 41 | swap(r8a774c0_areas[6], r8a774c0_areas[7]); |
| 55 | R8A774C0_PD_3DG_A, R8A774C0_PD_3DG_B); | 42 | r8a774c0_areas[6].parent = R8A774C0_PD_ALWAYS_ON; |
| 56 | rcar_sysc_fix_parent(r8a774c0_areas, | 43 | r8a774c0_areas[7].parent = R8A774C0_PD_3DG_B; |
| 57 | ARRAY_SIZE(r8a774c0_areas), | ||
| 58 | R8A774C0_PD_3DG_B, R8A774C0_PD_ALWAYS_ON); | ||
| 59 | } | 44 | } |
| 60 | 45 | ||
| 61 | return 0; | 46 | return 0; |
diff --git a/include/linux/qcom_scm.h b/include/linux/qcom_scm.h index 1637385bcc17..d0aecc04c54b 100644 --- a/include/linux/qcom_scm.h +++ b/include/linux/qcom_scm.h | |||
| @@ -13,6 +13,7 @@ | |||
| 13 | #ifndef __QCOM_SCM_H | 13 | #ifndef __QCOM_SCM_H |
| 14 | #define __QCOM_SCM_H | 14 | #define __QCOM_SCM_H |
| 15 | 15 | ||
| 16 | #include <linux/err.h> | ||
| 16 | #include <linux/types.h> | 17 | #include <linux/types.h> |
| 17 | #include <linux/cpumask.h> | 18 | #include <linux/cpumask.h> |
| 18 | 19 | ||
