2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-22 12:14:01 +08:00
Commit Graph

495091 Commits

Author SHA1 Message Date
Olof Johansson
085dd64e53 The i.MX SoC changes for 3.20:
- Add .disable_unused function hook for shared gate clock to ensure
    the clock tree use count matches the hardware state
  - Add a deeper idle state for i.MX6SX cpuidle driver powering off the
    ARM core
  - One correction on i.MX6Q esai_ipg parent clock setting
  - Add a missing iounmap call for imx6q_opp_check_speed_grading()
  - Add missing clocks for VF610 UART4, UART5 and SNVS blocks
  - Expand VF610 device tree compatible matching table to cover more
    Vybrid family SoCs
  - Expand i.MX clk-pllv3 a bit with the shift for frequency multiplier
    to support Vybrid's USB PLL oddity
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABAgAGBQJUwgT5AAoJEFBXWFqHsHzO2fAIAKnvpNONYdZFI0Q1Z5sIl+/8
 Sl+Cs+dCfG5ZHKcqOQ/1ir1OpCEvZW6QQfnK7j1MKpDCIStnmBXRg723H4bh0Kbx
 7/uB0nF3wrBuMweEoqGsx4fOfKDLgHUzMt+3jNOubiDoQcQIZmxPECsPifj9aVSV
 Z+TkHoslKv4XAKRzuOX2aepLwv1a6OJ3As9gaKVbzF8QVb2JGgvuKafruREfV0dP
 R7XWEscS1vd1xMEKiCMtJcnQ8nKaaToB8oRhk8VvpvgVIReC96PeAbrA7melVEjR
 paqlnp1qZlf+M03rebvmrHVLFT6OWRTULJ3jh1D8U8AJaNnAw8u1W1k6cIeWMos=
 =Vsin
 -----END PGP SIGNATURE-----

Merge tag 'imx-soc-3.20' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/soc

Merge "ARM: imx: soc changes for 3.20" from Shawn Guo:

The i.MX SoC changes for 3.20:
 - Add .disable_unused function hook for shared gate clock to ensure
   the clock tree use count matches the hardware state
 - Add a deeper idle state for i.MX6SX cpuidle driver powering off the
   ARM core
 - One correction on i.MX6Q esai_ipg parent clock setting
 - Add a missing iounmap call for imx6q_opp_check_speed_grading()
 - Add missing clocks for VF610 UART4, UART5 and SNVS blocks
 - Expand VF610 device tree compatible matching table to cover more
   Vybrid family SoCs
 - Expand i.MX clk-pllv3 a bit with the shift for frequency multiplier
   to support Vybrid's USB PLL oddity

* tag 'imx-soc-3.20' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  ARM: clk-imx6q: refine esai_ipg's parent
  ARM i.MX6q: unmap memory mapped at imx6q_opp_check_speed_grading()
  ARM: imx: clk-vf610: Add clock for SNVS
  ARM: imx: clk-vf610: Add clock for UART4 and UART5
  ARM: imx: drop CPUIDLE_FLAG_TIME_VALID from cpuidle-imx6sx
  ARM: imx: support arm power off in cpuidle for i.mx6sx
  ARM: imx: remove unnecessary setting for DSM
  ARM: imx: correct the hardware clock gate setting for shared nodes
  ARM: imx: pllv3: add shift for frequency multiplier
  ARM vf610: add compatibilty strings of supported Vybrid SoC's

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-01-23 14:38:55 -08:00
Olof Johansson
eeec0434e8 This adds config options for the different Mediatek SoC. We need this so that
the pinctrl driver does not bloat the kernel binary.
 
 Apart we change the Kconfig description and add the config option for mt6592
 low-level debug option.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUwPTVAAoJELQ5Ylss8dNDGd0P/iCZ09fb23vM6ItNYzvQa62z
 VY0Rr6AeFlZ8laOuQkwGL0XS8NkZiO1VpsHVQDBZ+WUN9YXM13XVbpTZ0bsDOF/i
 VP6ZVpdjsjps24Yywipj3Nz66sopq8rwNQlycIYtvKa8WCSw0z3uuKvMkLrNYSSO
 MRMwlh1lKkkcI4codTyCOgcCSBloKXa3oK8kKNsEDxdQ8wWDNr9pVPV1wGgJ/+gB
 6CxnPOruD2dDjQNxDUDq5KudeR9+ZfMyJP1arxryHXSxot9fQkgqa+30CCevaBPI
 9N8vnBOLEbJs1+r0700AP0b3o1wk6f8SVQdFcAi1zVddNStGOEd2kDYuwqiB3dbF
 3I2uohxw733K4s3rTdRK0xI6w2VvXGOJjD/74HYZAKF4HDu9QENfZ64akpU33wjQ
 XTPGAy/aZF1TcwdTaCGgqUQ4m/rS+jfXa6EgJEN3eeg+KKJOkYpx1D6s1Q5G1Ge4
 C6z3WwH3xPTHQsGBmYbhZEFR+Gzidf7mBHCgZnAluL3U+2w+jHifb9ypnjkifRsd
 SaHDt0gk3vDsu2IEg9AjjNgrjCmzIjRh37NV5Ms4kUQELczETRV1wULJkqIdtUPZ
 zwDGXmMbd3paMJF8L4xkiSbDx/an2arXirqzFfl7XXds5b1kvTx12DysAXIX6UJ1
 wkQsBAdReUfh7Oumzst+
 =Ff90
 -----END PGP SIGNATURE-----

Merge tag 'v3.20-next-soc1' of https://github.com/mbgg/linux-mediatek into next/soc

Merge "ARM: mediatek: soc changes for v3.20" from Matthias Brugger:

This adds config options for the different Mediatek SoC. We need this so that
the pinctrl driver does not bloat the kernel binary.

Apart we change the Kconfig description and add the config option for mt6592
low-level debug option.

