Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add rk3288 xt-q8l-v10 CSC board #1158

Merged
merged 117 commits into from Nov 22, 2018
Merged
Changes from all commits
Commits
Show all changes
117 commits
Select commit Hold shift + click to select a range
d09e463
Initial commit to provide kernel and u-boot configuration and device …
paolosabatino Apr 29, 2018
f09d77a
Committing correct path for rk3288_ddr_400Mhz... rockchip blob, moved…
paolosabatino Apr 29, 2018
9e0d036
Enabled broadcom fmac driver in rockchip-next config
paolosabatino Apr 29, 2018
c175383
Changed name definition of rk3288-xt-q8-v10 board to "TVBox"
paolosabatino Apr 30, 2018
de3f0d2
Fixed device tree file name in related patch, added patching of Makef…
paolosabatino Apr 30, 2018
1d934b0
Fixed xt-q8-v10 device tree patch
paolosabatino Apr 30, 2018
084c74f
Syncing with upstream
paolosabatino Apr 30, 2018
d644f85
Merge remote-tracking branch 'upstream/master'
paolosabatino Apr 30, 2018
29ff6a3
Splitted add-xt-q8... kernel patches into two separate patches
paolosabatino May 1, 2018
3f86ce0
Fixed bad extension while adding dtb in makefile for rockchip-default…
paolosabatino May 1, 2018
61933be
Enable mmc0 and usb in u-boot config
paolosabatino May 1, 2018
299e928
Merge remote-tracking branch 'upstream/master'
paolosabatino May 1, 2018
77cec81
Adding patches to reset the USB phy when kernel requires a reset, fix…
paolosabatino May 1, 2018
e4114dc
Changed xt-q8-v10 to proper xt-q8l-v10 in every string and every file…
paolosabatino May 3, 2018
c03b546
Changed names from 'Q8' to proper 'XT-Q8L-V10' in device tree patch f…
paolosabatino May 5, 2018
44faf44
Legacy kernel device tree:
paolosabatino May 5, 2018
b67b4fb
Added booting bluetooth systemd service for AP6330 (xt-q8l-v10) that …
paolosabatino May 5, 2018
ffd3cf1
Disabled OTG USB port in u-boot due to long timeout during initializa…
paolosabatino May 6, 2018
2709058
Adding myself to licensing
paolosabatino May 6, 2018
01aea09
Merge remote-tracking branch 'upstream/master'
paolosabatino May 6, 2018
9e2b68d
Merge remote-tracking branch 'upstream/master'
paolosabatino May 10, 2018
0c35011
Merge remote-tracking branch 'upstream/master'
paolosabatino May 17, 2018
69570cc
Committing modifications to device trees
paolosabatino May 25, 2018
e0ade7c
Fixed dmac_bus_s explicitly set to unused dmac, restored right dmac i…
paolosabatino May 26, 2018
08717fa
Added proper xt-q8l-v10_rk3288 configuration to u-boot, now appearing…
paolosabatino May 27, 2018
0d4c223
Merge remote-tracking branch 'upstream/master'
paolosabatino May 27, 2018
c589cea
Fixed missing semicolon in device tree for default configuration
paolosabatino May 27, 2018
f623b06
Merge remote-tracking branch 'upstream/master'
May 28, 2018
61297dd
Merge remote-tracking branch 'upstream/master'
May 31, 2018
a1dd707
Merge remote-tracking branch 'upstream/master'
Jun 11, 2018
2be2c21
Merge remote-tracking branch 'upstream/master'
Jun 15, 2018
c2389a0
Merge remote-tracking branch 'upstream/master'
paolosabatino Jun 17, 2018
f67dc86
Added bits to enable power to USB ports in u-boot, thus enabling boot…
paolosabatino Jun 17, 2018
69a6095
Changed u-boot binary creation using the rockchip SPL properly
paolosabatino Jun 17, 2018
f3b2a0f
Added boot order for xt-q8l-v10: sdcard, usb0, eMMC, network
paolosabatino Jun 17, 2018
d31ad70
Merge remote-tracking branch 'upstream/master'
paolosabatino Jun 21, 2018
7ba7cdd
Added bionic:next in beta config for xt-q8l-v10 board
paolosabatino Jun 21, 2018
3bb39c7
Changed some minor bits in xt-q8l-v10 device tree files, added missin…
paolosabatino Jun 24, 2018
8509d26
Merge remote-tracking branch 'upstream/master'
paolosabatino Jun 24, 2018
407fafa
Merge remote-tracking branch 'upstream/master'
paolosabatino Jun 26, 2018
16abe7d
Merge remote-tracking branch 'upstream/master'
paolosabatino Jun 28, 2018
bff2c35
Merge remote-tracking branch 'upstream/master'
paolosabatino Jun 29, 2018
5e010b7
Merge remote-tracking branch 'upstream/master'
paolosabatino Jun 30, 2018
0d4891b
Merge remote-tracking branch 'upstream/master'
paolosabatino Jun 30, 2018
1d9816f
Merge remote-tracking branch 'upstream/master'
paolosabatino Jul 2, 2018
954d776
Merge remote-tracking branch 'upstream/master'
paolosabatino Jul 3, 2018
2d379b3
Merge branch 'master' of https://github.com/paolosabatino/build
paolosabatino Jul 3, 2018
384922a
Merge remote-tracking branch 'upstream/master'
paolosabatino Jul 7, 2018
5f97eb0
Updated u-boot to version v2018.03 for xt-q8l-v10. Other rk3288 board…
paolosabatino Jul 7, 2018
36648d7
Tidied up a bit device trees, in particular some modifications are ma…
paolosabatino Jul 8, 2018
9b8f96b
Merge remote-tracking branch 'upstream/master'
paolosabatino Jul 8, 2018
017d56c
Merge remote-tracking branch 'upstream/master'
paolosabatino Jul 12, 2018
bc00c6b
Merge remote-tracking branch 'upstream/master'
paolosabatino Jul 17, 2018
001af1e
Merge remote-tracking branch 'upstream/master'
paolosabatino Jul 18, 2018
e160647
Restored previous regulator in u-boot dts
paolosabatino Jul 18, 2018
7a0ce24
Added patch to enable IRQ for Midgard drivers which caused massive sl…
paolosabatino Jul 19, 2018
4271fb1
Merge remote-tracking branch 'upstream/master'
paolosabatino Jul 19, 2018
66a1975
Merge remote-tracking branch 'upstream/master'
paolosabatino Jul 20, 2018
91339a4
Merge remote-tracking branch 'upstream/master'
paolosabatino Jul 21, 2018
c50f3f7
Committing effective removal of USB reset assert for dev kernel
paolosabatino Jul 21, 2018
818de69
Merge branch 'master' of https://github.com/paolosabatino/armbian-build
paolosabatino Jul 23, 2018
4e9d958
Merge remote-tracking branch 'upstream/master'
paolosabatino Jul 23, 2018
d8e19b7
Merge remote-tracking branch 'upstream/master'
paolosabatino Jul 31, 2018
e690ca9
Merge remote-tracking branch 'upstream/master'
paolosabatino Aug 5, 2018
23cb46c
Merge remote-tracking branch 'upstream/master'
paolosabatino Aug 21, 2018
a6b8d3e
Added patch to disable USB power down for rockchip devices broken on …
paolosabatino Aug 23, 2018
736d942
Removed usb dwc2 patch to reinject it from specific branch
paolosabatino Aug 24, 2018
a324cde
Merge remote-tracking branch 'upstream/master'
paolosabatino Aug 24, 2018
d44b021
Reverting some voltage changes for xt-q8l-v10 device in rockchip-dev
paolosabatino Aug 24, 2018
b857f0c
Reverting some voltage changes for xt-q8l-v10 in u-boot section
paolosabatino Aug 24, 2018
e81ad47
Added patch to make USB ports working again on rockchip devices with …
paolosabatino Aug 24, 2018
990b462
Changed the 0 into false
paolosabatino Aug 24, 2018
350f4e6
Merge branch 'disable-power-down-on-rockchip-devices'
paolosabatino Aug 24, 2018
301f747
Merge remote-tracking branch 'upstream/master'
paolosabatino Aug 24, 2018
79c4214
Moved xt-q8l-v10 u-boot patches into board_xt-q8l-v10 directory
paolosabatino Aug 25, 2018
97a36f7
Changed some minor things in rockchip-dev dts for xt-q8l-v10, added m…
paolosabatino Aug 26, 2018
35da14b
Merge remote-tracking branch 'upstream/master'
paolosabatino Aug 26, 2018
d8cad11
Added devfreq support for Mali in rockchip-next flavour
paolosabatino Aug 27, 2018
a9d0d35
Merge branch 'master' of https://github.com/paolosabatino/build
paolosabatino Aug 27, 2018
92d91d7
Merge remote-tracking branch 'upstream/master'
paolosabatino Aug 28, 2018
413919b
Merge branch 'master' of https://github.com/paolosabatino/build
paolosabatino Aug 28, 2018
3923e09
Remove manually applied patch (0007-drivers-drm...) because it has been
paolosabatino Aug 28, 2018
88b1401
Removed duplicate patch which has added to main armbian repository
paolosabatino Aug 29, 2018
3b74976
Merge remote-tracking branch 'upstream/master'
paolosabatino Aug 31, 2018
5a68321
Merge remote-tracking branch 'upstream/master'
paolosabatino Aug 31, 2018
7e396e9
Tidied up regulators for default/next/dev rockchip flavours for xt-q8…
paolosabatino Sep 2, 2018
8426bf0
Merge remote-tracking branch 'upstream/master'
paolosabatino Sep 2, 2018
6cf1ef0
Enabled back regulator REG7 to allow propert bluetooth functionaly
paolosabatino Sep 2, 2018
e5b417b
Minor changes to u-boot device tree for xt-q8l-v10
paolosabatino Sep 4, 2018
c9445d9
Merge remote-tracking branch 'upstream/master'
paolosabatino Sep 4, 2018
e745f17
Merge branch 'master' of https://github.com/paolosabatino/armbian-build
paolosabatino Sep 5, 2018
3eee273
Fixed u-boot device tree
paolosabatino Sep 6, 2018
65babb1
Merge remote-tracking branch 'upstream/master'
paolosabatino Sep 6, 2018
b29d131
Merge remote-tracking branch 'upstream/master'
paolosabatino Sep 17, 2018
79604d0
Merge remote-tracking branch 'upstream/master'
paolosabatino Sep 20, 2018
ef38dcb
Added configuration bits to support TPL in u-boot for xt-q8l-v10 (TPL…
paolosabatino Sep 23, 2018
902a767
Merge remote-tracking branch 'upstream/master'
paolosabatino Sep 23, 2018
4d7ebd0
Merge remote-tracking branch 'upstream/master'
paolosabatino Sep 24, 2018
8b01400
Merge remote-tracking branch 'upstream/master'
paolosabatino Oct 3, 2018
8342afe
Merge remote-tracking branch 'upstream/master'
paolosabatino Oct 9, 2018
d98ddac
Merge remote-tracking branch 'upstream/master'
paolosabatino Oct 16, 2018
0c20abc
Fixed dts makefile patching for next and dev rockchip kernel
paolosabatino Oct 18, 2018
0c3aa28
Merge remote-tracking branch 'upstream/master'
paolosabatino Oct 21, 2018
3739508
Merge remote-tracking branch 'upstream/master'
paolosabatino Oct 24, 2018
52beb52
Merge remote-tracking branch 'upstream/master'
paolosabatino Oct 26, 2018
2ddd7a9
Fixed fdt_file renamed to fdtfile in armbianEnv.txt
paolosabatino Oct 27, 2018
6b9dbd0
Merge remote-tracking branch 'upstream/master'
paolosabatino Oct 27, 2018
f5b6caf
Merge remote-tracking branch 'upstream/master'
paolosabatino Nov 3, 2018
32ab822
Merge remote-tracking branch 'upstream/master'
paolosabatino Nov 10, 2018
0898230
Merge remote-tracking branch 'upstream/master'
paolosabatino Nov 14, 2018
c4103f8
Changed xt-q8l-v10 board config as per recomendations
paolosabatino Nov 14, 2018
b0d7299
Merge remote-tracking branch 'upstream/master'
paolosabatino Nov 17, 2018
90ba68f
Moved xt-q8l-v10 configuration to CSC
paolosabatino Nov 17, 2018
d40b451
Merge remote-tracking branch 'upstream/master'
paolosabatino Nov 20, 2018
5b12ae0
Add patch to brcmfmac driver to search for ap6330 firmware
paolosabatino Nov 20, 2018
2c6b103
Fixed bcm4330 bluetooth firmware linking for hciattach used by ap6330…
paolosabatino Nov 21, 2018
2fa7fd4
Removed foreign test patches from xt-q8l-v10 u-boot directory
paolosabatino Nov 21, 2018
File filter
Filter file types
Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.

Always

Just for now

@@ -0,0 +1,20 @@
# RK3288 TVBox quad core 2GB eMMC SoC GBE WiFi
BOARD_NAME="xt-q8l-v10"
BOARDFAMILY="rockchip"
BOOTCONFIG="xt-q8l-v10-rk3288_defconfig"
#
MODULES="hci_uart rfcomm hidp"
MODULES_NEXT=""
#
KERNEL_TARGET="default,next,dev"
CLI_TARGET="stretch:default,next"
DESKTOP_TARGET="bionic:default,next"

CLI_BETA_TARGET=""
DESKTOP_BETA_TARGET=""
#
BOARDRATING=""
CHIP="https://en.wikipedia.org/wiki/Rockchip_RK3288"
HARDWARE=""
FORUMS="https://forum.armbian.com/topic/7141-armbian-for-rk3288-xt-q8l-v10-q8-boards/"
BUY=""
@@ -1856,8 +1856,14 @@ CONFIG_WCN36XX=m
CONFIG_RTL8188EU=m
# CONFIG_B43 is not set
# CONFIG_B43LEGACY is not set
CONFIG_BRCMUTIL=m
# CONFIG_BRCMSMAC is not set
# CONFIG_BRCMFMAC is not set
CONFIG_BRCMFMAC=m
CONFIG_BRCMFMAC_PROTO_BCDC=y
CONFIG_BRCMFMAC_SDIO=y
# CONFIG_BRCMFMAC_USB is not set
# CONFIG_BRCM_TRACING is not set
# CONFIG_BRCMDBG is not set
CONFIG_HOSTAP=y
CONFIG_HOSTAP_FIRMWARE=y
CONFIG_HOSTAP_FIRMWARE_NVRAM=y
@@ -2108,7 +2114,8 @@ CONFIG_TOUCHSCREEN_USB_EASYTOUCH=y
# CONFIG_TOUCHSCREEN_ROHM_BU21023 is not set
# CONFIG_TOUCHSCREEN_VTL_CT36X is not set
# CONFIG_TOUCHSCREEN_GT1X is not set
# CONFIG_ROCKCHIP_REMOTECTL is not set
CONFIG_ROCKCHIP_REMOTECTL=y
CONFIG_ROCKCHIP_REMOTECTL_PWM=y

#
# handle all sensors
@@ -1,10 +1,10 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/arm 4.18.16 Kernel Configuration
# Linux/arm 4.18.17 Kernel Configuration
#

#
# Compiler: arm-linux-gnueabihf-gcc (Linaro GCC 7.2-2017.11) 7.2.1 20171011

This comment has been minimized.

@chwe17

chwe17 Nov 22, 2018
Member

does it has an impact on the build if GCC is defined in kernelconfig?

This comment has been minimized.

@igorpecovnik

igorpecovnik Nov 23, 2018
Member

I think it's just an info what was used to build. Added automagically.

# Compiler: arm-linux-gnueabihf-gcc (Linaro GCC 6.4-2017.11) 6.4.1 20171012
#
CONFIG_ARM=y
CONFIG_ARM_HAS_SG_CHAIN=y
@@ -25,7 +25,7 @@ CONFIG_ARM_PATCH_PHYS_VIRT=y
CONFIG_GENERIC_BUG=y
CONFIG_PGTABLE_LEVELS=2
CONFIG_CC_IS_GCC=y
CONFIG_GCC_VERSION=70201
CONFIG_GCC_VERSION=60401
CONFIG_CLANG_VERSION=0
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_EXTABLE_SORT=y
@@ -1928,8 +1928,14 @@ CONFIG_AT76C50X_USB=m
CONFIG_WLAN_VENDOR_BROADCOM=y
# CONFIG_B43 is not set
# CONFIG_B43LEGACY is not set
CONFIG_BRCMUTIL=m
# CONFIG_BRCMSMAC is not set
# CONFIG_BRCMFMAC is not set
CONFIG_BRCMFMAC=m
CONFIG_BRCMFMAC_PROTO_BCDC=y
CONFIG_BRCMFMAC_SDIO=y
# CONFIG_BRCMFMAC_USB is not set
# CONFIG_BRCM_TRACING is not set
# CONFIG_BRCMDBG is not set
CONFIG_WLAN_VENDOR_CISCO=y
CONFIG_WLAN_VENDOR_INTEL=y
CONFIG_WLAN_VENDOR_INTERSIL=y
@@ -2897,7 +2903,7 @@ CONFIG_CEC_CORE=y
CONFIG_CEC_NOTIFIER=y
CONFIG_RC_CORE=y
CONFIG_RC_MAP=y
# CONFIG_LIRC is not set
CONFIG_LIRC=y
CONFIG_RC_DECODERS=y
CONFIG_IR_NEC_DECODER=y
CONFIG_IR_RC5_DECODER=y
@@ -2909,7 +2915,24 @@ CONFIG_IR_SHARP_DECODER=y
CONFIG_IR_MCE_KBD_DECODER=y
CONFIG_IR_XMP_DECODER=y
CONFIG_IR_IMON_DECODER=m
# CONFIG_RC_DEVICES is not set
CONFIG_RC_DEVICES=y
# CONFIG_RC_ATI_REMOTE is not set
# CONFIG_IR_HIX5HD2 is not set
# CONFIG_IR_IMON is not set
# CONFIG_IR_IMON_RAW is not set
# CONFIG_IR_MCEUSB is not set
# CONFIG_IR_REDRAT3 is not set
# CONFIG_IR_SPI is not set
# CONFIG_IR_STREAMZAP is not set
# CONFIG_IR_IGORPLUGUSB is not set
# CONFIG_IR_IGUANA is not set
# CONFIG_IR_TTUSBIR is not set
# CONFIG_RC_LOOPBACK is not set
CONFIG_IR_GPIO_CIR=m
# CONFIG_IR_GPIO_TX is not set
# CONFIG_IR_PWM_TX is not set
# CONFIG_IR_SERIAL is not set
# CONFIG_IR_SIR is not set
CONFIG_MEDIA_SUPPORT=y

#
@@ -1959,8 +1959,14 @@ CONFIG_AT76C50X_USB=m
CONFIG_WLAN_VENDOR_BROADCOM=y
# CONFIG_B43 is not set
# CONFIG_B43LEGACY is not set
CONFIG_BRCMUTIL=m
# CONFIG_BRCMSMAC is not set
# CONFIG_BRCMFMAC is not set
CONFIG_BRCMFMAC=m
CONFIG_BRCMFMAC_PROTO_BCDC=y
CONFIG_BRCMFMAC_SDIO=y
# CONFIG_BRCMFMAC_USB is not set
# CONFIG_BRCM_TRACING is not set
# CONFIG_BRCMDBG is not set
CONFIG_WLAN_VENDOR_CISCO=y
CONFIG_WLAN_VENDOR_INTEL=y
CONFIG_WLAN_VENDOR_INTERSIL=y
@@ -2925,7 +2931,8 @@ CONFIG_REGULATOR_TPS6586X=y
CONFIG_RC_CORE=y
CONFIG_RC_MAP=y
CONFIG_RC_DECODERS=y
# CONFIG_LIRC is not set
CONFIG_LIRC=m
CONFIG_IR_LIRC_CODEC=m
CONFIG_IR_NEC_DECODER=y
CONFIG_IR_RC5_DECODER=y
CONFIG_IR_RC6_DECODER=y
@@ -2935,7 +2942,23 @@ CONFIG_IR_SANYO_DECODER=y
CONFIG_IR_SHARP_DECODER=y
CONFIG_IR_MCE_KBD_DECODER=y
CONFIG_IR_XMP_DECODER=y
# CONFIG_RC_DEVICES is not set
CONFIG_RC_DEVICES=y
# CONFIG_RC_ATI_REMOTE is not set
# CONFIG_IR_HIX5HD2 is not set
# CONFIG_IR_IMON is not set
# CONFIG_IR_MCEUSB is not set
# CONFIG_IR_REDRAT3 is not set
# CONFIG_IR_SPI is not set
# CONFIG_IR_STREAMZAP is not set
# CONFIG_IR_IGORPLUGUSB is not set
# CONFIG_IR_IGUANA is not set
# CONFIG_IR_TTUSBIR is not set
# CONFIG_RC_LOOPBACK is not set
CONFIG_IR_GPIO_CIR=m
# CONFIG_IR_GPIO_TX is not set
# CONFIG_IR_PWM_TX is not set
# CONFIG_IR_SERIAL is not set
# CONFIG_IR_SIR is not set
CONFIG_MEDIA_SUPPORT=y

#
@@ -57,8 +57,21 @@ write_uboot_platform()

uboot_custom_postprocess()
{
tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin u-boot-rockchip-with-spl.bin
cat u-boot-dtb.bin >> u-boot-rockchip-with-spl.bin

# xt-q8l-v10 requires the original DDR init blob because u-boot does not support LPDDR2 initialization
# for rk3288 SoC (binary is in sources/rkbin-tools/rk32 path). U-boot is configured to produce a TPL
# which is thrown away. SPL does some more initial configurations, expecially pinmux for power hold,
# so reset works more reliably. U-boot image is set to be at sector 0x200 on the eMMC/SD,
# so we burn it 0x200-0x40 because of the rockchip 0x40 sectors offset.
if [[ $BOARD == xt-q8l-v10 ]]; then
tools/mkimage -n rk3288 -T rksd -d $SRC/cache/sources/rkbin-tools/rk32/rk3288_ddr_400MHz_v1.03.bin u-boot-rockchip-with-spl.bin
cat spl/u-boot-spl-dtb.bin >> u-boot-rockchip-with-spl.bin
dd if=u-boot-dtb.img of=u-boot-rockchip-with-spl.bin seek=$((0x200 - 0x40)) conv=notrunc
else
tools/mkimage -n rk3288 -T rksd -d spl/u-boot-spl-dtb.bin u-boot-rockchip-with-spl.bin
cat u-boot-dtb.bin >> u-boot-rockchip-with-spl.bin
fi

}

family_tweaks()
@@ -67,6 +80,13 @@ family_tweaks()
chroot $SDCARD /bin/bash -c "systemctl --no-reload enable tinker-bluetooth.service >/dev/null 2>&1"
sed -i -e "/#load-module module-alsa-sink/r $SRC/packages/bsp/rockchip/pulseaudio.txt" $SDCARD/etc/pulse/default.pa >/dev/null 2>&1
fi

if [[ $BOARD == xt-q8l-v10 ]]; then
echo "fdtfile=rk3288-xt-q8l-v10.dtb" >> $SDCARD/boot/armbianEnv.txt
mkdir -p $SDCARD/etc/firmware/
ln -sf /lib/firmware/brcm/BCM4330B1.hcd $SDCARD/etc/firmware
chroot $SDCARD /bin/bash -c "systemctl --no-reload enable ap6330-bluetooth.service >/dev/null 2>&1"
fi
}

