linux_dsm_epyc7002/arch/arm
Chen-Yu Tsai afdd273e26 ARM: dts: sunxi: Enable Broadcom-based Bluetooth for multiple boards
This patch adds the Bluetooth node, and the underlying UART node if it's
missing, to the board device tree file for several boards. The LPO clock
is also added to the WiFi side's power sequencing node if it's missing,
to correctly represent the shared connections. There is also a PCM
connection for Bluetooth, but this is not covered in this patch.

These boards all have a WiFi+BT module from AMPAK, which contains one or
two Broadcom chips, depending on the model. The older AP6210 contains
two, while the newer AP6212 and AP6330 contain just one, as they use
two-in-one combo chips.

The Bluetooth side of the module is always connected to a UART on the
same pingroup as the SDIO pins for the WiFi side, in a 4 wire
configuration. Power to the VBAT and VDDIO pins are provided either by
the PMIC, using one or several of its regulator outputs, or other fixed
regulators on the board. The VBAT and VDDIO pins are shared with the
WiFi side, which would correspond to vmmc-supply and vqmmc-supply in the
mmc host node. A clock output from the SoC or the external X-Powers RTC
provides the LPO low power clock at 32.768 kHz.

All the boards covered in this patch are ones that do not require extra
changes to the SoC's dtsi file. For the remaining boards that I have
worked on, properties or device nodes for the LPO clock's source are
missing.