* tag 'v3.20-next-soc1' of https://github.com/mbgg/linux-mediatek:
  ARM: mediatek: Low-level-debug for mt6592
  ARM: mediatek: Add config options for mediatek SoCs.

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-01-23 14:20:43 -08:00
Olof Johansson
8a333cc7be Soc patches for mvebu for v3.20, part #2.
Note these depend on mvebu-fixes-3.19-4, which in turn depends on
 v3.19-rc4.
 
 bus: mvebu-mbus: make sure SDRAM CS for DMA don't overlap the MBus bridge window
 bus: mvebu-mbus: fix support of MBus window 13 on Armada XP/375/38x
 ARM: mvebu: use arm_coherent_dma_ops and re-enable hardware I/O coherency
 bus: mvebu-mbus: use automatic I/O synchronization barriers
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABCAAGBQJUwDYpAAoJEOa/DcumaUyEz8UP/RMj8w8R+xWJbrmo6/NiC0vb
 SSYjxMtAMMAi9gwrAHRT9nUuyIbwVEUAr2XF7VF9rfEPbZ3IUENRe0KT1EaRQ7G2
 e8C4EVJCMx6s6qVeXYEW+xlYg9ygnC2FdeapFlbmdhFGyV3v4yinpC7U2XG31TfU
 iHnDu8meeqwxnXjk29OFn7MOlUn52uovExLaKi3iYuFISVDgnl8vxh/YXlFlilkV
 6ELCOwaaH1i+ys+27/TtagiP0pl7x30rVTBqClrg0+iPM9KaOgmc6uPvMo6HeXST
 i4lRE1Wrcd9KrZdBPicraUKcZTzjY1YeJOC0chQRbrwFBGxFFbcFpl7kljiendjY
 Yic46cGzjhKp138t9xLebsQVSgqJg/a5xQb3dP7XfcKYODBi+hFVPBFn/ICa/Lv1
 NfSnvwh3ZpxcbgfdX3CWBERP6W3/Mbj2fbjeT5sJj6lQMqKjLFduOty74CwfLefi
 wu3Xm6FEOh+f7oyjtRbn3aWv45Eyp3g/NVE9S1KLl5c6S5Epj/9s47aSatgKbzSt
 jEl4MoWkFhEccaiMDeAtKiNrnTiDlbaDFpLUBkDp5Zaqb50qG+mJqtSnawzUrpCK
 V4ql7n4EKZp+qZRl5YwmX97oN1tqu8IrkghUCtIDgUzIMdu2Bc400GCYLjdeRGSJ
 zebFAxpOBqS9gPfDbuTF
 =Bkue
 -----END PGP SIGNATURE-----

Merge tag 'mvebu-soc-3.20-2' of git://git.infradead.org/linux-mvebu into next/soc

Merge "mvebu/soc #2" from Andrew Lunn:

Soc patches for mvebu for v3.20, part #2.

* tag 'mvebu-soc-3.20-2' of git://git.infradead.org/linux-mvebu:
  bus: mvebu-mbus: make sure SDRAM CS for DMA don't overlap the MBus bridge window
  bus: mvebu-mbus: fix support of MBus window 13 on Armada XP/375/38x
  ARM: mvebu: use arm_coherent_dma_ops and re-enable hardware I/O coherency
  bus: mvebu-mbus: use automatic I/O synchronization barriers
  bus: mvebu-mbus: fix support of MBus window 13
  ARM: mvebu: completely disable hardware I/O coherency

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-01-23 14:16:32 -08:00
Olof Johansson
0dcfd9e33d SoC parts of basic suspend support and removal of
Cortex-A9 reference from the machine name.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABCAAGBQJUwBuaAAoJEPOmecmc0R2B5KkIAKU75P0FOtAMnuF4vOybgCcE
 lPQKX//fXsjClh56NuIxAtU6sg3HIXrXeD0O8hsTRVBO72RSv5wuzdJtCKCMbtNT
 TFJQe3YXbYHxRwzh/beBX1ff6qKbJyPHxuFkAukfzGDXPin0J4ac0ryWjNrDfpYM
 j+X6o2/Uo/FF/I1tPDztxKlk15bNuPV9IOINbN3tTUr121y/6sc+UkeErtWfRnFt
 +MD9/8tz8nETDmGXzxMjsfTSl6iMjzgesSr7ltMlytXGdIwCzU4NCPO2Y0/MoaUi
 UKtuI2vT3xi9OH6DHNCIIebvaVzN7fp+tNSkhIIKVIomWTOIxgIQJ6BOS+CKgj0=
 =H1k7
 -----END PGP SIGNATURE-----

Merge tag 'v3.20-rockchip-soc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/soc

Merge "ARM: rockchip: soc updates for v3.20" from Heiko Stübner:

SoC parts of basic suspend support and removal of
Cortex-A9 reference from the machine name.

* tag 'v3.20-rockchip-soc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  ARM: rockchip: remove cpu-core name from machine name
  ARM: rockchip: Add pmu-sram binding
  ARM: rockchip: add suspend and resume for RK3288

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-01-23 14:01:47 -08:00
Olof Johansson
f50f7070e5 Third Round of Renesas ARM Based SoC Updates for v3.20
* Special-case PM domains with memory-controllers
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUvaaiAAoJENfPZGlqN0++QaYP/2/YzRayAVH0+TRiP9x0e2Yv
 Y/aeJHs42t1IArmwHvZvnEZp4wTmR3MlIkDXbdAjQp5EOr9AkVbe5HtC2EWQuOz6
 QJSAXtbrOe0K1m/1P0Yoxd8b2I3aO90jS7ajcyp2fZHTdkjcCQhVoOz1UXoYjcDX
 w5Hih6hZ56MU8zZFyjscPBqS8jx+pdP5DFxqBfI9R1A3DBHDzwbMW35ohLOma0q/
 bAxq3xn1aK8JelfDuY7ZSqjKNujgbG9wfAwioY7tQvHf7vt+ETU/QYf2qUh9fFGS
 gT7oLeVFsG7SA5NmV35d8mKv9fUogeb55ospgOgspyrZhb5oHUX6Nd92nWtAfUr2
 OgB2FNaVm4Tu1XRkFRV9SQqJOOmJI3r575RkrT+zL5wPlqG2BNWiqEyTZ3gUWquJ
 0xX5HMV/t12W2ydnze0WjdYW1DIemrvP4XH1ypdxIRjRQ85LEcnWU6mVjAkgd23W
 9rbpNGRB/2IZJSnVZMzGj1VgX4wMmDfc4E9avz/dONFVtPcHnLyjSmXhaS0EVRze
 0Xy8+YZNjtpxSHJqL7yQI3APVga01ysFK41k/U64OJ56HqpGIXhZ/OyhubXKOHC9
 bIryBNyeAoelIgOe5RQB6bReyOqMzDOSqu9bKOP2oWl/7E+kaVAG/66HwrLHw1D7
 ZURLMt/7zNI5p/ihRhtm
 =WXMq
 -----END PGP SIGNATURE-----