family_tweaks_bsp()
@@ -96,4 +116,7 @@ family_tweaks_bsp()
cp $SRC/packages/bsp/rockchip/asound.conf $destination/etc/
cp $SRC/packages/bsp/rockchip/89-pulseaudio-usb.rules $destination/etc/udev/rules.d

# ap6330 bluetooth (required for xt-q8l-v10)
cp $SRC/packages/bsp/rockchip/ap6330-bluetooth.service $destination/lib/systemd/system/

}
@@ -0,0 +1,11 @@
[Unit]
Description=AP6330 bluetooth support
Before=bluetooth.service

[Service]
Type=forking
RemainAfterExit=Yes
ExecStart=/usr/bin/hciattach /dev/ttyS0 bcm43xx 1500000

[Install]
WantedBy=multi-user.target
@@ -0,0 +1,74 @@
Patches act8846 regulator providing the proper reset handle and exploit
the SIPC bit in GLB_POWER_OFF register. Mainly used to reset some rockchip
boards.

Origin: <https://patchwork.kernel.org/patch/6409521/>

diff --git a/drivers/regulator/act8865-regulator.c b/drivers/regulator/act8865-regulator.c
index 2ff73d7..836d10b 100644
--- a/drivers/regulator/act8865-regulator.c
+++ b/drivers/regulator/act8865-regulator.c
@@ -27,6 +27,7 @@
#include <linux/of_device.h>
#include <linux/regulator/of_regulator.h>
#include <linux/regmap.h>
+#include <linux/reboot.h>