For the Cubietruck, the LPO clock is fed from CLK_OUT_A, which needs to
be muxed on pin PI12. This can be represented in multiple ways. This
patch puts the pinctrl property in the pin controller node. This is due
to limitations in Linux, where pinmux settings, even the same one, can
not be shared by multiple devices. Thus we cannot put it in both the
WiFi and Bluetooth device nodes. Putting it the CCU node is another
option, but Linux's CCU driver does not handle pinctrl. Also the pin
controller is guaranteed to be initialized after the CCU, when clocks
are available. And any other devices that use muxed pins are guaranteed
to be initialized after the pin controller. Thus having the CLK_OUT_A
pinmux reference be in the pin controller node is a good choice without
having to deal with implementation issues.

Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
2018-12-19 17:26:14 +08:00
..
boot ARM: dts: sunxi: Enable Broadcom-based Bluetooth for multiple boards 2018-12-19 17:26:14 +08:00
common ARM: Add Krait L2 register accessor functions 2018-10-17 13:14:33 -07:00
configs ARM: defconfig: Update multi_v7 to use PREEMPT 2018-11-02 11:39:52 -07:00
crypto crypto: arm/crc32 - avoid warning when compiling with Clang 2018-09-21 13:24:52 +08:00
firmware ARM: 32-bit SoC platform updates 2018-08-23 13:44:43 -07:00
include This time it looks like a quieter release cycle in the clk tree. I guess that's 2018-10-31 11:08:30 -07:00
kernel memblock: stop using implicit alignment to SMP_CACHE_BYTES 2018-10-31 08:54:16 -07:00
kvm ARM: KVM: Correctly order SGI register entries in the cp15 array 2018-10-09 11:55:47 +01:00
lib Merge branches 'fixes', 'misc' and 'spectre' into for-next 2018-10-10 13:53:33 +01:00
mach-actions
mach-alpine
mach-artpec
mach-asm9260
mach-aspeed
mach-at91 ARM: SoC platform updates for 4.20 2018-10-29 15:37:33 -07:00
mach-axxia arch: define the ARCH_DMA_ADDR_T_64BIT config symbol in lib/Kconfig 2018-05-09 06:57:04 +02:00
mach-bcm PCI: controller: Move PCI_DOMAINS selection to arch Kconfig 2018-06-26 15:37:37 -05:00
mach-berlin ARM: berlin: switch to SPDX license identifier 2018-05-24 14:49:09 +08:00
mach-clps711x
mach-cns3xxx
mach-davinci This time it looks like a quieter release cycle in the clk tree. I guess that's 2018-10-31 11:08:30 -07:00
mach-digicolor
mach-dove
mach-ebsa110
mach-efm32
mach-ep93xx This is the bulk of GPIO changes for the v4.20 series: 2018-10-23 08:45:05 +01:00
mach-exynos ARM: exynos: Fix imprecise abort during Exynos5422 suspend to RAM 2018-08-30 19:46:06 +02:00
mach-footbridge treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
mach-gemini
mach-highbank arch: define the ARCH_DMA_ADDR_T_64BIT config symbol in lib/Kconfig 2018-05-09 06:57:04 +02:00
mach-hisi ARM: hisi: handle of_iomap and fix missing of_node_put 2018-07-16 17:36:50 +01:00
mach-imx ARM: SoC platform updates for 4.20 2018-10-29 15:37:33 -07:00
mach-integrator mmc: mmci: Drop support for pdata GPIO numbers 2018-10-08 11:40:43 +02:00
mach-iop13xx
mach-iop32x
mach-iop33x
mach-ixp4xx mtd: rawnand: Move platform_nand_xxx definitions out of rawnand.h 2018-10-03 11:12:25 +02:00
mach-keystone ARM: keystone: fix platform_domain_notifier array overrun 2018-05-14 09:24:29 -07:00
mach-ks8695 i2c: gpio: move header to platform_data 2018-05-17 16:27:09 +02:00
mach-lpc18xx
mach-lpc32xx
mach-mediatek
mach-meson ARM: meson: merge Kconfig symbol MACH_MESON8B into MACH_MESON8 2018-05-23 10:08:13 -07:00
mach-mmp USB/PHY patches for 4.20-rc1 2018-10-26 08:14:13 -07:00
mach-moxart
mach-mv78xx0
mach-mvebu ARM: mvebu: use dt_fixup to provide fallback for enable-method 2018-09-24 17:15:24 +02:00
mach-mxs
mach-netx
mach-nomadik
mach-npcm
mach-nspire
mach-omap1 Fix for omap1 ams-delta irq 2018-11-02 22:31:40 -07:00
mach-omap2 memblock: stop using implicit alignment to SMP_CACHE_BYTES 2018-10-31 08:54:16 -07:00
mach-orion5x mtd: rawnand: Move platform_nand_xxx definitions out of rawnand.h 2018-10-03 11:12:25 +02:00
mach-oxnas
mach-picoxcell
mach-prima2
mach-pxa regulator: Regulator updates for next release 2018-10-23 01:54:44 +01:00
mach-qcom
mach-realview
mach-rockchip ARM: rockchip: Force CONFIG_PM on Rockchip systems 2018-08-24 08:50:23 -07:00
mach-rpc mm: do not initialize TLB stack vma's with vma_init() 2018-08-01 13:43:38 -07:00
mach-s3c24xx ARM: s3c24xx: Restore proper usage of pr_info/pr_cont 2018-09-19 19:11:17 +02:00
mach-s3c64xx regulator: fixed: Convert to use GPIO descriptor only 2018-09-17 14:32:22 -07:00
mach-s5pv210
mach-sa1100 regulator: fixed: Convert to use GPIO descriptor only 2018-09-17 14:32:22 -07:00
mach-shmobile ARM: SoC platform updates for 4.20 2018-10-29 15:37:33 -07:00
mach-socfpga PCI: controller: Move PCI_DOMAINS selection to arch Kconfig 2018-06-26 15:37:37 -05:00
mach-spear
mach-sti
mach-stm32 ARM: stm32: Don't select DMA unconditionally on STM32MP157C 2018-05-25 15:26:38 -07:00
mach-sunxi ARM: sun8i: smp: Add support for A83T 2018-05-08 15:00:20 +02:00
mach-tango
mach-tegra ARM: SoC platform updates 2018-06-11 17:49:09 -07:00
mach-u300 ARM: u300: Delete dummy SPI chip 2018-09-06 10:02:26 -07:00
mach-uniphier ARM: uniphier: select RESET_CONTROLLER 2018-07-31 19:04:41 -07:00
mach-ux500 ARM: ux500: Cut down Kconfig options 2018-05-04 11:02:52 +02:00
mach-versatile mmc: mmci: Drop support for pdata GPIO numbers 2018-10-08 11:40:43 +02:00
mach-vexpress treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
mach-vt8500
mach-w90x900
mach-zx
mach-zynq ARM: zynq: Convert to using %pOFn instead of device_node.name 2018-09-05 15:27:16 +02:00
mm mm: remove include/linux/bootmem.h 2018-10-31 08:54:16 -07:00
net ARM: net: bpf: improve 64-bit ALU implementation 2018-07-13 15:26:42 +02:00
nwfpe
oprofile
plat-iop
plat-omap ARM/time: Remove read_boot_clock64() 2018-07-20 00:02:41 +02:00
plat-orion ARM: orion: avoid VLA in orion_mpp_conf 2018-11-02 22:31:24 -07:00
plat-pxa ARM: pxa: change SSP DMA channels allocation 2018-06-18 21:32:41 +02:00
plat-samsung ARM: samsung: Limit SAMSUNG_PM_CHECK config option to non-Exynos platforms 2018-10-01 18:42:48 +02:00
plat-versatile
probes Updates for v4.19: 2018-08-20 18:32:00 -07:00
tools ARM: 8787/1: wire up io_pgetevents syscall 2018-09-19 10:44:11 +01:00
vdso arm: port KCOV to arm 2018-06-15 07:55:24 +09:00
vfp Merge branch 'siginfo-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace 2018-10-24 11:22:39 +01:00
xen mm: remove include/linux/bootmem.h 2018-10-31 08:54:16 -07:00
Kconfig mm: remove CONFIG_HAVE_MEMBLOCK 2018-10-31 08:54:15 -07:00
Kconfig-nommu
Kconfig.debug ARM: SoC platform updates for 4.20 2018-10-29 15:37:33 -07:00
Makefile Devicetree updates for 4.20: 2018-10-26 12:09:58 -07:00