Merge tag 'renesas-soc3-for-v3.20' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc

Merge "Third Round of Renesas ARM Based SoC Updates for v3.20" from Simon
Horman:

* Special-case PM domains with memory-controllers

* tag 'renesas-soc3-for-v3.20' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: R-Mobile: Special-case PM domains with memory-controllers
  ARM: shmobile: R-Mobile: Generalize adding/looking up special PM domains
  ARM: shmobile: R-Mobile: Consolidate rmobile_pd_suspend_*()

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-01-21 17:19:05 -08:00
Olof Johansson
a71596933c Second Round of Renesas ARM Based SoC Updates for v3.20
* Add DT support for PM domains
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUuIP9AAoJENfPZGlqN0++1YgP/jvxSCgTr9incpvoEeXsG7Pd
 /EK0N15UBfJFlhy5oiTrjyCnrPqfqlT1cz39GTUy6s/4UpgjuXRr8lhbpaJrSH2g
 N62EOv89rAChiGtxHwS4sXPvQPjcOIeQEsaq1C9W3IBx88bKpUQU9nbJtbuCbwUX
 eSmsk9mJH+mZapNd+xo7Ksnq7Fjovx/ja+ZNu+1V8IIXOXKnnuv7SiV1ATU9pE+a
 Bkrgjjw7zLof78xbtx2FInWj6vLGayqu3vAWt0zncXZBdoOuigavUjY275XYZ9eK
 zdZwBW/UFecsopVDw653OnRAewuv+iWGKutJbEgK+Y5uT2wg4Q59/sp8E3fyKDwv
 DNaopIJx9NhVNQZNMTT4/y3cV2xSNZqgBXfYt1EFDu01c1UIOXX+RGmI0RHgGoRL
 eD8DZmT6z0iCF0Fn6rSZouFrUqghnUXWtrm4IkzNKTpsSoB+o5FfwG6b/wF0JHfw
 til1Tx//lAChLMbUpNSIG88ng/4yF+UugRK0xoUVGyCMXLQaXhPRCd9EUb0rr5aN
 Ac9rRrqU4anQsTSQewUkT7hyuBUfZSRZBk6eZ5ZBR+JvPZl637vUPHdfJauBr2/h
 zv4uFjHdSUgoJCSVz35t65dYtDIvwKd9CcoCcuw+piYvq5K5ZmaSDnWl0f2YemdC
 D38+hZiXwERwd+Vtad1N
 =MA/A
 -----END PGP SIGNATURE-----

Merge tag 'renesas-soc2-for-v3.20' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc

Merge "Second Round of Renesas ARM Based SoC Updates for v3.20" from Simon
Horman:

* Add DT support for PM domains

* tag 'renesas-soc2-for-v3.20' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: R-Mobile: Add DT support for PM domains
  ARM: shmobile: R-Mobile: Store SYSC base address in rmobile_pm_domain
  ARM: shmobile: R-Mobile: Use generic_pm_domain.attach_dev() for pm_clk setup

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-01-21 17:02:21 -08:00
Olof Johansson
a62d351dc5 STi SoC updates for v3.20, round 1.
Highlights:
 -----------
  - Add support for STiH418 SoC
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUuTISAAoJEMo4jShGhw+JcFYP/3bP7070L3tKnMekdYUQVCNW
 8TVCjUvD6RsZDWDpdadSUpVQvVxyIzTpfA1J/+/TEFUwagefRTnLAh5w86jYd4dv
 OIUbbPU6n6OWSJpetsLht1rTuraU4geSOMoip5NmjX2kabq/dBFfep/+IwGOGAJy
 58ojf20hOMGX+WVKkwko021zgbfGbrZUkz0WdA6RD3yVPItx9Nv6uAUe+mcqg7o7
 ITnu+I8iv7UooGoOLXiYRDLu6AbBdiLjBMJGax5LHWX4A1SP5V3uTLakmThz2jfr
 h9mlhJIvuq7S2tBIPjV9borkgLvxdtmCY6N3ufjyiis0BNb3HaiNaYjUsZ5b6h9s
 8MPLJHeb/yD6zwvXtyD1tSPshptgXcFbVSufCPW0ZE7QB1t7LKntgH/qMMLW3V31
 BMZDjUXGuxRO3UdYB2hMP0DX/Q9otHRiparMN0ur8kOIAgUL7O3YarHdQDWzBTok
 6qKISAL/aP6koqjGReDvwdRYsDS5AZFK7i/ufNnoCms5QYJJwZ8KwS9oJZ/+eOks
 LgwPzwjkxHS8J/LDt0kzIa5A3ljByQuCWy6uDJjyJJTBiFHq79p7fPkFa0hpteCk
 IEvCJcLqY9aTcH/P06RmdLKI+FU7B39fUg2DY9/Lj7MG+/nbJ7CAoCXofA/g7N1/
 6u9i5g80vShUGh9pzvhV
 =3CrD
 -----END PGP SIGNATURE-----