/*
* ACT8600 Global Register Map.
@@ -133,6 +134,8 @@
#define ACT8865_VOLTAGE_NUM 64
#define ACT8600_SUDCDC_VOLTAGE_NUM 255

+#define ACT8846_SIPC_MASK 0x01
+
struct act8865 {
struct regmap *regmap;
int off_reg;
@@ -402,6 +405,22 @@ static void act8865_power_off(void)
while (1);
}

+static int act8846_power_cycle(struct notifier_block *this,
+ unsigned long code, void *unused)
+{
+ struct act8865 *act8846;
+
+ act8846 = i2c_get_clientdata(act8865_i2c_client);
+ regmap_write(act8846->regmap, ACT8846_GLB_OFF_CTRL, ACT8846_SIPC_MASK);
+
+ return NOTIFY_DONE;
+}
+
+static struct notifier_block act8846_restart_handler = {
+ .notifier_call = act8846_power_cycle,
+ .priority = 129,
+};
+
static int act8865_pmic_probe(struct i2c_client *client,
const struct i2c_device_id *i2c_id)
{
@@ -484,6 +503,8 @@ static int act8865_pmic_probe(struct i2c_client *client,
}

if (of_device_is_system_power_controller(dev->of_node)) {
+ int ret;
+
if (!pm_power_off && (off_reg > 0)) {
act8865_i2c_client = client;
act8865->off_reg = off_reg;
@@ -492,6 +513,14 @@ static int act8865_pmic_probe(struct i2c_client *client,
} else {
dev_err(dev, "Failed to set poweroff capability, already defined\n");
}
+
+ if (type == ACT8846) {
+ act8865_i2c_client = client;
+ ret = register_restart_handler(&act8846_restart_handler);
+ if (ret)
+ pr_err("%s: cannot register restart handler, %d\n",
+ __func__, ret);
+ }
}

/* Finally register devices */
@@ -0,0 +1,36 @@
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/brcm80211/brcmfmac/sdio.c
index b4d9b475..c8d659ff 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/sdio.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/sdio.c
@@ -626,6 +626,12 @@ static const struct sdiod_drive_str sdiod_drvstr_tab2_3v3[] = {
#define BCM4354_FIRMWARE_NAME "brcm/brcmfmac4354-sdio.bin"
#define BCM4354_NVRAM_NAME "brcm/brcmfmac4354-sdio.txt"

+/*
+ * AMPAK
+ */
+#define AP6330_FIRMWARE_NAME "brcm/brcmfmac-ap6330-sdio.bin"
+#define AP6330_NVRAM_NAME "brcm/brcmfmac-ap6330-sdio.txt"
+
MODULE_FIRMWARE(BCM43143_FIRMWARE_NAME);
MODULE_FIRMWARE(BCM43143_NVRAM_NAME);
MODULE_FIRMWARE(BCM43241B0_FIRMWARE_NAME);
@@ -654,6 +660,8 @@ MODULE_FIRMWARE(BCM43455_FIRMWARE_NAME);
MODULE_FIRMWARE(BCM43455_NVRAM_NAME);
MODULE_FIRMWARE(BCM4354_FIRMWARE_NAME);
MODULE_FIRMWARE(BCM4354_NVRAM_NAME);
+MODULE_FIRMWARE(AP6330_FIRMWARE_NAME);
+MODULE_FIRMWARE(AP6330_NVRAM_NAME);

struct brcmf_firmware_names {
u32 chipid;
@@ -676,7 +684,8 @@ static const struct brcmf_firmware_names brcmf_fwname_data[] = {
{ BRCM_CC_43241_CHIP_ID, 0x00000020, BRCMF_FIRMWARE_NVRAM(BCM43241B4) },
{ BRCM_CC_43241_CHIP_ID, 0xFFFFFFC0, BRCMF_FIRMWARE_NVRAM(BCM43241B5) },
{ BRCM_CC_4329_CHIP_ID, 0xFFFFFFFF, BRCMF_FIRMWARE_NVRAM(BCM4329) },
- { BRCM_CC_4330_CHIP_ID, 0xFFFFFFFF, BRCMF_FIRMWARE_NVRAM(BCM4330) },
+ { BRCM_CC_4330_CHIP_ID, 0xFFFFFFEF, BRCMF_FIRMWARE_NVRAM(BCM4330) },
+ { BRCM_CC_4330_CHIP_ID, 0x10, BRCMF_FIRMWARE_NVRAM(AP6330) },
{ BRCM_CC_4334_CHIP_ID, 0xFFFFFFFF, BRCMF_FIRMWARE_NVRAM(BCM4334) },
{ BRCM_CC_43340_CHIP_ID, 0xFFFFFFFF, BRCMF_FIRMWARE_NVRAM(BCM43340) },
{ BRCM_CC_4335_CHIP_ID, 0xFFFFFFFF, BRCMF_FIRMWARE_NVRAM(BCM4335) },
ProTip! Use n and p to navigate between commits in a pull request.