Merge tag 'sti-soc-for-v3.20-1' of git://git.stlinux.com/devel/kernel/linux-sti into next/soc

Merge "ARM: STi: SoC changes for v3.20, round 1" from Maxime Coquelin:

Highlights:
-----------
 - Add support for STiH418 SoC

* tag 'sti-soc-for-v3.20-1' of git://git.stlinux.com/devel/kernel/linux-sti:
  ARM: STi: Add STiH418 SoC support

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-01-21 15:23:24 -08:00
Olof Johansson
7f09a46fe9 Second batch of cleanup for 3.20:
- By reworking the PM code, we can remove the AT91 more specific initialization
 - We are using DT for SRAM initialization now, so we can remove its explicit
   mapping
 - The PMC clock driver now hosts IDLE function for at91rm9200 with other
   SoCs ones.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQEcBAABAgAGBQJUuUdxAAoJEAf03oE53VmQWvwIAKPKi90sVTuwDDf4qMBrkGgU
 IZRKX3imm5zG2HezDFp9tNxKUK3uXnJDmOlNgFKo1L+Vx/42IHew9Fy+J0vtzWUh
 y1bWwUI60wXd89tfDFeHmhk93yu5xn9Dv3dd9xlLbia2tUbHzz0E8ZDx4D2d9R63
 qdTSfB+tXlPi1Zjh0X+XLdx7cBKut//P8f+07hW3I6p1hy8E6AhtvIoCFJT3lbsU
 POiRlBFoeLoXAcHnZMBhP+ZrjHB5sfoZe83Xr5zpsW7wuo+TtpcH8H1D0QOYcrpn
 7YBzNqmrpLrtgCsuMJ92c/yaLR/k4TqhiOCVN9Z5lY3Ei2kUJj37NeqGspljhxI=
 =Ftvs
 -----END PGP SIGNATURE-----

Merge tag 'at91-cleanup2' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91 into next/soc

Merge "at91: cleanup for 3.20 #2" from Nicolas Ferre:

Second batch of cleanup for 3.20:
- By reworking the PM code, we can remove the AT91 more specific initialization
- We are using DT for SRAM initialization now, so we can remove its explicit
  mapping
- The PMC clock driver now hosts IDLE function for at91rm9200 with other
  SoCs ones.

* tag 'at91-cleanup2' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91: (37 commits)
  ARM: at91: move at91rm9200_idle() to clk/at91/pmc.c
  ARM: at91: remove unused at91_init_sram
  ARM: at91: sama5d4: remove useless call to at91_init_sram
  ARM: at91: remove useless map_io
  ARM: at91: pm: prepare for multiplatform
  ARM: at91: pm: add UDP and UHP checks to newer SoCs
  ARM: at91: pm: use the mmio-sram pool to access SRAM
  ARM: at91: pm: rework cpu detection
  ARM: at91: dts: sama5d3: add ov2640 camera sensor support
  ARM: at91: dts: sama5d3: change name of pinctrl of ISI_MCK
  ARM: at91: dts: sama5d3: change name of pinctrl_isi_{power,reset}
  ARM: at91: dts: sama5d3: move the isi mck pin to mb
  ARM: at91: dts: sama5d3: add missing pins of isi
  ARM: at91: dts: sama5d3: split isi pinctrl
  ARM: at91: dts: sama5d3: add isi clock
  ARM: at91/dt: ethernut5: use at91sam9xe.dtsi
  ARM: at91/dt: Add a dtsi for at91sam9xe
  ARM: at91/dt: add SRAM nodes
  ARM: at91/dt: at91rm9200ek: enable RTC
  ARM: at91/dt: rm9200: add RTC node
  ...

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-01-21 15:17:56 -08:00
Wang Long
7fda91e731 ARM: hisi: enable smp for HiP01
Enable smp for HiP01 board.

Signed-off-by: Wang Long <long.wanglong@huawei.com>
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
[olof: split off the dts change to a separate commit]
Signed-off-by: Olof Johansson <olof@lixom.net>
2015-01-21 14:33:39 -08:00
Wang Long
29d189e139 ARM: hisi: rename secondary_startup function
As hix5hd2 and hip01 has the same secondary_startup
so rename hix5hd2_secondary_startup to
to hisi_secondary_startup.

the hip01 will use hisi_secondary_startup for the
secondary core boot.

Signed-off-by: Wang Long <long.wanglong@huawei.com>
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2015-01-21 14:33:01 -08:00
Wang Long
e243f94392 ARM: hisi: rename smp_prepares_cpus function
As hix5hd2 and hip01 has the same .smp_prepare_cpus
in struct smp_operations, so rename hix5hd2_smp_prepare_cpus
to hisi_common_smp_prepare_cpus.

the hip01 will use hisi_common_smp_prepare_cpus in its
struct smp_operations.

Signed-off-by: Wang Long <long.wanglong@huawei.com>
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2015-01-21 14:32:53 -08:00
Wang Long
82fd132c0d ARM: hisi: enable HiP01 SoC
Enable Hisilicon HiP01 SoC. This HiP01 SoC series support both
one core or dual cores and quad cores. The core is Cortex A9.

Signed-off-by: Wang Long <long.wanglong@huawei.com>
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2015-01-21 14:31:06 -08:00
Wang Long
27dafaa8dc ARM: debug: add HiP01 debug uart
Add the support of Hisilicon HiP01 debug uart.
The uart of hip01 is 8250 compatible.

Signed-off-by: Wang Long <long.wanglong@huawei.com>
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2015-01-21 14:30:46 -08:00
Olof Johansson
c1cd7adb38 drop CSR Marco machine and add Atlas7 new machine
This is the init support for CSR Atlas7 new SoC. Old Marco has never
 shipped to customers and been dropped.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJUvkR1AAoJEDIv4aC191RhkggQAIoZYo46hGunj4Biqb9EFJp4
 R0wS/iDVDyul+0WOXNkbuaOscQMwWvez2PXB/1C+1fiKAhhC1OIFs2hb5flAqDFe
 vkhT5ZpO/htVDNOCEEeRLMmI3OjNBlwDhRziiiC86k99UQn8xDSruSGgYNE2AeU2
 az3OMTuHiXiizey2c+B5qQNJy/rMQo4bN6MRRbUBUlr7B8J0fF/dA1jRyDI5llki
 spvac3EoVGyTeQlAFCEc7jzx1oiGHsBmNA5xMMsuun6AANkyNvE+S+/1952T9Tg2
 Vk07l4mFLRS45dsRfHrA6zwUrGtNs5WxfUF18mjwFl8i/Bh1FuLUsDoE4KiEVzKR
 4qClHqq3i4TFBwoUCFUBswIpNluAx0Qr7yN0cKxSSaZDre4aUCSx4bRqGZrP14rN
 YD+JknEOOmo9nk3n7QTUPJ7aZZk/o/nbH2OPNj1pXxMYn8wMCoJghOYTwqax6pgY
 j6zpraNjaAPfnG12O0YU/6NBF1+G3P5jG/mmOTp1y5JbNGVWIm8kzdu5ulLJ/EJt
 XpVMP1PKijjHyZ/JZZf18cBGXaDM0xjZI8ugSDLBQ8t8o+1d0pE82AAJjGtOF+3f
 OCaNEjUSiMK6QWPhkUjQUL2kdI0VAEAn+AbRkNbqYXYRiL4Q85h0Tmbr0wtKypq+
 axqq+/wEuZ18IvDMP6dh
 =vStR
 -----END PGP SIGNATURE-----

Merge tag 'new-atlas7mach-for-3.20' of git://git.kernel.org/pub/scm/linux/kernel/git/baohua/linux into next/soc

Merge "CSR new atlas7 machine, and delete old marco machine for 3.20" from
Barry Song:

drop CSR Marco machine and add Atlas7 new machine

This is the init support for CSR Atlas7 new SoC. Old Marco has never
shipped to customers and been dropped.

* tag 'new-atlas7mach-for-3.20' of git://git.kernel.org/pub/scm/linux/kernel/git/baohua/linux:
  ARM: sirf: add Atlas7 machine support
  ARM: sirf: move to debug_ll_io_init and drop map_io
  ARM: sirf: move platsmp to support Atlas7 SoC
  ARM: sirf: drop Marco machine
  ARM: sirf: drop Marco support in reset controller module

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-01-21 14:29:06 -08:00
Olof Johansson
0766c17fb9 add debug ports for CSRatlas7 SoC
Because Marco chip has never shipped to customers and has been replaced
 by Atlas7, so we do the below
 - drop Marco's debug port
 - add debug ports for Atlas7
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJUvkFoAAoJEDIv4aC191RhDlUP/3MbRNT5jDLm82r1ZXaetXi/
 s2BeGuv313gceDAwWuNTISL855/dnEi56ifQtQUSRVWEadt199XLsugRPJ1xForF
 zo/VZ/0WkzyRx3mPrGQtjUkt0Tj4S6W6IwhYfjKjh4lNF1KsiTGM2UQnKgnqZD/w
 zqTGbK1WbcecQu02FcyhPX65Ic2kA18Mp0iMBANP4mLRQo5nfQ0fCGyHZ0DCAwHm
 RsYoDKekemheo7+hVQi9KAGioF3M+D6w4L0tsTciHMPDdwy68xuK1JcRL1x3545k
 m7yaj73bB7f4YmuvFgTcaA3BeiG1ZyyWA5yCwbzcTuhBMFenWJJnzvv7ykhPzvax
 z3R8E331+ZJLXHjUQdq6rDrZtuoEH4j1fZExgUmg2C3OGYSnhQLPMCwEniXTuMsE
 RbOarwGZZEm6fdSKqsHmhjKR5hMEQcScoQv7SnIrMvq+XPAJRI3VM9iLKiRChn0r
 af8PwkL1lLVSDI9Kbsg+S/QlH1SuSSew9CnBvyrII7DDY8om8mgVDw46QWwYuytc
 ELHCok9sNUbBjE/y7QwLIIIx4O1oAQ4BrYDKHFUpvVKlWjo8qmJ7+x4d9D02qp/y
 yfUjdZD04++45CrptDw1o6D0lhxN6aedJ6A7mIVYI2v3vO3fpSWFVKkxl6B4vNQC
 7myeOF+fryWiQADYcmOk
 =Zt2B
 -----END PGP SIGNATURE-----

Merge tag 'atlas7-lldebug-for-3.20' of git://git.kernel.org/pub/scm/linux/kernel/git/baohua/linux into next/soc

Merge "CSR atlas7 debug ports for 3.20" from Barry Song:

add debug ports for CSRatlas7 SoC

Because Marco chip has never shipped to customers and has been replaced
by Atlas7, so we do the below
- drop Marco's debug port
- add debug ports for Atlas7

* tag 'atlas7-lldebug-for-3.20' of git://git.kernel.org/pub/scm/linux/kernel/git/baohua/linux:
  ARM: sirf: add two debug ports for CSRatlas7 SoC
  ARM: sirf: drop Marco low-level debug port

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-01-21 14:26:53 -08:00
Heiko Stuebner
8c4212418b ARM: rockchip: remove cpu-core name from machine name
The Rockchip support is not limited to Cortex-A9 socs anymore and its
presence may confuse people reading /proc/cpuinfo. So remove the core
specific part.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Reviewed-by: Doug Anderson <dianders@chromium.org>
Tested-by: Doug Anderson <dianders@chromium.org>
2015-01-21 21:00:39 +01:00
Matthias Brugger
60851d7a81 ARM: mediatek: Low-level-debug for mt6592
This patch changes the description of the low-level-debug port. SoC mt8127 and
mt6592 have the same uart port and the same mapping. We just change the
description to add low-level-debug to mt6592.

Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2015-01-20 17:50:26 +01:00
Yingjoe Chen
ad8a221e1f ARM: mediatek: Add config options for mediatek SoCs.
The upcoming MTK pinctrl driver have a big pin table for each SoC
and we don't want to bloat the kernel binary if we don't need it.
Add config options so we can build for one SoC only.

Signed-off-by: Yingjoe Chen <yingjoe.chen@mediatek.com>
Signed-off-by: Hongzhou Yang <hongzhou.yang@mediatek.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2015-01-20 17:49:10 +01:00
Zhiwu Song
4cba058526 ARM: sirf: add Atlas7 machine support
CSRatlas7 is next-gen auto SoC from CSR.
It could bring to customers most integrated SoC solution:
- World leading Bluetooth 4.0 and GNSS baseband
- Audio processing, analog CODEC and ADC by DSP
- Analog video input
- SDR accelerators
- CAN bus support by Cortex-M3

Signed-off-by: Zhiwu Song <Zhiwu.Song@csr.com>
Signed-off-by: Barry Song <Baohua.Song@csr.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
2015-01-20 19:56:58 +08:00
Barry Song
1805f4d651 ARM: sirf: move to debug_ll_io_init and drop map_io
This patch moves to debug_ll_io_init(), then finally drops CSR map_io()
machine callbacks.

Signed-off-by: Barry Song <Baohua.Song@csr.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
2015-01-20 19:56:53 +08:00
Zhiwu Song
a7ae982f36 ARM: sirf: move platsmp to support Atlas7 SoC
This patch breaks Marco SMP support, but Marco project has been dropped.
So it corrects cpu1 jump/flag address for Atlas7 and removes scu related
logic as scu doesn't expose in cortex-a7.

Signed-off-by: Zhiwu Song <Zhiwu.Song@csr.com>
Signed-off-by: Barry Song <Baohua.Song@csr.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
2015-01-20 19:56:48 +08:00
Barry Song
3c7d21b4b8 ARM: sirf: drop Marco machine
Marco will not be supported any more. it has been replaced by CSR
Atlas7.

Signed-off-by: Barry Song <Baohua.Song@csr.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
2015-01-20 19:56:43 +08:00
Barry Song
e664c3fffd ARM: sirf: drop Marco support in reset controller module
Marco will not be supported any more. It has been replaced by CSR
Atlas7.

Signed-off-by: Barry Song <Baohua.Song@csr.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
2015-01-20 19:56:40 +08:00
Guo Zeng
01ea63d993 ARM: sirf: add two debug ports for CSRatlas7 SoC
this patch adds UART0 and UART1 as LLUART port, as the new Atlas7
registers layout are different, it also refines some names of old
hard-coded MARCOs and uses CONFIG_DEBUG_UART_PHYS/DEBUG_UART_VIRT
to define different base addresses for multiple ports.

Signed-off-by: Guo Zeng <Guo.Zeng@csr.com>
Signed-off-by: Zhiwu Song <Zhiwu.Song@csr.com>
Signed-off-by: Barry Song <Baohua.Song@csr.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
2015-01-20 19:42:56 +08:00
Shengjiu Wang
ade9233f2e ARM: clk-imx6q: refine esai_ipg's parent
esai_ipg clock's parent is ahb, not ipg.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2015-01-20 15:53:41 +08:00
Sebastian Andrzej Siewior
23bec17275 ARM i.MX6q: unmap memory mapped at imx6q_opp_check_speed_grading()
imx6q_opp_check_speed_grading() remaps memory to the base variable and
never unmaps it. I can't see how this can be of any use later so here I
unmap it.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2015-01-20 14:26:45 +08:00
Thomas Petazzoni
1737cac693 bus: mvebu-mbus: make sure SDRAM CS for DMA don't overlap the MBus bridge window
The mvebu-mbus driver reads the SDRAM window registers, and make the
information about the DRAM CS configuration available to device
drivers using the mv_mbus_dram_info() API. This information is used by
the DMA-capable device drivers to program their address decoding
windows.

Until now, we were basically providing the SDRAM window register
details as is. However, it turns out that the DMA capability of the
CESA cryptographic engine consists in doing DMA being the DRAM and the
crypto SRAM mapped as a MBus window. For this case, it is very
important that the SDRAM CS information does not overlap with the MBus
bridge window.

Therefore, this commit improves the mvebu-mbus driver to make sure we
adjust the SDRAM CS information so that it doesn't overlap with the
MBus bridge window. This problem was reported by Boris Brezillon,
while working on the mv_cesa driver for Armada 37x/38x/XP. We use the
memblock memory information to know where the usable RAM is located,
as this information is guaranteed to be correct on all SoC variants.

We could have used the MBus bridge window registers on Armada 370/XP,
but they are not really used on Armada 375/38x (Cortex-A9 based),
since the PL310 L2 filtering is used instead to discriminate between
RAM accesses and I/O accesses. Therefore, using the memblock
information is more generic and works accross the different platforms.

Reported-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[Andrew Lunn <andrew@lunn.ch>: Fixed merge conflict]
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
2015-01-19 16:09:16 -06:00
Michal Mazur
7fdf3d8a03 bus: mvebu-mbus: fix support of MBus window 13 on Armada XP/375/38x
On Armada XP, 375 and 38x the MBus window 13 has the remap capability,
like windows 0 to 7. However, the mvebu-mbus driver isn't currently
taking into account this special case, which means that when window 13
is actually used, the remap registers are left to 0, making the device
using this MBus window unavailable.

To make things even more fun, the hardware designers have chosen to
put the window 13 remap registers in a completely custom location,
using a logic that differs from the one used for all other remappable
windows.

To solve this problem, this commit:

 * Adds a SoC specific function to calculate offset of remap registers
   to the mvebu_mbus_soc_data structure. This function,
   ->win_remap_offset(), returns the offset of the remap registers, or
   MVEBU_MBUS_NO_REMAP if the window does not have the remap
   capability. This new function replaces the previous integer field
   num_remappable_wins, which was insufficient to encode the special
   case of window 13.

 * Adds an implementation of the ->win_remap_offset() function for the
   various SoC families. Some have 2 first windows that are remapable,
   some the 4 first, some the 8 first, and then the Armada XP/375/38x
   case where the 8 first are remapable plus the special window
   13. This is implemented in functions
   generic_mbus_win_remap_2_offset(),
   generic_mbus_win_remap_4_offset(),
   generic_mbus_win_remap_8_offset() and
   armada_xp_mbus_win_remap_offset() respectively.

 * Change the code to use the ->win_remap_offset() function when
   accessing the remap registers, and also to use a newly introduced
   mvebu_mbus_window_is_remappable() helper function that tells
   whether a given window is remapable or not.

 * Separate Armada 370 from XP/375/38X because the window 13 of Armada
   370 does not support the remap capability.

[Thomas: adapted for the mainline kernel, minor clarifications in the
code, reword the commit log.]

Signed-off-by: Michal Mazur <arg@semihalf.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[Andrew Lunn <andrew@lunn.ch>: Undo the simple fix for stable]
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
2015-01-19 16:08:13 -06:00
Thomas Petazzoni
1bd4d8a6de ARM: mvebu: use arm_coherent_dma_ops and re-enable hardware I/O coherency
Now that we have enabled automatic I/O synchronization barriers, we no
longer need any explicit barriers. We can therefore simplify
arch/arm/mach-mvebu/coherency.c by using the existing
arm_coherent_dma_ops instead of our custom mvebu_hwcc_dma_ops, and
re-enable hardware I/O coherency support.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[Andrew Lunn <andrew@lunn.ch>: Remove forgotten comment]
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
2015-01-19 16:05:57 -06:00
Thomas Petazzoni
a0b5cd4ac2 bus: mvebu-mbus: use automatic I/O synchronization barriers
Instead of using explicit I/O synchronization barriers shoehorned
inside the streaming DMA mappings API (in
arch/arm/mach-mvebu/coherency.c), we are switching to use automatic
I/O synchronization barrier.

The primary motivation for this change is that explicit I/O
synchronization barriers are not only needed for streaming DMA
mappings (which can easily be done by overriding the dma_map_ops), but
also for coherent DMA mappings (which is a lot less easy to do, since
the kernel assumes such mappings are coherent and don't require any
sort of cache maintenance operation to ensure the consistency of the
buffers).

Switching to automatic I/O synchronization barriers will also allow us
to use the existing arm_coherent_dma_ops instead of our custom
arm_dma_ops.

In order to use automatic I/O synchronization barriers, this commit
changes mvebu-mbus in two ways:

 - It enables automatic I/O synchronization barriers in the 0x84
   register of the MBus bridge, by enabling such barriers for all MBus
   units. This enables automatic barriers for the on-SoC peripherals
   that are doing DMA.

 - It enables the SyncEnable bit in the MBus windows, so that PCIe
   devices also use automatic I/O synchronization barrier.

This automatic synchronization barrier relies on the assumption that
at least one register of a given hardware unit is read before the
driver accesses the DMA mappings modified by this unit. This
assumption is guaranteed for PCI devices by vertue of the PCI
standard, and we can reasonably verify that this assumption is also
true for the limited number of platform drivers doing DMA used on
Marvell EBU platforms.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
2015-01-19 16:05:42 -06:00
Andrew Lunn
fe6e91e338 Merge branch 'mvebu/fixes-3' into mvebu/soc 2015-01-19 16:00:15 -06:00
Andrew Lunn
38bdf45f4a bus: mvebu-mbus: fix support of MBus window 13
On Armada XP, 375 and 38x the MBus window 13 has the remap capability,
like windows 0 to 7. However, the mvebu-mbus driver isn't currently
taking into account this special case, which means that when window 13
is actually used, the remap registers are left to 0, making the device
using this MBus window unavailable.

As a minimal fix for stable, don't use window 13. A full fix will
follow later.

Fixes: fddddb52a6 ("bus: introduce an Marvell EBU MBus driver")
Cc: <stable@vger.kernel.org> # v3.10+
Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
2015-01-19 15:40:53 -06:00
Thomas Petazzoni
8f1e8ee286 ARM: mvebu: completely disable hardware I/O coherency
The current hardware I/O coherency is known to cause problems with DMA
coherent buffers, as it still requires explicit I/O synchronization
barriers, which is not compatible with the semantics expected by the
Linux DMA coherent buffers API.

So, in order to have enough time to validate a new solution based on
automatic I/O synchronization barriers, this commit disables hardware
I/O coherency entirely. Future patches will re-enable it.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: <stable@vger.kernel.org> # v3.8+
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
2015-01-17 11:46:55 -06:00
Alexandre Belloni
29ee506d0d ARM: at91: move at91rm9200_idle() to clk/at91/pmc.c
Move at91rm9200_idle() along with at91sam9_idle() in clk/at91/pmc.c.

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Acked-by: Michael Turquette <mturquette@linaro.org>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-01-16 18:08:42 +01:00
Alexandre Belloni
0be0b8cd49 ARM: at91: remove unused at91_init_sram
SRAM initialization is now done through the mmio-sram driver and
at91_init_sram() is not called anymore, remove it.

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-01-16 18:08:42 +01:00
Alexandre Belloni
84fb0dc7c8 ARM: at91: sama5d4: remove useless call to at91_init_sram
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-01-16 18:08:41 +01:00
Alexandre Belloni
14efc54a94 ARM: at91: remove useless map_io
Now that the SRAM is initialized by the mmio-sram driver, .map_io is useless.
remove it.

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-01-16 18:08:41 +01:00
Alexandre Belloni
4db0ba22da ARM: at91: pm: prepare for multiplatform
Split at91_pm_init() in three variants that are called by the respective SoCs
.init_machine. This allows to remove the of_machine_is_compatible() calls and
move at91_pm_init() out of arch_initcall() which is required for multiplatform.

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-01-16 18:08:40 +01:00
Alexandre Belloni
a63ba41146 ARM: at91: pm: add UDP and UHP checks to newer SoCs
Check UDP and UHP on sam9x5, sam9n12 and the sama5 series.
Check UHP on the sam9g45.

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-01-16 18:07:25 +01:00
Alexandre Belloni
d2e4679055 ARM: at91: pm: use the mmio-sram pool to access SRAM
Now that the SRAM is part of a genpool, use it to allocate memory to use for the
slowclock implementation.

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-01-16 18:07:24 +01:00
Alexandre Belloni
f5598d346e ARM: at91: pm: rework cpu detection
Store SoC differences in a struct to remove cpu_is_* usage.

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-01-16 18:07:24 +01:00
Nicolas Ferre
eca6f17253 First batch of DT changes for 3.20:
- little typo and a LED declared
 - addition of the Special Function Registers (SFR) + its binding
 - RTC & SRAM nodes
 - the at91sam9xe has its own .dtsi now. Not combined with at91sam9260 anymore
 - addition of the Image Sensor Interface (ISI) DT part and supported sensors
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQEcBAABAgAGBQJUt+9WAAoJEAf03oE53VmQrlQH/2gLux3w9NMBm6GKDAJe3ZbY
 JSiT9JIpcDmvVPXheeXQc0gZFGbfg8kcbx6mopPR/n6gAeP0npRApmQxS04M9M6b
 HyAyj26s1h79WZOki7hhsIw6bhMCNDb7ODoDOw4F6U1/WWLh+uZY3fg+HO2CFBS8
 wyDWKQQWAe0LvbaB44iw5cGsZ2+8/1rb5R7w7AqITjLTOGLvJZn50TYlY6hRrb+7
 qfD0gqaRzX6axdtsGVNzkuYUuLQ3rE9IhgauhHlge9QT1Lkl4wfONnGiOFeIc+n0
 tcHLb3BYBqOKDbOop+3ED3bqxcmobUIQIlEutvg5lnFkWeVYnXgkIFxHPpEK4K0=
 =RH2X
 -----END PGP SIGNATURE-----

Merge tag 'at91-dt' into at91-3.20-cleanup
2015-01-16 17:18:34 +01:00
Maxime COQUELIN
dd548cf910 ARM: STi: Add STiH418 SoC support
This patch adds support to STiH418 SoC.

Signed-off-by: Maxime Coquelin <maxime.coquelin@st.com>
2015-01-16 13:10:21 +01:00
Geert Uytterhoeven
1632ff162f ARM: shmobile: R-Mobile: Special-case PM domains with memory-controllers
Add a special case for PM domains containing a memory-controller.
Such a PM domain must not be turned off if memory is in use.

On sh73a0 PM domains A4BC0 and A4BC1 each contain an SDRAM Bus State
Controller (SBSC). On r8a73a4 PM domain A3BC contains two DDR Bus
Controllers (DBSC).  In both cases, there are no other devices in these
PM domains, so they were eligible for power down, crashing the system.

On r8a7740 the DDR3 Bus State Controller (DBSC3) is located in A4S,
whose child domain A3SM contains the CPU core. Hence A4S is never turned
off, and no crash happened.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2015-01-16 11:02:42 +09:00
Geert Uytterhoeven
60e2643562 ARM: shmobile: R-Mobile: Generalize adding/looking up special PM domains
Make adding special PM domains to an array, and looking them up
later, more generic, so it can be used for all special hardware blocks.
The type of PM domain is also stored, so rmobile_setup_pm_domain() can
use a switch() statement instead of a chain of if/else statements.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2015-01-16 11:02:37 +09:00
Geert Uytterhoeven
e43ee86efb ARM: shmobile: R-Mobile: Consolidate rmobile_pd_suspend_*()
Consolidate the identical rmobile_pd_suspend_*() routines that just
return -EBUSY to prevent a PM domain from being powered down into a
single rmobile_pd_suspend_busy().

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2015-01-16 11:02:31 +09:00
Josh Wu
4dd32e6d24 ARM: at91: dts: sama5d3: add ov2640 camera sensor support
According to v4l2 dt document, we add:
  a camera host: ISI port.
  a i2c camera sensor: ov2640 port.
to sama5d3xmb.dtsi.

The ov2640 node defines the pinctrls, clocks and refer to isi port.
The ISI node also has a reference to the ov2640 port.

Signed-off-by: Josh Wu <josh.wu@atmel.com>
Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-01-15 16:14:27 +01:00
Josh Wu
fbe18601a5 ARM: at91: dts: sama5d3: change name of pinctrl of ISI_MCK
For sama5d3xmb board, the pins: pinctrl_isi_pck_as_mck is pck1, and
used to provide MCK for camera sensor.

We change its name to: pinctrl_pck1_as_isi_mck.

As we want camera sensor instead of ISI to configure the pck1 (ISI_MCK) pin.
So we remove this pinctrl from ISI DT node. It will be added in sensor's
DT node.

Signed-off-by: Josh Wu <josh.wu@atmel.com>
Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-01-15 16:14:17 +01:00
Josh Wu
97889b14ed ARM: at91: dts: sama5d3: change name of pinctrl_isi_{power,reset}
For sama5d3xmb board, the pins: pinctrl_isi_{power,reset} is used to
power-down or reset camera sensor.
So we should let camera sensor instead of ISI to configure the pins.

This patch will change pinctrl name from pinctrl_isi_{power,reset} to
pinctrl_sensor_{power,reset}. And remove these two pinctrl from ISI's
DT node. We will add these two pinctrl to sensor's DT node.

Signed-off-by: Josh Wu <josh.wu@atmel.com>
Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-01-15 16:14:01 +01:00
Bo Shen
24fe3f02c0 ARM: at91: dts: sama5d3: move the isi mck pin to mb
The mck is decided by the board design, move it to mb related
dtsi file.

Signed-off-by: Bo Shen <voice.shen@atmel.com>
Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Josh Wu <josh.wu@atmel.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-01-15 16:13:54 +01:00