diff --git a/external/cache/sources/bananapi-config/debian-config-functions b/external/cache/sources/bananapi-config/debian-config-functions index 01b61dd..3b3a6c0 100644 --- a/external/cache/sources/bananapi-config/debian-config-functions +++ b/external/cache/sources/bananapi-config/debian-config-functions @@ -60,7 +60,7 @@ function main(){ [[ "$LINUXFAMILY" == "meson64" ]] && OVERLAYDIR="/boot/dtb/amlogic/overlay"; [[ "$LINUXFAMILY" == "rockchip64" ]] && OVERLAYDIR="/boot/dtb/rockchip/overlay"; [[ "$LINUXFAMILY" == "rockchip-rk3588" ]] && OVERLAYDIR="/boot/dtb/rockchip/overlay"; - [[ "$LINUXFAMILY" == "sun50iw9" && "$BRANCH" == "current" ]] && OVERLAYDIR="/boot/dtb/sunxi/overlay"; + [[ "$LINUXFAMILY" == "sun50iw9" && "$BRANCH" == "current" ]] && OVERLAYDIR="/boot/dtb/sunxi/overlay/${BOARD}"; [[ "$LINUXFAMILY" == "sun50iw9" && "$BRANCH" == "next" ]] && OVERLAYDIR="/boot/dtb/allwinner/overlay"; [[ "$LINUXFAMILY" == "rockchip-rk356x" ]] && OVERLAYDIR="/boot/dtb/rockchip/overlay"; # detect desktop diff --git a/external/config/bootscripts/boot-sun50iw9.cmd b/external/config/bootscripts/boot-sun50iw9.cmd index 9a93288..c56e055 100644 --- a/external/config/bootscripts/boot-sun50iw9.cmd +++ b/external/config/bootscripts/boot-sun50iw9.cmd @@ -75,8 +75,14 @@ if test "${mmc_bootdev}" = "2"; then fdt set /soc/sdmmc@04022000 max-frequency <${emmc_max_frequency}> fi +if test "${fdtfile}" = "sunxi/sun50i-h618-bananapi-m4berry.dtb"; then + setenv model "bpi-m4berry"; +else + setenv model "bpi-m4zero"; +fi + for overlay_file in ${overlays}; do - if load ${devtype} ${devnum} ${load_addr} ${prefix}dtb/sunxi/overlay/${overlay_prefix}-${overlay_file}.dtbo; then + if load ${devtype} ${devnum} ${load_addr} ${prefix}dtb/sunxi/overlay/${model}/${overlay_prefix}-${overlay_file}.dtbo; then echo "Applying kernel provided DT overlay ${overlay_prefix}-${overlay_file}.dtbo" fdt apply ${load_addr} || setenv overlay_error "true" fi diff --git a/external/config/kernel/linux-sun50iw9-current.config b/external/config/kernel/linux-sun50iw9-current.config index 26e90ea..f606305 100644 --- a/external/config/kernel/linux-sun50iw9-current.config +++ b/external/config/kernel/linux-sun50iw9-current.config @@ -2,14 +2,13 @@ # Automatically generated file; DO NOT EDIT. # Linux/arm64 5.4.125 Kernel Configuration # -CONFIG_CC_VERSION_TEXT="aarch64-linux-gnu-gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0" +CONFIG_CC_VERSION_TEXT="gcc (Ubuntu 5.4.0-6ubuntu1~16.04.12) 5.4.0 20160609" CONFIG_CC_IS_GCC=y -CONFIG_GCC_VERSION=110400 +CONFIG_GCC_VERSION=50400 CONFIG_CLANG_VERSION=0 CONFIG_LLD_VERSION=0 CONFIG_CC_CAN_LINK=y CONFIG_CC_HAS_ASM_GOTO=y -CONFIG_CC_HAS_ASM_INLINE=y CONFIG_IRQ_WORK=y CONFIG_BUILDTIME_EXTABLE_SORT=y CONFIG_THREAD_INFO_IN_TASK=y @@ -275,6 +274,9 @@ CONFIG_ARCH_SUN50I=y CONFIG_ARCH_SUN50IW9=y # CONFIG_ARCH_SUN50IW10 is not set # CONFIG_ARCH_SUN50IW12 is not set +CONFIG_BOARD_BANANAPI_M4BERRY=y +# CONFIG_BOARD_BANANAPI_M4ZERO is not set +# CONFIG_BOARD_ORANGEPI_ZERO3 is not set # CONFIG_FPGA_V4_PLATFORM is not set # CONFIG_FPGA_V7_PLATFORM is not set CONFIG_EVB_PLATFORM=y @@ -439,8 +441,6 @@ CONFIG_ARM64_MODULE_PLTS=y CONFIG_RELOCATABLE=y CONFIG_RANDOMIZE_BASE=y CONFIG_RANDOMIZE_MODULE_REGION_FULL=y -CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y -CONFIG_STACKPROTECTOR_PER_TASK=y # end of Kernel Features # @@ -856,7 +856,7 @@ CONFIG_COMPAT_BINFMT_ELF=y CONFIG_ELFCORE=y # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set CONFIG_BINFMT_SCRIPT=y -# CONFIG_BINFMT_MISC is not set +CONFIG_BINFMT_MISC=y CONFIG_COREDUMP=y # end of Executable file formats @@ -1641,7 +1641,6 @@ CONFIG_BT_BNEP=y CONFIG_BT_BNEP_MC_FILTER=y CONFIG_BT_BNEP_PROTO_FILTER=y CONFIG_BT_HIDP=y -CONFIG_BT_RTKBTUSB=m CONFIG_BT_HS=y CONFIG_BT_LE=y # CONFIG_BT_6LOWPAN is not set @@ -1653,6 +1652,7 @@ CONFIG_BT_DEBUGFS=y # Bluetooth device drivers # # CONFIG_BT_HCIBTUSB is not set +CONFIG_BT_HCIBTUSB_RTK=m # CONFIG_BT_HCIBTSDIO is not set CONFIG_BT_HCIUART=y CONFIG_BT_HCIUART_H4=y @@ -1664,7 +1664,7 @@ CONFIG_BT_HCIUART_BCSP=y # CONFIG_BT_HCIBPA10X is not set # CONFIG_BT_HCIBFUSB is not set # CONFIG_BT_HCIVHCI is not set -CONFIG_BCM_BT_LPM=y +CONFIG_BCM_BT_LPM=m # CONFIG_RTL_BT_LPM is not set # CONFIG_XR_BT_LPM is not set # CONFIG_BT_MRVL is not set @@ -1694,7 +1694,7 @@ CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y # CONFIG_CFG80211_DEFAULT_PS is not set # CONFIG_CFG80211_DEBUGFS is not set CONFIG_CFG80211_CRDA_SUPPORT=y -# CONFIG_CFG80211_WEXT is not set +CONFIG_CFG80211_WEXT=y CONFIG_MAC80211=y CONFIG_MAC80211_HAS_RC=y CONFIG_MAC80211_RC_MINSTREL=y @@ -1929,7 +1929,7 @@ CONFIG_OF_IRQ=y CONFIG_OF_NET=y CONFIG_OF_MDIO=y CONFIG_OF_RESERVED_MEM=y -# CONFIG_OF_OVERLAY is not set +CONFIG_OF_OVERLAY=y # CONFIG_PARPORT is not set CONFIG_BLK_DEV=y # CONFIG_BLK_DEV_NULL_BLK is not set @@ -2375,7 +2375,6 @@ CONFIG_USB_NET_DRIVERS=y CONFIG_USB_RTL8152=y # CONFIG_USB_LAN78XX is not set CONFIG_USB_USBNET=y -CONFIG_RTL8821CU=m CONFIG_USB_NET_AX8817X=y CONFIG_USB_NET_AX88179_178A=y CONFIG_USB_NET_CDCETHER=y @@ -2383,7 +2382,7 @@ CONFIG_USB_NET_CDCETHER=y CONFIG_USB_NET_CDC_NCM=y # CONFIG_USB_NET_HUAWEI_CDC_NCM is not set # CONFIG_USB_NET_CDC_MBIM is not set -# CONFIG_USB_NET_DM9601 is not set +CONFIG_USB_NET_DM9601=m # CONFIG_USB_NET_SR9700 is not set # CONFIG_USB_NET_SR9800 is not set # CONFIG_USB_NET_SMSC75XX is not set @@ -2473,6 +2472,7 @@ CONFIG_WLAN_VENDOR_MEDIATEK=y CONFIG_WLAN_VENDOR_RALINK=y # CONFIG_RT2X00 is not set CONFIG_WLAN_VENDOR_REALTEK=y +CONFIG_RTL8821CU=m # CONFIG_RTL8187 is not set CONFIG_RTL_CARDS=y # CONFIG_RTL8192CU is not set @@ -2509,7 +2509,7 @@ CONFIG_WLAN_UWE5622=m CONFIG_SPRDWL_NG=m CONFIG_UNISOC_WIFI_PS=y CONFIG_TTY_OVERY_SDIO=m -CONFIG_BCMDHD=m +# CONFIG_BCMDHD is not set CONFIG_AIC_WLAN_SUPPORT=y CONFIG_AIC8800_WLAN_SUPPORT=m CONFIG_AIC8800_BTLPM_SUPPORT=m @@ -2579,7 +2579,7 @@ CONFIG_KEYBOARD_SUN4I_LRADC=y # CONFIG_KEYBOARD_XTKBD is not set # CONFIG_KEYBOARD_CAP11XX is not set # CONFIG_KEYBOARD_BCM is not set -CONFIG_KEYBOARD_SUNXI=y +CONFIG_KEYBOARD_SUNXI=m CONFIG_INPUT_MOUSE=y CONFIG_MOUSE_PS2=y CONFIG_MOUSE_PS2_ALPS=y @@ -2766,7 +2766,7 @@ CONFIG_INPUT_MISC=y CONFIG_INPUT_AXP2101_PEK=y CONFIG_INPUT_UINPUT=y # CONFIG_INPUT_PCF8574 is not set -# CONFIG_INPUT_PWM_BEEPER is not set +CONFIG_INPUT_PWM_BEEPER=m # CONFIG_INPUT_PWM_VIBRA is not set # CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set # CONFIG_INPUT_ADXL34X is not set @@ -2782,7 +2782,7 @@ CONFIG_INPUT_SENSOR=y # CONFIG_SENSORS_SC7A20 is not set # CONFIG_SENSORS_MIR3DA is not set # CONFIG_STK3X1X is not set -CONFIG_SUNXI_GPADC=y +# CONFIG_SUNXI_GPADC is not set # # Hardware I/O ports @@ -2822,6 +2822,7 @@ CONFIG_TRACE_ROUTER=m CONFIG_TRACE_SINK=m CONFIG_NULL_TTY=m CONFIG_LDISC_AUTOLOAD=y +CONFIG_DEVGPIOMEM=y CONFIG_DEVMEM=y # @@ -3331,7 +3332,7 @@ CONFIG_HWMON=y # CONFIG_SENSORS_OCC_P8_I2C is not set # CONFIG_SENSORS_PCF8591 is not set # CONFIG_PMBUS is not set -# CONFIG_SENSORS_PWM_FAN is not set +CONFIG_SENSORS_PWM_FAN=m # CONFIG_SENSORS_SHT15 is not set # CONFIG_SENSORS_SHT21 is not set # CONFIG_SENSORS_SHT3x is not set @@ -3400,7 +3401,7 @@ CONFIG_WATCHDOG_CORE=y # CONFIG_WATCHDOG_NOWAYOUT is not set CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y CONFIG_WATCHDOG_OPEN_TIMEOUT=0 -CONFIG_WATCHDOG_SYSFS=y +# CONFIG_WATCHDOG_SYSFS is not set # # Watchdog Pretimeout Governors @@ -4350,7 +4351,8 @@ CONFIG_SND_SOC_I2C_AND_SPI=y # CONFIG_SND_SOC_PCM3060_SPI is not set # CONFIG_SND_SOC_PCM3168A_I2C is not set # CONFIG_SND_SOC_PCM3168A_SPI is not set -# CONFIG_SND_SOC_PCM512x_I2C is not set +CONFIG_SND_SOC_PCM512x=m +CONFIG_SND_SOC_PCM512x_I2C=m # CONFIG_SND_SOC_PCM512x_SPI is not set # CONFIG_SND_SOC_RK3328 is not set # CONFIG_SND_SOC_RT5616 is not set @@ -4401,7 +4403,7 @@ CONFIG_SND_SOC_I2C_AND_SPI=y # CONFIG_SND_SOC_WM8804_SPI is not set # CONFIG_SND_SOC_WM8903 is not set # CONFIG_SND_SOC_WM8904 is not set -# CONFIG_SND_SOC_WM8960 is not set +CONFIG_SND_SOC_WM8960=m # CONFIG_SND_SOC_WM8962 is not set # CONFIG_SND_SOC_WM8974 is not set # CONFIG_SND_SOC_WM8978 is not set @@ -4587,29 +4589,29 @@ CONFIG_USB_EHCI_HCD=y # CONFIG_USB_EHCI_ROOT_HUB_TT is not set CONFIG_USB_EHCI_TT_NEWSCHED=y # CONFIG_USB_EHCI_FSL is not set -CONFIG_USB_EHCI_HCD_SUNXI=m +CONFIG_USB_EHCI_HCD_SUNXI=y # CONFIG_USB_EHCI_HCD_PLATFORM is not set # CONFIG_USB_OXU210HP_HCD is not set # CONFIG_USB_ISP116X_HCD is not set # CONFIG_USB_FOTG210_HCD is not set # CONFIG_USB_MAX3421_HCD is not set CONFIG_USB_OHCI_HCD=y -CONFIG_USB_OHCI_HCD_SUNXI=m +CONFIG_USB_OHCI_HCD_SUNXI=y # CONFIG_USB_OHCI_HCD_PLATFORM is not set # CONFIG_USB_U132_HCD is not set # CONFIG_USB_SL811_HCD is not set # CONFIG_USB_R8A66597_HCD is not set # CONFIG_USB_HCD_TEST_MODE is not set -CONFIG_USB_SUNXI_HCD=m -CONFIG_USB_SUNXI_HCI=m -CONFIG_USB_SUNXI_EHCI0=m -CONFIG_USB_SUNXI_EHCI1=m -CONFIG_USB_SUNXI_EHCI2=m -CONFIG_USB_SUNXI_EHCI3=m -CONFIG_USB_SUNXI_OHCI0=m -CONFIG_USB_SUNXI_OHCI1=m -CONFIG_USB_SUNXI_OHCI2=m -CONFIG_USB_SUNXI_OHCI3=m +CONFIG_USB_SUNXI_HCD=y +CONFIG_USB_SUNXI_HCI=y +CONFIG_USB_SUNXI_EHCI0=y +CONFIG_USB_SUNXI_EHCI1=y +CONFIG_USB_SUNXI_EHCI2=y +CONFIG_USB_SUNXI_EHCI3=y +CONFIG_USB_SUNXI_OHCI0=y +CONFIG_USB_SUNXI_OHCI1=y +CONFIG_USB_SUNXI_OHCI2=y +CONFIG_USB_SUNXI_OHCI3=y # # USB Device Class drivers @@ -5585,7 +5587,7 @@ CONFIG_QUOTA_TREE=y # CONFIG_QFMT_V1 is not set CONFIG_QFMT_V2=y CONFIG_QUOTACTL=y -CONFIG_AUTOFS4_FS=y +# CONFIG_AUTOFS4_FS is not set CONFIG_AUTOFS_FS=y CONFIG_FUSE_FS=y # CONFIG_CUSE is not set @@ -6310,7 +6312,6 @@ CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y CONFIG_HAVE_ARCH_KASAN=y CONFIG_HAVE_ARCH_KASAN_SW_TAGS=y CONFIG_CC_HAS_KASAN_GENERIC=y -CONFIG_CC_HAS_KASAN_SW_TAGS=y # CONFIG_KASAN is not set CONFIG_KASAN_STACK=1 CONFIG_HAVE_ARCH_KFENCE=y @@ -6322,16 +6323,20 @@ CONFIG_KFENCE_STRESS_TEST_FAULTS=0 # end of Memory Debugging CONFIG_ARCH_HAS_KCOV=y -CONFIG_CC_HAS_SANCOV_TRACE_PC=y -# CONFIG_KCOV is not set # CONFIG_DEBUG_SHIRQ is not set # # Debug Lockups and Hangs # -# CONFIG_SOFTLOCKUP_DETECTOR is not set -# CONFIG_DETECT_HUNG_TASK is not set -# CONFIG_WQ_WATCHDOG is not set +CONFIG_LOCKUP_DETECTOR=y +CONFIG_SOFTLOCKUP_DETECTOR=y +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=1 +CONFIG_DETECT_HUNG_TASK=y +CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 +CONFIG_BOOTPARAM_HUNG_TASK_PANIC=y +CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=1 +CONFIG_WQ_WATCHDOG=y # end of Debug Lockups and Hangs # CONFIG_PANIC_ON_OOPS is not set @@ -6377,8 +6382,8 @@ CONFIG_DEBUG_LIST=y # # CONFIG_RCU_PERF_TEST is not set # CONFIG_RCU_TORTURE_TEST is not set -CONFIG_RCU_CPU_STALL_TIMEOUT=60 -CONFIG_RCU_TRACE=y +CONFIG_RCU_CPU_STALL_TIMEOUT=21 +# CONFIG_RCU_TRACE is not set # CONFIG_RCU_EQS_DEBUG is not set # end of RCU Debugging @@ -6395,7 +6400,6 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y CONFIG_HAVE_SYSCALL_TRACEPOINTS=y CONFIG_HAVE_C_RECORDMCOUNT=y -CONFIG_TRACE_CLOCK=y CONFIG_TRACING_SUPPORT=y # CONFIG_FTRACE is not set # CONFIG_KUNIT is not set diff --git a/external/config/sources/families/sun50iw9.conf b/external/config/sources/families/sun50iw9.conf index cb6ade3..c6c08ad 100644 --- a/external/config/sources/families/sun50iw9.conf +++ b/external/config/sources/families/sun50iw9.conf @@ -31,7 +31,7 @@ case $BRANCH in current) - OVERLAY_PREFIX='sun50i-h616' + OVERLAY_PREFIX=${BOARD} KERNELBRANCH="branch:sun50iw9-5.4" #BOOTBRANCH='branch:u-boot-2018' [[ $BOARD =~ bpi-m4berry|bpi-m4zero ]] && BOOTBRANCH='branch:v2018.05-sunxi' diff --git a/external/packages/pack-uboot/sun50iw9/bin/dts/bpi-m4berry-u-boot-current.dts b/external/packages/pack-uboot/sun50iw9/bin/dts/bpi-m4berry-u-boot-current.dts index 3844493..2a7d0e0 100755 --- a/external/packages/pack-uboot/sun50iw9/bin/dts/bpi-m4berry-u-boot-current.dts +++ b/external/packages/pack-uboot/sun50iw9/bin/dts/bpi-m4berry-u-boot-current.dts @@ -4,7 +4,7 @@ interrupt-parent = <0x1>; #address-cells = <0x2>; #size-cells = <0x2>; - model = "Banana Pi M4 Berry"; + model = "Bananapi BPI-M4Berry"; compatible = "allwinner,h616", "arm,sun50iw9p1"; aliases { @@ -32,7 +32,6 @@ ve0 = "/soc@3000000/ve@1c0e000"; ve1 = "/soc@3000000/ve1@1c0e000"; disp = "/uboot_disp@1000000"; - lcd0 = "/soc@3000000/lcd0@1c0c000"; pmu0 = "/soc@3000000/twi@7081400/pmu"; standby_param = "/soc@3000000/twi@7081400/pmu/standby_param"; hdmi = "/uboot_hdmi@6000000"; @@ -89,7 +88,7 @@ dynamic-power-coefficient = <0xca>; #cooling-cells = <0x2>; cpu-supply = <0x5>; - phandle = <0x76>; + phandle = <0x74>; }; cpu@1 { @@ -148,7 +147,7 @@ nvmem-cells = <0x6>; nvmem-cell-names = "speed"; opp-shared; - phandle = <0x3>; + phandle = <0x03>; opp@480000000 { opp-hz = <0x0 0x1c9c3800>; @@ -157,16 +156,19 @@ opp-microvolt-a2 = <0xdbba0>; opp-microvolt-a3 = <0xdbba0>; opp-microvolt-a4 = <0xdbba0>; + opp-microvolt-a5 = <0xdbba0>; + opp-microvolt-a6 = <0xdbba0>; clock-latency-ns = <0x3b9b0>; - opp-supported-hw = <0x1f>; + opp-supported-hw = <0x7f>; }; opp@600000000 { opp-hz = <0x0 0x23c34600>; opp-microvolt-a1 = <0xdbba0>; opp-microvolt-a4 = <0xdbba0>; + opp-microvolt-a6 = <0xdbba0>; clock-latency-ns = <0x3b9b0>; - opp-supported-hw = <0x12>; + opp-supported-hw = <0x52>; }; opp@720000000 { @@ -174,93 +176,118 @@ opp-microvolt-a0 = <0xdbba0>; opp-microvolt-a2 = <0xdbba0>; opp-microvolt-a3 = <0xdbba0>; + opp-microvolt-a5 = <0xe7ef0>; clock-latency-ns = <0x3b9b0>; - opp-supported-hw = <0xd>; + opp-supported-hw = <0x2d>; }; opp@792000000 { opp-hz = <0x0 0x2f34f600>; opp-microvolt-a1 = <0xdbba0>; opp-microvolt-a4 = <0xe57e0>; + opp-microvolt-a6 = <0xe57e0>; clock-latency-ns = <0x3b9b0>; - opp-supported-hw = <0x12>; + opp-supported-hw = <0x52>; }; opp@936000000 { opp-hz = <0x0 0x37ca3a00>; - opp-microvolt-a0 = <0xdbba0>; opp-microvolt-a2 = <0xdbba0>; opp-microvolt-a3 = <0xdbba0>; + opp-microvolt-a5 = <0xe7ef0>; clock-latency-ns = <0x3b9b0>; - opp-supported-hw = <0xd>; + opp-supported-hw = <0x2c>; }; opp@1008000000 { opp-hz = <0x0 0x3c14dc00>; - opp-microvolt-a0 = <0xe7ef0>; opp-microvolt-a1 = <0xe57e0>; opp-microvolt-a2 = <0xe7ef0>; opp-microvolt-a3 = <0xe7ef0>; opp-microvolt-a4 = <0xf9060>; + opp-microvolt-a5 = <0xf4240>; + opp-microvolt-a6 = <0xf9060>; clock-latency-ns = <0x3b9b0>; - opp-supported-hw = <0x1f>; + opp-supported-hw = <0x7e>; + }; + + opp@1032000000 { + opp-hz = <0x0 0x3d831200>; + opp-microvolt-a0 = <0xdbba0>; + clock-latency-ns = <0x3b9b0>; + opp-supported-hw = <0x01>; }; opp@1104000000 { opp-hz = <0x0 0x41cdb400>; - opp-microvolt-a0 = <0xf4240>; + opp-microvolt-a0 = <0xe7ef0>; opp-microvolt-a2 = <0xf4240>; opp-microvolt-a3 = <0xf4240>; + opp-microvolt-a5 = <0x100590>; clock-latency-ns = <0x3b9b0>; - opp-supported-hw = <0xd>; + opp-supported-hw = <0x2d>; }; opp@1200000000 { opp-hz = <0x0 0x47868c00>; - opp-microvolt-a0 = <0x100590>; + opp-microvolt-a0 = <0xf4240>; opp-microvolt-a1 = <0xf9060>; opp-microvolt-a2 = <0x100590>; opp-microvolt-a3 = <0x100590>; opp-microvolt-a4 = <0x10c8e0>; + opp-microvolt-a5 = <0x10c8e0>; + opp-microvolt-a6 = <0x10c8e0>; clock-latency-ns = <0x3b9b0>; - opp-supported-hw = <0x1f>; + opp-supported-hw = <0x7f>; + }; + + opp@1296000000 { + opp-hz = <0x0 0x4d3f6400>; + opp-microvolt-a0 = <0x100590>; + clock-latency-ns = <0x3b9b0>; + opp-supported-hw = <0x01>; }; opp@1320000000 { opp-hz = <0x0 0x4ead9a00>; - opp-microvolt-a0 = <0x10c8e0>; opp-microvolt-a2 = <0x10c8e0>; opp-microvolt-a3 = <0x10c8e0>; - opp-microvolt-a4 = <0x111700>; + opp-microvolt-a5 = <0x118c30>; clock-latency-ns = <0x3b9b0>; - opp-supported-hw = <0x1d>; + opp-supported-hw = <0x2c>; + }; + + opp@1344000000 { + opp-hz = <0x0 0x501bd000>; + opp-microvolt-a4 = <0x111700>; + opp-microvolt-a6 = <0x111700>; + clock-latency-ns = <0x3b9b0>; + opp-supported-hw = <0x50>; }; opp@1416000000 { opp-hz = <0x0 0x54667200>; - opp-microvolt-a0 = <0x118c30>; + opp-microvolt-a0 = <0x10c8e0>; opp-microvolt-a2 = <0x118c30>; - opp-microvolt-a3 = <0xb10080>; + opp-microvolt-a3 = <0x11b340>; clock-latency-ns = <0x3b9b0>; - opp-supported-hw = <0xd>; + opp-supported-hw = <0x0d>; }; opp@1512000000 { opp-hz = <0x0 0x5a1f4a00>; opp-microvolt-a0 = <0x118c30>; - opp-microvolt-a1 = <0x118c30>; - opp-microvolt-a2 = <0x118c30>; - opp-microvolt-a3 = <0x118c30>; - opp-microvolt-a4 = <0x118c30>; + opp-microvolt-a1 = <0x10c8e0>; + opp-microvolt-a3 = <0x10c8e0>; clock-latency-ns = <0x3b9b0>; - opp-supported-hw = <0x1f>; + opp-supported-hw = <0x0b>; }; }; dump-reg@20000 { compatible = "allwinner,sunxi-dump-reg"; reg = <0x0 0x20000 0x0 0x4>; - phandle = <0x78>; + phandle = <0x79>; }; psci { @@ -274,7 +301,7 @@ clock-frequency = <0xf42400>; clock-accuracy = <0x11e1a300>; clock-output-names = "iosc"; - phandle = <0xc>; + phandle = <0x0c>; }; dcxo24M-clk { @@ -282,7 +309,7 @@ compatible = "fixed-clock"; clock-frequency = <0x16e3600>; clock-output-names = "dcxo24M"; - phandle = <0xa>; + phandle = <0x0a>; }; osc32k-clk { @@ -290,7 +317,7 @@ compatible = "fixed-clock"; clock-frequency = <0x8000>; clock-output-names = "osc32k"; - phandle = <0xb>; + phandle = <0x0b>; }; interrupt-controller@3021000 { @@ -301,7 +328,7 @@ reg = <0x0 0x3021000 0x0 0x1000 0x0 0x3022000 0x0 0x2000 0x0 0x3024000 0x0 0x2000 0x0 0x3026000 0x0 0x2000>; interrupts = <0x1 0x9 0xf04>; interrupt-parent = <0x7>; - phandle = <0x7>; + phandle = <0x07>; }; interrupt-controller@0 { @@ -309,7 +336,7 @@ interrupt-controller; #interrupt-cells = <0x3>; interrupt-parent = <0x7>; - phandle = <0x1>; + phandle = <0x01>; }; timer_arch { @@ -337,15 +364,21 @@ }; dram { - phandle = <0x79>; + phandle = <0x7a>; }; + gpiomem { + compatible = "allwinner, gpiomem"; + reg = <0x0 0x0300b000 0x0 0x400>; /* GPIO banks */ + status = "okay"; + }; + soc@3000000 { compatible = "simple-bus"; #address-cells = <0x2>; #size-cells = <0x2>; ranges; - phandle = <0x7a>; + phandle = <0x7b>; disp@1000000 { compatible = "allwinner,sunxi-disp"; @@ -402,7 +435,7 @@ fb1_height = <0x0>; chn_cfg_mode = <0x1>; disp_para_zone = <0x1>; - phandle = <0x7b>; + phandle = <0x7c>; }; ve@1c0e000 { @@ -413,13 +446,13 @@ clock-names = "bus_ve", "ve", "mbus_ve"; resets = <0x2 0x6>; iommus = <0x8 0x3 0x1>; - phandle = <0x7c>; + phandle = <0x7d>; }; ve1@1c0e000 { compatible = "allwinner,sunxi-cedar-ve"; iommus = <0x8 0x2 0x1>; - phandle = <0x7d>; + phandle = <0x7e>; }; g2d@1480000 { @@ -430,7 +463,7 @@ clock-names = "bus", "g2d", "mbus_g2d"; resets = <0x2 0x3>; iommus = <0x8 0x6 0x1>; - phandle = <0x7e>; + phandle = <0x7f>; }; deinterlace@1420000 { @@ -448,7 +481,7 @@ assigned-clocks = <0x2 0x1f>; assigned-clock-parents = <0x2 0x5>; assigned-clock-rates = <0x11e1a300>; - phandle = <0x7f>; + phandle = <0x80>; }; gpu@1800000 { @@ -464,7 +497,7 @@ gpu_idle = <0x1>; dvfs_status = <0x1>; operating-points = <0x927c0 0xe7ef0 0x8ca00 0xe7ef0 0x83d60 0xe7ef0 0x7b0c0 0xe7ef0 0x6f540 0xe7ef0 0x668a0 0xe7ef0 0x5dc00 0xe7ef0 0x57e40 0xe7ef0 0x52080 0xe7ef0 0x4ab50 0xe7ef0>; - phandle = <0x77>; + phandle = <0x75>; ipa_dvfs { compatible = "arm,mali-simple-power-model"; @@ -474,7 +507,7 @@ thermal-zone = "gpu_thermal_zone"; ss-coefficient = <0x24>; ff-coefficient = <0x123>; - phandle = <0x80>; + phandle = <0x81>; }; }; @@ -482,41 +515,7 @@ compatible = "allwinner,sunxi-lcd0"; reg = <0x0 0x1c0c000 0x0 0x0>; pinctrl-names = "active", "sleep"; - lcd_used = <0x0>; - lcd_driver_name = "default_lcd"; - lcd_backlight = <0x32>; - lcd_if = <0x0>; - lcd_x = <0x500>; - lcd_y = <0x2d0>; - lcd_width = <0x96>; - lcd_height = <0x5e>; - lcd_dclk_freq = <0x46>; - lcd_pwm_used = <0x0>; - lcd_pwm_ch = <0x0>; - lcd_pwm_freq = <0xc350>; - lcd_pwm_pol = <0x0>; - lcd_pwm_max_limit = <0xff>; - lcd_hbp = <0x14>; - lcd_ht = <0x58a>; - lcd_hspw = <0xa>; - lcd_vbp = <0xa>; - lcd_vt = <0x32e>; - lcd_vspw = <0x5>; - lcd_lvds_if = <0x0>; - lcd_lvds_colordepth = <0x0>; - lcd_lvds_mode = <0x0>; - lcd_frm = <0x0>; - lcd_hv_clk_phase = <0x0>; - lcd_hv_sync_polarity = <0x0>; - lcd_gamma_en = <0x0>; - lcd_bright_curve_en = <0x0>; - lcd_cmap_en = <0x0>; - deu_mode = <0x0>; - lcdgamma4iep = <0x16>; - smart_color = <0x5a>; - lcd_pin_power = "bldo1"; - lcd_power = "dc1sw"; - phandle = <0x81>; + phandle = <0x82>; }; tv0@6520000 { @@ -536,7 +535,7 @@ interface = <0x1>; dac_type0 = <0x0>; dac_src0 = <0x0>; - phandle = <0x82>; + phandle = <0x83>; }; ccu@3001000 { @@ -568,7 +567,7 @@ clocks = <0xd 0x9 0xe 0x0>; clock-names = "r-ahb-rtc", "rtc-1k"; gpr_cur_pos = <0x6>; - phandle = <0x83>; + phandle = <0x84>; }; r_ccu@7010000 { @@ -578,7 +577,7 @@ clock-names = "hosc", "losc", "iosc", "pll-periph"; #clock-cells = <0x1>; #reset-cells = <0x1>; - phandle = <0xd>; + phandle = <0x0d>; }; dma-controller@3002000 { @@ -597,7 +596,7 @@ sram_ctrl@3000000 { compatible = "allwinner,sram_ctrl"; reg = <0x0 0x3000000 0x0 0x16c>; - phandle = <0x84>; + phandle = <0x85>; soc_ver { offset = <0x24>; @@ -641,7 +640,7 @@ i-cpu@28 { reg = <0x28 0x2>; - phandle = <0x85>; + phandle = <0x86>; }; secure_status { @@ -672,7 +671,7 @@ clocks = <0x2 0x27 0x2 0x26 0x2 0x34 0x2 0x5>; clock-names = "bus_ce", "ce_clk", "mbus_ce", "pll_periph0_2x"; resets = <0x2 0x5>; - phandle = <0x86>; + phandle = <0x87>; }; timer@3009000 { @@ -682,14 +681,14 @@ interrupt-parent = <0x7>; interrupts = <0x0 0x30 0x4>; clocks = <0xa>; - phandle = <0x87>; + phandle = <0x88>; }; watchdog@30090a0 { compatible = "allwinner,sun6i-a31-wdt"; reg = <0x0 0x30090a0 0x0 0x20>; interrupts = <0x0 0x32 0x4>; - phandle = <0x88>; + phandle = <0x89>; }; pwm: pwm@300a000 { @@ -701,6 +700,7 @@ pwm-base = <0>; sunxi-pwms = <&pwm0>, <&pwm1>, <&pwm2>, <&pwm3>, <&pwm4>, <&pwm5>; + #pwm-cells = <3>; status = "okay"; }; @@ -708,9 +708,6 @@ compatible = "allwinner,sunxi-pwm0"; reg = <0x0 0x0300a010 0x0 0x4>; reg_base = <0x0300a000>; - pinctrl-names = "active", "sleep"; - pinctrl-0 = <&pwm0_pin_a>; - pinctrl-1 = <&pwm0_pin_b>; status = "disabled"; }; @@ -719,8 +716,8 @@ reg = <0x0 0x0300a011 0x0 0x4>; reg_base = <0x0300a000>; pinctrl-names = "active", "sleep"; - pinctrl-0 = <&pwm1_ph_pin_a>; - pinctrl-1 = <&pwm1_ph_pin_b>; + pinctrl-0 = <&pwm1_pin_a>; + pinctrl-1 = <&pwm1_pin_b>; status = "disabled"; }; @@ -729,8 +726,8 @@ reg = <0x0 0x0300a012 0x0 0x4>; reg_base = <0x0300a000>; pinctrl-names = "active", "sleep"; - pinctrl-0 = <&pwm2_ph_pin_a>; - pinctrl-1 = <&pwm2_ph_pin_b>; + pinctrl-0 = <&pwm2_pin_a>; + pinctrl-1 = <&pwm2_pin_b>; status = "disabled"; }; @@ -739,8 +736,8 @@ reg = <0x0 0x0300a013 0x0 0x4>; reg_base = <0x0300a000>; pinctrl-names = "active", "sleep"; - pinctrl-0 = <&pwm3_ph_pin_a>; - pinctrl-1 = <&pwm3_ph_pin_b>; + pinctrl-0 = <&pwm3_pin_a>; + pinctrl-1 = <&pwm3_pin_b>; status = "disabled"; }; @@ -749,8 +746,8 @@ reg = <0x0 0x0300a014 0x0 0x4>; reg_base = <0x0300a000>; pinctrl-names = "active", "sleep"; - pinctrl-0 = <&pwm4_ph_pin_a>; - pinctrl-1 = <&pwm4_ph_pin_b>; + pinctrl-0 = <&pwm4_pin_a>; + pinctrl-1 = <&pwm4_pin_b>; status = "disabled"; }; @@ -758,10 +755,7 @@ compatible = "allwinner,sunxi-pwm5"; reg = <0x0 0x0300a015 0x0 0x4>; reg_base = <0x0300a000>; - pinctrl-names = "active", "sleep"; - pinctrl-0 = <&pwm5_pin_a>; - pinctrl-1 = <&pwm5_pin_b>; - status = "okay"; + status = "disabled"; }; ac200 { @@ -772,7 +766,7 @@ tv_twi_id = <0x3>; tv_twi_addr = <0x10>; tv_pwm_ch = <0x5>; - phandle = <0x8a>; + phandle = <0x8b>; }; pinctrl@300b000 { @@ -790,14 +784,14 @@ vcc-pg-supply = <0x17>; phandle = <0x23>; - uart0_ph_pins_a: uart0-ph-pins { + uart0-ph-pins { pins = "PH0", "PH1"; function = "uart0"; bias-pull-up; phandle = <0x29>; }; - uart0_ph_pins_b: uart0-ph-sleep { + uart0-ph-sleep { pins = "PH0", "PH1"; function = "gpio_in"; phandle = <0x2a>; @@ -915,67 +909,71 @@ phandle = <0x28>; }; - uart1_ph_pins_a: uart1-ph-pins { + uart1-ph-pins { pins = "PG6", "PG7", "PG8", "PG9"; function = "uart1"; phandle = <0x2b>; }; - uart1_ph_pins_b: uart1-ph-sleep { + uart1-ph-sleep { pins = "PG6", "PG7", "PG8", "PG9"; function = "gpio_in"; phandle = <0x2c>; }; - uart2_ph_pins_a: uart2-ph-pins { - pins = "PH5", "PH6"; + uart2-ph-pins { + pins = "PH5", "PH6", "PH7", "PH8"; function = "uart2"; phandle = <0x2d>; }; - uart2_pi_pins_a: uart2-pi-pins { - pins = "PI5", "PI6"; - function = "uart2"; - }; - - uart2_pi_pins_b: uart2-pi-sleep { - pins = "PI5", "PI6"; - function = "gpio_in"; - }; - - uart2_ph_pins_b: uart2-ph-sleep { - pins = "PH5", "PH6"; + uart2-ph-sleep { + pins = "PH5", "PH6", "PH7", "PH8"; function = "gpio_in"; phandle = <0x2e>; }; - uart3_pi_pins_a: uart3-pi-pins { - pins = "PI9", "PI10"; + uart2-pg-pins { + pins = "PG15", "PG16", "PG17", "PG18"; + function = "uart2"; + }; + + uart2-pg-sleep { + pins = "PG15", "PG16", "PG17", "PG18"; + function = "gpio_in"; + }; + + uart3-pi-pins { + pins = "PI9", "PI10", "PI11", "PI12"; function = "uart3"; + phandle = <0x2f>; }; - uart3_pi_pins_b: uart3-pi-sleep { - pins = "PI9", "PI10"; + uart3-pi-sleep { + pins = "PI9", "PI10", "PI11", "PI12"; function = "gpio_in"; + phandle = <0x30>; }; - uart4_pi_pins_a: uart4-pi-pins { - pins = "PI13", "PI14"; + uart4-pi-pins { + pins = "PI13", "PI14", "PI15", "PI16"; function = "uart4"; + phandle = <0x31>; }; - uart4_pi_pins_b: uart4-pi-sleep { - pins = "PI13", "PI14"; + uart4-pi-sleep { + pins = "PI13", "PI14", "PI15", "PI16"; function = "gpio_in"; + phandle = <0x32>; }; - uart5_ph_pins_a: uart5-ph-pins { + uart5-ph-pins { pins = "PH2", "PH3"; function = "uart5"; phandle = <0x33>; }; - uart5_ph_pins_b: uart5-ph-sleep { + uart5-ph-sleep { pins = "PH2", "PH3"; function = "gpio_in"; phandle = <0x34>; @@ -986,53 +984,44 @@ function = "ir"; drive-strength = <0xa>; bias-pull-up; - phandle = <0x64>; + phandle = <0x62>; }; s_cir0@1 { pins = "PH10"; function = "gpio_in"; - phandle = <0x65>; + phandle = <0x63>; }; - twi0_pi_pins_a: twi0-pi-pins-a@0 { + twi0@0 { pins = "PI5", "PI6"; function = "twi0"; drive-strength = <0xa>; bias-pull-up; + phandle = <0x36>; }; - twi0_pi_pins_b: twi0-pi-pins-b@1 { + twi0@1 { pins = "PI5", "PI6"; function = "gpio_in"; + phandle = <0x37>; }; - twi1_ph_pins_a: twi1-ph-pins-a@0 { + twi1@0 { pins = "PH0", "PH1"; function = "twi1"; drive-strength = <0xa>; bias-pull-up; + phandle = <0x38>; }; - twi1_ph_pins_b: twi1-ph-pins-b@0 { + twi1@1 { pins = "PH0", "PH1"; function = "gpio_in"; phandle = <0x39>; }; - twi1_pi_pins_a: twi1-pi-pins-a@0 { - pins = "PI7", "PI8"; - function = "twi1"; - drive-strength = <0xa>; - bias-pull-up; - }; - - twi1_pi_pins_b: twi1-pi-pins-b@0 { - pins = "PI7", "PI8"; - function = "gpio_in"; - }; - - twi2_ph_pins_a: twi2-ph-pins-a@0 { + twi2@0 { pins = "PH2", "PH3"; function = "twi2"; drive-strength = <0xa>; @@ -1040,25 +1029,13 @@ phandle = <0x3a>; }; - twi2_ph_pins_b: twi2-ph-pins-b@0 { + twi2@1 { pins = "PH2", "PH3"; function = "gpio_in"; phandle = <0x3b>; }; - twi2_pi_pins_a: twi2-pi-pins-a@0 { - pins = "PI9", "PI10"; - function = "twi2"; - drive-strength = <0xa>; - bias-pull-up; - }; - - twi2_pi_pins_b: twi2-pi-pins-b@0 { - pins = "PI9", "PI10"; - function = "gpio_in"; - }; - - twi3_ph_pins_a: twi3-pg-pins-a@0 { + twi3@0 { pins = "PG17", "PG18"; function = "twi3"; drive-strength = <0xa>; @@ -1066,22 +1043,22 @@ phandle = <0x3c>; }; - twi3_ph_pins_b: twi3-pg-pins-b@0 { + twi3@1 { pins = "PG17", "PG18"; function = "gpio_in"; phandle = <0x3d>; }; - twi4_ph_pins_a: twi4-ph-pins-a@0 { - pins = "PH6", "PH7"; + twi4@0 { + pins = "PG15", "PG16"; function = "twi4"; drive-strength = <0xa>; bias-pull-up; phandle = <0x3e>; }; - twi4_ph_pins_b: twi4-ph-pins-b@0 { - pins = "PH6", "PH7"; + twi4@1 { + pins = "PG15", "PG16"; function = "gpio_in"; phandle = <0x3f>; }; @@ -1108,30 +1085,26 @@ phandle = <0x44>; }; - spi1_pins_a: spi1-pins-a { + spi1@0 { pins = "PH6", "PH7", "PH8"; function = "spi1"; drive-strength = <0x14>; + phandle = <0x45>; }; - spi1_cs0_pin: spi1-cs0-pin { - pins = "PH5"; + spi1@1 { + pins = "PH5", "PH9"; function = "spi1"; drive-strength = <0x14>; bias-pull-up; + phandle = <0x46>; }; - spi1_cs1_pin: spi1-cs1-pin { - pins = "PH9"; - function = "spi1"; - drive-strength = <0x14>; - bias-pull-up; - }; - - spi1_pins_b: spi1-pins-b { - pins = "PH6", "PH7", "PH8"; + spi1@2 { + pins = "PH5", "PH6", "PH7", "PH8", "PH9"; function = "gpio_in"; drive-strength = <0x14>; + phandle = <0x47>; }; gmac0@0 { @@ -1139,153 +1112,63 @@ function = "gmac0"; drive-strength = <0x1e>; bias-pull-up; - phandle = <0x5e>; + phandle = <0x5f>; }; gmac0@1 { pins = "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15"; function = "gpio_in"; - phandle = <0x5f>; - }; - - gmac1@0 { - allwinner,pins = "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9"; - allwinner,function = "gmac1"; - allwinner,muxsel = <0x2>; - allwinner,drive = <0x3>; - allwinner,pull = <0x0>; phandle = <0x60>; }; - gmac1@1 { - allwinner,pins = "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9"; - allwinner,function = "gpio_in"; - allwinner,muxsel = <0x0>; - allwinner,drive = <0x3>; - allwinner,pull = <0x0>; - phandle = <0x61>; - }; - - pwm0_pin_a: pwm0-pin-a@0 { - pins = "PD28"; - function = "pwm0"; - drive-strength = <10>; - bias-pull-up; - }; - - pwm0_pin_b: pwm0-pin-b@0 { - pins = "PD28"; - function = "gpio_in"; - }; - - pwm1_ph_pin_a: pwm1-ph-pin-a@0 { - pins = "PH3"; + pwm1_pin_a: pwm1@0 { + pins = "PG19"; function = "pwm1"; drive-strength = <10>; bias-pull-up; }; - pwm1_ph_pin_b: pwm1-ph-pin-b@0 { - pins = "PH3"; + pwm1_pin_b: pwm1@1 { + pins = "PG19"; function = "gpio_in"; }; - pwm2_ph_pin_a: pwm2-ph-pin-a@0 { + pwm2_pin_a: pwm2@0 { pins = "PH2"; function = "pwm2"; drive-strength = <10>; bias-pull-up; }; - pwm2_ph_pin_b: pwm2-ph-pin-b@0 { + pwm2_pin_b: pwm2@1 { pins = "PH2"; function = "gpio_in"; }; - pwm3_ph_pin_a: pwm3-ph-pin-a@0 { + pwm3_pin_a: pwm3@0 { pins = "PH0"; function = "pwm3"; drive-strength = <10>; bias-pull-up; }; - pwm3_ph_pin_b: pwm3-ph-pin-b@0 { + pwm3_pin_b: pwm3@1 { pins = "PH0"; function = "gpio_in"; }; - pwm4_ph_pin_a: pwm4-ph-pin-a@0 { + pwm4_pin_a: pwm4@0 { pins = "PH1"; function = "pwm4"; drive-strength = <10>; bias-pull-up; }; - pwm4_ph_pin_b: pwm4-ph-pin-b@0 { + pwm4_pin_b: pwm4@1 { pins = "PH1"; function = "gpio_in"; }; - pwm1_pi_pin_a: pwm1-pi-pin-a@0 { - pins = "PI11"; - function = "pwm1"; - drive-strength = <10>; - bias-pull-up; - }; - - pwm1_pi_pin_b: pwm1-pi-pin-b@0 { - pins = "PI11"; - function = "gpio_in"; - }; - - pwm2_pi_pin_a: pwm2-pi-pin-a@0 { - pins = "PI12"; - function = "pwm2"; - drive-strength = <10>; - bias-pull-up; - }; - - pwm2_pi_pin_b: pwm2-pi-pin-b@0 { - pins = "PI12"; - function = "gpio_in"; - }; - - pwm3_pi_pin_a: pwm3-pi-pin-a@0 { - pins = "PI13"; - function = "pwm3"; - drive-strength = <10>; - bias-pull-up; - }; - - pwm3_pi_pin_b: pwm3-pi-pin-b@0 { - pins = "PI13"; - function = "gpio_in"; - }; - - pwm4_pi_pin_a: pwm4-pi-pin-a@0 { - pins = "PI14"; - function = "pwm4"; - drive-strength = <10>; - bias-pull-up; - }; - - pwm4_pi_pin_b: pwm4-pi-pin-b@0 { - pins = "PI14"; - function = "gpio_in"; - }; - - pwm5_pin_a: pwm5@0 { - pins = "PA12"; - function = "pwm5"; - drive-strength = <10>; - bias-pull-up; - }; - - pwm5_pin_b: pwm5@1 { - pins = "PA12"; - function = "gpio_in"; - }; - spdif@0 { pins = "PH4"; function = "spdif"; @@ -1303,23 +1186,39 @@ }; ahub_daudio0@0 { - pins = "PA6", "PA7", "PA8", "PA9"; + pins = "PI0","PI1","PI2"; function = "i2s0"; drive-strength = <0x14>; bias-disable; - phandle = <0x8b>; - }; - - ahub_daudio0_sleep@0 { - pins = "PA6", "PA7", "PA8", "PA9"; - function = "gpio_in"; - drive-strength = <0x14>; - bias-disable; phandle = <0x8c>; }; + ahub_daudio0@1 { + pins = "PI3"; + function = "i2s0_dout0"; + drive-strength = <0x14>; + bias-disable; + phandle = <0x8d>; + }; + + ahub_daudio0@2 { + pins = "PI4"; + function = "i2s0_din0"; + drive-strength = <0x14>; + bias-disable; + phandle = <0x8e>; + }; + + ahub_daudio0_sleep@0 { + pins = "PI0", "PI1", "PI2", "PI3", "PI4"; + function = "gpio_in"; + drive-strength = <0x14>; + bias-disable; + phandle = <0x8f>; + }; + ahub_daudio2@0 { - pins = "PG11", "PG12"; + pins = "PG10", "PG11", "PG12"; function = "i2s2"; drive-strength = <0x14>; bias-disable; @@ -1343,7 +1242,7 @@ }; ahub_daudio2_sleep@0 { - pins = "PG11", "PG12", "PG13", "PG14"; + pins = "PG10", "PG11", "PG12", "PG13", "PG14"; function = "gpio_in"; drive-strength = <0x14>; bias-disable; @@ -1355,7 +1254,7 @@ function = "i2s3"; drive-strength = <0x14>; bias-disable; - phandle = <0x8d>; + phandle = <0x90>; }; ahub_daudio3@1 { @@ -1363,7 +1262,7 @@ function = "i2s3_dout0"; drive-strength = <0x14>; bias-disable; - phandle = <0x8e>; + phandle = <0x91>; }; ahub_daudio3@2 { @@ -1371,7 +1270,7 @@ function = "i2s3_din0"; drive-strength = <0x14>; bias-disable; - phandle = <0x8f>; + phandle = <0x92>; }; ahub_daudio3_sleep@0 { @@ -1379,37 +1278,27 @@ function = "gpio_in"; drive-strength = <0x14>; bias-disable; - phandle = <0x90>; + phandle = <0x93>; }; standby@0 { - allwinner,pins = "PH6"; - allwinner,function = "gpio_out"; - allwinner,muxsel = <0x1>; - allwinner,data = <0x1>; - allwinner,drive = <0x0>; - allwinner,pull = <0x0>; - phandle = <0x91>; - }; - - standby@1 { - allwinner,pins = "PH7"; + allwinner,pins = "PC12"; allwinner,function = "gpio_out"; allwinner,muxsel = <0x1>; allwinner,data = <0x0>; allwinner,drive = <0x2>; allwinner,pull = <0x2>; - phandle = <0x92>; + phandle = <0x76>; }; - standby@2 { - allwinner,pins = "PG16"; + standby@1 { + allwinner,pins = "PC7"; allwinner,function = "gpio_in"; allwinner,muxsel = <0x0>; allwinner,data = <0x0>; allwinner,drive = <0x0>; - allwinner,pull = <0x0>; - phandle = <0x93>; + allwinner,pull = <0x1>; + phandle = <0x77>; }; }; @@ -1448,6 +1337,7 @@ phandle = <0x8>; }; + /* emmc */ sdmmc@4022000 { compatible = "allwinner,sunxi-mmc-v4p6x"; device_type = "sdc2"; @@ -1494,6 +1384,7 @@ phandle = <0x95>; }; + /* sd */ sdmmc@4020000 { compatible = "allwinner,sunxi-mmc-v4p1x"; device_type = "sdc0"; @@ -1525,6 +1416,7 @@ phandle = <0x96>; }; + /* sdio */ sdmmc@4021000 { compatible = "allwinner,sunxi-mmc-v4p1x"; device_type = "sdc1"; @@ -1556,6 +1448,7 @@ sunxi-dis-signal-vol-sw; cap-sdio-irq; ignore-pm-notify; + vmmc-supply = <0x1c>; vqmmc-supply = <0x1d>; phandle = <0x97>; }; @@ -1595,7 +1488,7 @@ phandle = <0x99>; }; - uart0: uart@5000000 { + uart@5000000 { compatible = "allwinner,sun50i-uart"; reg = <0x0 0x5000000 0x0 0x400>; interrupts = <0x0 0x0 0x4>; @@ -1610,7 +1503,7 @@ phandle = <0x9a>; }; - uart1: uart@5000400 { + uart@5000400 { compatible = "allwinner,sun50i-uart"; reg = <0x0 0x5000400 0x0 0x400>; interrupts = <0x0 0x1 0x4>; @@ -1619,7 +1512,7 @@ uart1_port = <0x1>; uart1_type = <0x4>; sunxi,uart-fifosize = <0x100>; - status = "okay"; + status = "disabled"; pinctrl-names = "default", "sleep"; pinctrl-0 = <0x2b>; pinctrl-1 = <0x2c>; @@ -1627,7 +1520,7 @@ phandle = <0x9b>; }; - uart2: uart@5000800 { + uart@5000800 { compatible = "allwinner,sun50i-uart"; reg = <0x0 0x5000800 0x0 0x400>; interrupts = <0x0 0x2 0x4>; @@ -1643,7 +1536,7 @@ phandle = <0x9c>; }; - uart3: uart@5000c00 { + uart@5000c00 { compatible = "allwinner,sun50i-uart"; reg = <0x0 0x5000c00 0x0 0x400>; interrupts = <0x0 0x3 0x4>; @@ -1659,7 +1552,7 @@ phandle = <0x9d>; }; - uart4: uart@5001000 { + uart@5001000 { compatible = "allwinner,sun50i-uart"; reg = <0x0 0x5001000 0x0 0x400>; interrupts = <0x0 0x4 0x4>; @@ -1675,7 +1568,7 @@ phandle = <0x9e>; }; - uart5: uart@5001400 { + uart@5001400 { compatible = "allwinner,sun50i-uart"; reg = <0x0 0x5001400 0x0 0x400>; interrupts = <0x0 0x5 0x4>; @@ -1684,14 +1577,14 @@ uart5_port = <0x5>; uart5_type = <0x2>; sunxi,uart-fifosize = <0x100>; - status = "okay"; + status = "disabled"; pinctrl-names = "default", "sleep"; pinctrl-0 = <0x33>; pinctrl-1 = <0x34>; phandle = <0x9f>; }; - twi0: twi@5002000 { + twi@5002000 { #address-cells = <0x1>; #size-cells = <0x0>; compatible = "allwinner,sun50i-twi"; @@ -1710,15 +1603,9 @@ pinctrl-names = "default", "sleep"; twi_drv_used = <0x1>; phandle = <0xa0>; - - eeprom@50 { - compatible = "atmel,24c16"; - reg = <0x50>; - status = "disabled"; - }; }; - twi1: twi@5002400 { + twi@5002400 { #address-cells = <0x1>; #size-cells = <0x0>; compatible = "allwinner,sun50i-twi"; @@ -1739,7 +1626,7 @@ phandle = <0xa1>; }; - twi2: twi@5002800 { + twi@5002800 { #address-cells = <0x1>; #size-cells = <0x0>; compatible = "allwinner,sun50i-twi"; @@ -1760,7 +1647,7 @@ phandle = <0xa2>; }; - twi3: twi@5002c00 { + twi@5002c00 { #address-cells = <0x1>; #size-cells = <0x0>; compatible = "allwinner,sun50i-twi"; @@ -1772,7 +1659,7 @@ resets = <0x2 0x1a>; dmas = <0x35 0x2e 0x35 0x2e>; dma-names = "tx", "rx"; - status = "okay"; + status = "disabled"; clock-frequency = <0x61a80>; pinctrl-0 = <0x3c>; pinctrl-1 = <0x3d>; @@ -1781,7 +1668,7 @@ phandle = <0xa3>; }; - twi4: twi@5003000 { + twi@5003000 { #address-cells = <0x1>; #size-cells = <0x0>; compatible = "allwinner,sun50i-twi"; @@ -1802,7 +1689,7 @@ phandle = <0xa4>; }; - twi5: twi@7081400 { + twi@7081400 { #address-cells = <0x1>; #size-cells = <0x0>; compatible = "allwinner,sun50i-twi"; @@ -1847,7 +1734,7 @@ regulator-step-delay-us = <0x19>; regulator-final-delay-us = <0x32>; regulator-always-on; - phandle = <0x63>; + phandle = <0x61>; }; dcdc2 { @@ -1858,7 +1745,7 @@ regulator-final-delay-us = <0x32>; regulator-ramp-delay = <0xc8>; regulator-always-on; - phandle = <0x5>; + phandle = <0x05>; }; dcdc3 { @@ -1894,7 +1781,7 @@ }; }; - spi0: spi@5010000 { + spi@5010000 { #address-cells = <0x1>; #size-cells = <0x0>; compatible = "allwinner,sun50i-spi"; @@ -1921,23 +1808,14 @@ spi_board0 { device_type = "spi_board0"; - compatible = "rohm,dh2228fv"; + compatible = "linux,spidev"; spi-max-frequency = <0x10000000>; reg = <0x0>; status = "disabled"; }; - - flash@0 { - status = "disabled"; - #address-cells = <1>; - #size-cells = <1>; - compatible = "jedec,spi-nor"; - reg = <0>; - spi-max-frequency = <0x10000000>; - }; }; - spi1: spi@5011000 { + spi@5011000 { #address-cells = <0x1>; #size-cells = <0x0>; compatible = "allwinner,sun50i-spi"; @@ -1960,13 +1838,19 @@ /*spi_dbi_enable = <0x0>;*/ phandle = <0xaa>; - //spi_board1: spi_board1@1 { - // device_type = "spi_board1"; - // compatible = "rohm,dh2228fv"; - // spi-max-frequency = <0x989680>; - // reg = <0x1>; - // status = "disabled"; - //}; + }; + + ts0@5060000 { + compatible = "allwinner,sun50i-tsc"; + status = "disabled"; + device_type = "ts0"; + reg = <0x0 0x5060000 0x0 0x1000>; + interrupts = <0x0 0x11 0x4>; + clocks = <0x2 0x4 0x2 0x56>; + clock-frequency = <0x7270e00>; + ts0config = <0x1>; + resets = <0x2 0x21>; + phandle = <0xab>; }; thermal-sensor@5070400 { @@ -1978,7 +1862,7 @@ nvmem-cells = <0x48>; nvmem-cell-names = "calibration"; #thermal-sensor-cells = <0x1>; - phandle = <0x74>; + phandle = <0x72>; }; gpadc@5070000 { @@ -1989,7 +1873,7 @@ clock-names = "bus"; resets = <0x2 0x22>; status = "disabled"; - phandle = <0xab>; + phandle = <0xac>; }; keyboard@5070800 { @@ -1999,7 +1883,7 @@ clocks = <0x2 0x74>; resets = <0x2 0x35>; status = "disabled"; - phandle = <0xac>; + phandle = <0xad>; }; codec@5096000 { @@ -2040,7 +1924,7 @@ soundcard-mach,pin-switches = "LINEOUT"; soundcard-mach,routing = "LINEOUT", "LINEOUTL", "LINEOUT", "LINEOUTR"; status = "okay"; - phandle = <0xad>; + phandle = <0xae>; soundcard-mach,cpu { sound-dai = <0x49>; @@ -2079,7 +1963,8 @@ compatible = "allwinner,sunxi-snd-mach"; soundcard-mach,name = "sndspdif"; status = "disabled"; - phandle = <0xae>; + soundcard-mach,playback-only; + phandle = <0xaf>; soundcard-mach,cpu { sound-dai = <0x4d>; @@ -2104,8 +1989,8 @@ ahub_dam_mach { compatible = "allwinner,sunxi-snd-mach"; soundcard-mach,name = "ahubdam"; - status = "okay"; - phandle = <0xaf>; + status = "disabled"; + phandle = <0xb0>; soundcard-mach,cpu { sound-dai = <0x4e>; @@ -2185,7 +2070,7 @@ tdm_num = <0x3>; tx_pin = <0x0>; rx_pin = <0x0>; - phandle = <0x5a>; + phandle = <0x5b>; }; ahub0_mach { @@ -2197,7 +2082,7 @@ soundcard-mach,bitclock-master = <0x53>; soundcard-mach,slot-num = <0x2>; soundcard-mach,slot-width = <0x20>; - phandle = <0xb0>; + phandle = <0xb1>; soundcard-mach,cpu { sound-dai = <0x54>; @@ -2207,7 +2092,7 @@ }; soundcard-mach,codec { - phandle = <0xb1>; + phandle = <0xb2>; }; }; @@ -2215,12 +2100,13 @@ compatible = "allwinner,sunxi-snd-mach"; soundcard-mach,name = "ahubhdmi"; status = "okay"; + soundcard-mach,playback-only; soundcard-mach,format = "i2s"; soundcard-mach,frame-master = <0x55>; soundcard-mach,bitclock-master = <0x55>; soundcard-mach,slot-num = <0x2>; soundcard-mach,slot-width = <0x20>; - phandle = <0xb2>; + phandle = <0xb3>; soundcard-mach,cpu { sound-dai = <0x56>; @@ -2230,20 +2116,20 @@ }; soundcard-mach,codec { - phandle = <0xb3>; + phandle = <0xb4>; }; }; ahub2_mach { compatible = "allwinner,sunxi-snd-mach"; soundcard-mach,name = "ahubi2s2"; - status = "okay"; + status = "disabled"; soundcard-mach,format = "i2s"; soundcard-mach,frame-master = <0x57>; soundcard-mach,bitclock-master = <0x57>; soundcard-mach,slot-num = <0x2>; soundcard-mach,slot-width = <0x20>; - phandle = <0xb4>; + phandle = <0xb5>; soundcard-mach,cpu { sound-dai = <0x58>; @@ -2253,7 +2139,7 @@ }; soundcard-mach,codec { - phandle = <0xb5>; + phandle = <0xb6>; }; }; @@ -2262,21 +2148,21 @@ soundcard-mach,name = "ahubi2s3"; status = "disabled"; soundcard-mach,format = "i2s"; - soundcard-mach,frame-master = <0x59>; - soundcard-mach,bitclock-master = <0x59>; + soundcard-mach,frame-master = <0x5a>; + soundcard-mach,bitclock-master = <0x5a>; soundcard-mach,slot-num = <0x2>; soundcard-mach,slot-width = <0x20>; - phandle = <0xb6>; + phandle = <0xb7>; soundcard-mach,cpu { - sound-dai = <0x5a>; + sound-dai = <0x5b>; soundcard-mach,pll-fs = <0x4>; soundcard-mach,mclk-fs = <0x100>; - phandle = <0x59>; + phandle = <0x5a>; }; soundcard-mach,codec { - phandle = <0xb7>; + phandle = <0xb8>; }; }; @@ -2294,17 +2180,17 @@ dmas = <0x35 0x2 0x35 0x2>; dma-names = "tx", "rx"; status = "disabled"; - phandle = <0x5b>; + phandle = <0x5c>; }; soundspdif { compatible = "sunxi,simple-audio-card"; simple-audio-card,name = "sndspdif"; status = "disabled"; - phandle = <0xb8>; + phandle = <0xb9>; simple-audio-card,cpu { - sound-dai = <0x5b>; + sound-dai = <0x5c>; }; simple-audio-card,codec { @@ -2327,7 +2213,7 @@ dmas = <0x35 0x7>; dma-names = "rx"; status = "disabled"; - phandle = <0x5c>; + phandle = <0x5d>; }; dmic_codec { @@ -2335,43 +2221,58 @@ compatible = "dmic-codec"; num-channels = <0x8>; status = "disabled"; - phandle = <0x5d>; + phandle = <0x5e>; }; sounddmic { compatible = "sunxi,simple-audio-card"; simple-audio-card,name = "snddmic"; status = "disabled"; - phandle = <0xb9>; + phandle = <0xba>; simple-audio-card,cpu { - sound-dai = <0x5c>; + sound-dai = <0x5d>; }; simple-audio-card,codec { - sound-dai = <0x5d>; - }; - }; - - leds: leds { - compatible = "gpio-leds"; - status = "okay"; - - led-red { - label = "red_led"; - gpios = <0x23 0x2 0xc 0x0>; /* PC12 */ - linux,default-trigger = "heartbeat"; + sound-dai = <0x5e>; }; }; gpio_para { device_type = "gpio_para"; compatible = "allwinner,sunxi-init-gpio"; - status = "okay"; - gpio_num = <0x0>; - /*gpio_pin_1 = <0x23 0x2 0xc 0x1>; - gpio_pin_2 = <0x23 0x2 0xd 0x0>;*/ - phandle = <0xba>; + status = "disabled"; + gpio_num = <0x1c>; + gpio_pin_1 = <0x23 0x6 0x0 0x0>; + gpio_pin_2 = <0x23 0x6 0x1 0x0>; + gpio_pin_3 = <0x23 0x6 0x2 0x0>; + gpio_pin_4 = <0x23 0x6 0x3 0x0>; + gpio_pin_5 = <0x23 0x6 0x4 0x0>; + gpio_pin_6 = <0x23 0x6 0x5 0x0>; + gpio_pin_7 = <0x23 0x6 0x6 0x0>; + gpio_pin_8 = <0x23 0x6 0x7 0x0>; + gpio_pin_9 = <0x23 0x6 0x8 0x0>; + gpio_pin_10 = <0x23 0x6 0x9 0x0>; + gpio_pin_11 = <0x23 0x6 0xa 0x0>; + gpio_pin_12 = <0x23 0x6 0xb 0x0>; + gpio_pin_13 = <0x23 0x6 0xc 0x0>; + gpio_pin_14 = <0x23 0x6 0xd 0x0>; + gpio_pin_15 = <0x23 0x6 0xe 0x0>; + gpio_pin_16 = <0x23 0x6 0xf 0x0>; + gpio_pin_17 = <0x23 0x6 0x10 0x0>; + gpio_pin_18 = <0x23 0x6 0x11 0x0>; + gpio_pin_19 = <0x23 0x6 0x12 0x0>; + gpio_pin_20 = <0x23 0x6 0x13 0x0>; + gpio_pin_21 = <0x23 0x7 0x2 0x0>; + gpio_pin_22 = <0x23 0x7 0x3 0x0>; + gpio_pin_23 = <0x23 0x7 0x4 0x0>; + gpio_pin_24 = <0x23 0x7 0x5 0x0>; + gpio_pin_25 = <0x23 0x7 0x6 0x0>; + gpio_pin_26 = <0x23 0x7 0x7 0x0>; + gpio_pin_27 = <0x23 0x7 0x8 0x0>; + gpio_pin_28 = <0x23 0x7 0x9 0x0>; + phandle = <0xbb>; }; eth@5020000 { @@ -2384,18 +2285,18 @@ resets = <0x2 0x1f>; device_type = "gmac0"; phy-mode = "rgmii"; - phy-rst; + phy-rst = <0x23 0x8 0x10 0x0>; gmac-power0; gmac-power1; gmac-power2; status = "okay"; use_ephy25m = <0x0>; - pinctrl-0 = <0x5e>; - pinctrl-1 = <0x5f>; + pinctrl-0 = <0x5f>; + pinctrl-1 = <0x60>; pinctrl-names = "default", "sleep"; tx-delay = <0x7>; rx-delay = <0x1f>; - phandle = <0xbb>; + phandle = <0xbc>; }; eth@5030000 { @@ -2407,18 +2308,13 @@ clock-names = "gmac"; resets = <0x2 0x20>; device_type = "gmac1"; - phy-mode = "rmii"; + phy-mode; phy-rst; gmac-power0; gmac-power1; gmac-power2; status = "disabled"; - pinctrl-0 = <0x60>; - pinctrl-1 = <0x61>; - pinctrl-names = "default", "sleep"; - tx-delay = <0x7>; - rx-delay = <0x1f>; - phandle = <0xbc>; + phandle = <0xbd>; }; usbc0@0 { @@ -2439,7 +2335,7 @@ rndis_wceis = <0x1>; wakeup-source; status = "okay"; - phandle = <0xbd>; + phandle = <0xbe>; }; udc-controller@5100000 { @@ -2451,7 +2347,7 @@ clock-names = "bus_otg", "phy"; resets = <0x2 0x34 0x2 0x28>; reset-names = "otg", "phy"; - phandle = <0xbe>; + phandle = <0xbf>; }; ehci0-controller@5101000 { @@ -2464,7 +2360,7 @@ reset-names = "hci", "phy"; hci_ctrl_no = <0x0>; status = "okay"; - phandle = <0xbf>; + phandle = <0xc0>; }; ohci0-controller@5101400 { @@ -2477,7 +2373,7 @@ reset-names = "hci", "phy"; hci_ctrl_no = <0x0>; status = "okay"; - phandle = <0xc0>; + phandle = <0xc1>; }; usbc1@0 { @@ -2489,7 +2385,7 @@ wakeup-source; usb_regulator_io = "nocare"; status = "okay"; - phandle = <0xc1>; + phandle = <0xc2>; }; ehci1-controller@5200000 { @@ -2502,7 +2398,7 @@ reset-names = "hci", "phy"; hci_ctrl_no = <0x1>; status = "okay"; - phandle = <0xc2>; + phandle = <0xc3>; }; ohci1-controller@5200400 { @@ -2515,7 +2411,7 @@ reset-names = "hci", "phy"; hci_ctrl_no = <0x1>; status = "okay"; - phandle = <0xc3>; + phandle = <0xc4>; }; usbc2@0 { @@ -2527,7 +2423,7 @@ wakeup-source; usb_regulator_io = "nocare"; status = "okay"; - phandle = <0xc4>; + phandle = <0xc5>; }; ehci2-controller@5310000 { @@ -2540,7 +2436,7 @@ reset-names = "hci", "phy"; hci_ctrl_no = <0x2>; status = "okay"; - phandle = <0xc5>; + phandle = <0xc6>; }; ohci2-controller@5310400 { @@ -2553,7 +2449,7 @@ reset-names = "hci", "phy"; hci_ctrl_no = <0x2>; status = "okay"; - phandle = <0xc6>; + phandle = <0xc7>; }; usbc3@0 { @@ -2565,7 +2461,7 @@ wakeup-source; usb_regulator_io = "nocare"; status = "okay"; - phandle = <0xc7>; + phandle = <0xc8>; }; ehci3-controller@5311000 { @@ -2578,7 +2474,7 @@ reset-names = "hci", "phy"; hci_ctrl_no = <0x3>; status = "okay"; - phandle = <0xc8>; + phandle = <0xc9>; }; ohci3-controller@5311400 { @@ -2591,7 +2487,7 @@ reset-names = "hci", "phy"; hci_ctrl_no = <0x3>; status = "okay"; - phandle = <0xc9>; + phandle = <0xca>; }; hdmi@6000000 { @@ -2608,7 +2504,7 @@ status = "okay"; hdmi_used = <0x1>; aldo1-supply = <0x1d>; - dcdc1-supply = <0x63>; + dcdc1-supply = <0x61>; hdmi_power_cnt = <0x2>; hdmi_power0 = "aldo1"; hdmi_power1 = "dcdc1"; @@ -2619,7 +2515,8 @@ hdmi_cec_super_standby = <0x0>; ddc_en_io_ctrl = <0x0>; power_io_ctrl = <0x0>; - phandle = <0xca>; + boot_mask = <0x0>; + phandle = <0xcb>; }; interrupt-controller@7010320 { @@ -2629,14 +2526,17 @@ reg = <0x0 0x7010320 0x0 0xc>; interrupts = <0x0 0x67 0x4>; pad-control-v1 = <0x7000208>; - phandle = <0xcb>; + phandle = <0xcc>; }; boot_init_gpio { device_type = "boot_init_gpio"; - status = "okay"; - gpio0 = <0x53 0x2 0xc 0x1 0xffffffff 0xffffffff 0x1>; - gpio1 = <0x53 0x2 0xd 0x1 0xffffffff 0xffffffff 0x0>; + gpio_num = <1>; + /* 0x2--C 0xC--12 0x1--open*/ + gpio0 = <0x54 0x2 0xc 0x1 0xffffffff 0xffffffff 0x0>; + //gpio1 = <0x54 0x2 0x2 0x1 0xffffffff 0xffffffff 0x0>; + gpio1 = <0x54 0x6 0xf 0x1 0xffffffff 0xffffffff 0x0>; + gpio2 = <0x54 0x6 0x10 0x1 0xffffffff 0xffffffff 0x0>; }; s_cir@7040000 { @@ -2649,9 +2549,9 @@ status = "okay"; s_cir0_used = <0x1>; pinctrl-names = "default", "sleep"; - pinctrl-0 = <0x64>; - pinctrl-1 = <0x65>; - ir_power_key_code0 = <0x40>; + pinctrl-0 = <0x62>; + pinctrl-1 = <0x63>; + ir_power_key_code0 = <0x0>; ir_addr_code0 = <0xfe01>; ir_power_key_code1 = <0x1a>; ir_addr_code1 = <0xfb04>; @@ -2670,7 +2570,7 @@ ir_power_key_code8 = <0x4d>; ir_addr_code8 = <0x4040>; wakeup-source; - phandle = <0xcc>; + phandle = <0xcd>; }; rfkill { @@ -2681,23 +2581,23 @@ pinctrl-0; pinctrl-names; clocks; - phandle = <0xcd>; + phandle = <0xce>; wlan { compatible = "allwinner,sunxi-wlan"; wlan_busnum = <0x1>; wlan_power; - wlan_regon = <0x23 0x6 0x12 0x0>; - wlan_hostwake = <0x23 0x6 0xf 0x0>; + wlan_regon; + wlan_hostwake; wakeup-source; - phandle = <0xce>; + phandle = <0xcf>; }; bt { compatible = "allwinner,sunxi-bt"; bt_power; - bt_rst_n = <0x23 0x6 0x13 0x1>; - phandle = <0xcf>; + bt_rst_n; + phandle = <0xd0>; }; }; @@ -2707,17 +2607,17 @@ type_addr_wifi = <0x0>; type_addr_bt = <0x0>; type_addr_eth = <0x0>; - phandle = <0xd0>; + phandle = <0xd1>; }; btlpm { compatible = "allwinner,sunxi-btlpm"; - status = "okay"; + status = "disabled"; uart_index = <0x1>; bt_wake = <0x23 0x6 0x11 0x0>; bt_hostwake = <0x23 0x6 0x10 0x0>; wakeup-source; - phandle = <0xd1>; + phandle = <0xd2>; }; card0_boot_para@2 { @@ -2745,118 +2645,118 @@ #clock-cells = <0x0>; compatible = "allwinner,pll-clock"; lock-mode = "new"; - assigned-clocks = <0x66>; + assigned-clocks = <0x64>; clock-output-names = "pll_video2"; - phandle = <0x66>; + phandle = <0x64>; }; pll_de { #clock-cells = <0x0>; compatible = "allwinner,pll-clock"; - assigned-clocks = <0x67>; + assigned-clocks = <0x65>; assigned-clock-rates = <0x297c1e00>; lock-mode = "new"; clock-output-names = "pll_de"; - phandle = <0x67>; + phandle = <0x65>; }; de { #clock-cells = <0x0>; compatible = "allwinner,periph-clock"; - assigned-clock-parents = <0x67>; + assigned-clock-parents = <0x65>; assigned-clock-rates = <0x297c1e00>; - assigned-clocks = <0x68>; + assigned-clocks = <0x66>; clock-output-names = "de"; - phandle = <0x68>; + phandle = <0x66>; }; display_top { #clock-cells = <0x0>; compatible = "allwinner,periph-clock"; clock-output-names = "display_top"; - phandle = <0x70>; + phandle = <0x6e>; }; tcon_lcd { #clock-cells = <0x0>; compatible = "allwinner,periph-clock"; clock-output-names = "tcon_lcd"; - phandle = <0x71>; + phandle = <0x6f>; }; tcon_lcd1 { #clock-cells = <0x0>; compatible = "allwinner,periph-clock"; clock-output-names = "tcon_lcd1"; - phandle = <0x72>; + phandle = <0x70>; }; tcon_tv { #clock-cells = <0x0>; compatible = "allwinner,periph-clock"; - assigned-clock-parents = <0x66>; - assigned-clocks = <0x69>; + assigned-clock-parents = <0x64>; + assigned-clocks = <0x67>; clock-output-names = "tcon_tv"; - phandle = <0x69>; + phandle = <0x67>; }; tcon_tv1 { #clock-cells = <0x0>; compatible = "allwinner,periph-clock"; clock-output-names = "tcon_tv1"; - phandle = <0x73>; + phandle = <0x71>; }; lvds { #clock-cells = <0x0>; compatible = "allwinner,periph-clock"; clock-output-names = "lvds"; - assigned-clocks = <0x6a>; - phandle = <0x6a>; + assigned-clocks = <0x68>; + phandle = <0x68>; }; hdmi { #clock-cells = <0x0>; compatible = "allwinner,periph-clock"; - assigned-clock-parents = <0x66>; - assigned-clocks = <0x6b>; + assigned-clock-parents = <0x64>; + assigned-clocks = <0x69>; clock-output-names = "hdmi"; - phandle = <0x6b>; + phandle = <0x69>; }; hdmi_slow { #clock-cells = <0x0>; compatible = "allwinner,periph-clock"; - assigned-clocks = <0x6c>; + assigned-clocks = <0x6a>; clock-output-names = "hdmi_slow"; - phandle = <0x6c>; + phandle = <0x6a>; }; hdmi_cec { #clock-cells = <0x0>; compatible = "allwinner,periph-clock"; - assigned-clocks = <0x6d>; + assigned-clocks = <0x6b>; clock-output-names = "hdmi_cec"; - phandle = <0x6d>; + phandle = <0x6b>; }; hdmi_hdcp { #clock-cells = <0x0>; compatible = "allwinner,periph-clock"; - assigned-clock-parents = <0x6e>; - assigned-clocks = <0x6f>; + assigned-clock-parents = <0x6c>; + assigned-clocks = <0x6d>; clock-output-names = "hdmi_hdcp"; - phandle = <0x6f>; + phandle = <0x6d>; }; pll_periph1 { #clock-cells = <0x0>; compatible = "allwinner,pll-clock"; - assigned-clocks = <0x6e>; + assigned-clocks = <0x6c>; assigned-clock-rates = <0x23c34600>; lock-mode = "new"; clock-output-names = "pll_periph1"; - phandle = <0x6e>; + phandle = <0x6c>; }; auto_print@54321 { @@ -2870,64 +2770,64 @@ compatible = "allwinner,sunxi-disp"; reg = <0x0 0x1000000 0x0 0x1400000 0x0 0x6510000 0x0 0x200 0x0 0x6511000 0x0 0x1000 0x0 0x6512000 0x0 0x1000 0x0 0x6515000 0x0 0x1000 0x0 0x6516000 0x0 0x1000>; interrupts = <0x0 0x58 0x4 0x0 0x40 0x4 0x0 0x41 0x4 0x0 0x42 0x4 0x0 0x43 0x4>; - clocks = <0x68 0x70 0x71 0x72 0x69 0x73 0x6a>; + clocks = <0x66 0x6e 0x6f 0x70 0x67 0x71 0x68>; boot_disp = <0x0>; fb_base = <0x0>; - phandle = <0xd2>; + phandle = <0xd3>; }; uboot_hdmi@6000000 { compatible = "allwinner,sunxi-hdmi"; reg = <0x0 0x6000000 0x0 0x100000>; interrupts = <0x0 0x3f 0x4>; - clocks = <0x6b 0x6c 0x6f 0x6d>; - phandle = <0xd3>; + clocks = <0x69 0x6a 0x6d 0x6b>; + phandle = <0xd4>; }; thermal-zones { - cpu_thermal_zone { + cpu_thermal: cpu_thermal_zone { polling-delay-passive = <0x1f4>; polling-delay = <0x3e8>; - thermal-sensors = <0x74 0x2>; + thermal-sensors = <0x72 0x2>; sustainable-power = <0x39f>; trips { - phandle = <0xd4>; + phandle = <0xd5>; trip-point@0 { temperature = <0x11170>; type = "passive"; hysteresis = <0x0>; - phandle = <0xd5>; + phandle = <0xd6>; }; trip-point@1 { temperature = <0x15f90>; type = "passive"; hysteresis = <0x0>; - phandle = <0x75>; + phandle = <0x73>; }; cpu_crit@0 { temperature = <0x1c138>; type = "critical"; hysteresis = <0x0>; - phandle = <0xd6>; + phandle = <0xd7>; }; }; - cooling-maps { + cpu_cooling_maps: cooling-maps { map0 { - trip = <0x75>; - cooling-device = <0x76 0xffffffff 0xffffffff>; + trip = <0x73>; + cooling-device = <0x74 0xffffffff 0xffffffff>; contribution = <0x400>; }; map1 { - trip = <0x75>; - cooling-device = <0x77 0xffffffff 0xffffffff>; + trip = <0x73>; + cooling-device = <0x75 0xffffffff 0xffffffff>; contribution = <0x400>; }; }; @@ -2936,20 +2836,45 @@ ddr_thermal_zone { polling-delay-passive = <0x0>; polling-delay = <0x0>; - thermal-sensors = <0x74 0x3>; + thermal-sensors = <0x72 0x3>; }; gpu_thermal_zone { polling-delay-passive = <0x1f4>; polling-delay = <0x3e8>; - thermal-sensors = <0x74 0x0>; + thermal-sensors = <0x72 0x0>; sustainable-power = <0x44c>; }; ve_thermal_zone { polling-delay-passive = <0x0>; polling-delay = <0x0>; - thermal-sensors = <0x74 0x1>; + thermal-sensors = <0x72 0x1>; + }; + }; + + gpio-keys { + compatible = "gpio-keys"; + status = "okay"; + autorepeat; + + power { + label = "Power Key"; + linux,code = <0x74>; + gpio = <0x23 0x2 0x7 0x1>; + wakeup-source; + debounce-interval = <0x64>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + status = "okay"; + + sys_led { + label = "sys_led"; + gpio = <0x23 0x2 0xc 0x1>; + linux,default-trigger = "heartbeat"; }; }; @@ -2961,6 +2886,8 @@ pmukey_num = <0x0>; led_power = <0x0>; led_state = <0x0>; + pinctrl-0 = <0x76>; + pinctrl-1 = <0x77>; }; __symbols__ { @@ -2976,6 +2903,7 @@ reg_pio1_8 = "/pio-18"; reg_pio3_3 = "/pio-33"; dram = "/dram"; + gpiomem = "/gpiomem"; soc = "/soc@3000000"; disp = "/soc@3000000/disp@1000000"; ve = "/soc@3000000/ve@1c0e000"; @@ -2999,13 +2927,13 @@ cryptoengine = "/soc@3000000/ce@1904000"; soc_timer0 = "/soc@3000000/timer@3009000"; wdt = "/soc@3000000/watchdog@30090a0"; - /*pwm = "/soc@3000000/pwm@300a000"; + pwm = "/soc@3000000/pwm@300a000"; pwm0 = "/soc@3000000/pwm0@300a010"; pwm1 = "/soc@3000000/pwm1@300a011"; pwm2 = "/soc@3000000/pwm2@300a012"; pwm3 = "/soc@3000000/pwm3@300a013"; pwm4 = "/soc@3000000/pwm4@300a014"; - pwm5 = "/soc@3000000/pwm5@300a015";*/ + pwm5 = "/soc@3000000/pwm5@300a015"; ac200 = "/soc@3000000/ac200"; pio = "/soc@3000000/pinctrl@300b000"; uart0_ph_pins = "/soc@3000000/pinctrl@300b000/uart0-ph-pins"; @@ -3027,6 +2955,12 @@ uart1_ph_sleep = "/soc@3000000/pinctrl@300b000/uart1-ph-sleep"; uart2_ph_pins = "/soc@3000000/pinctrl@300b000/uart2-ph-pins"; uart2_ph_sleep = "/soc@3000000/pinctrl@300b000/uart2-ph-sleep"; + uart2_pg_pins = "/soc@3000000/pinctrl@300b000/uart2-pg-pins"; + uart2_pg_sleep = "/soc@3000000/pinctrl@300b000/uart2-pg-sleep"; + uart3_pi_pins = "/soc@3000000/pinctrl@300b000/uart3-pi-pins"; + uart3_pi_sleep = "/soc@3000000/pinctrl@300b000/uart3-pi-sleep"; + uart4_pi_pins = "/soc@3000000/pinctrl@300b000/uart4-pi-pins"; + uart4_pi_sleep = "/soc@3000000/pinctrl@300b000/uart4-pi-sleep"; uart5_ph_pins = "/soc@3000000/pinctrl@300b000/uart5-ph-pins"; uart5_ph_sleep = "/soc@3000000/pinctrl@300b000/uart5-ph-sleep"; s_cir0_pins_a = "/soc@3000000/pinctrl@300b000/s_cir0@0"; @@ -3044,20 +2978,19 @@ spi0_pins_a = "/soc@3000000/pinctrl@300b000/spi0@0"; spi0_pins_b = "/soc@3000000/pinctrl@300b000/spi0@1"; spi0_pins_c = "/soc@3000000/pinctrl@300b000/spi0@2"; - spi1_pins_a = "/soc@3000000/pinctrl@300b000/spi1-pins-a"; - spi1_pins_b = "/soc@3000000/pinctrl@300b000/spi1-pins-b"; - spi1_cs0_pin = "/soc@3000000/pinctrl@300b000/spi1-cs0-pin"; - spi1_cs1_pin = "/soc@3000000/pinctrl@300b000/spi1-cs1-pin"; + spi1_pins_a = "/soc@3000000/pinctrl@300b000/spi1@0"; + spi1_pins_b = "/soc@3000000/pinctrl@300b000/spi1@1"; + spi1_pins_c = "/soc@3000000/pinctrl@300b000/spi1@2"; gmac0_pins_a = "/soc@3000000/pinctrl@300b000/gmac0@0"; gmac0_pins_b = "/soc@3000000/pinctrl@300b000/gmac0@1"; - gmac1_pins_a = "/soc@3000000/pinctrl@300b000/gmac1@0"; - gmac1_pins_b = "/soc@3000000/pinctrl@300b000/gmac1@1"; - //pwm5_pin_a = "/soc@3000000/pinctrl@300b000/pwm5@0"; - //pwm5_pin_b = "/soc@3000000/pinctrl@300b000/pwm5@1"; + pwm1_pin_a = "/soc@3000000/pinctrl@300b000/pwm1@0"; + pwm1_pin_b = "/soc@3000000/pinctrl@300b000/pwm1@1"; spdif_pins_a = "/soc@3000000/pinctrl@300b000/spdif@0"; spdif_pins_b = "/soc@3000000/pinctrl@300b000/spdif_sleep@0"; ahub_daudio0_pins_a = "/soc@3000000/pinctrl@300b000/ahub_daudio0@0"; - ahub_daudio0_pins_b = "/soc@3000000/pinctrl@300b000/ahub_daudio0_sleep@0"; + ahub_daudio0_pins_b = "/soc@3000000/pinctrl@300b000/ahub_daudio0@1"; + ahub_daudio0_pins_c = "/soc@3000000/pinctrl@300b000/ahub_daudio0@2"; + ahub_daudio0_pins_d = "/soc@3000000/pinctrl@300b000/ahub_daudio0_sleep@0"; ahub_daudio2_pins_a = "/soc@3000000/pinctrl@300b000/ahub_daudio2@0"; ahub_daudio2_pins_b = "/soc@3000000/pinctrl@300b000/ahub_daudio2@1"; ahub_daudio2_pins_c = "/soc@3000000/pinctrl@300b000/ahub_daudio2@2"; @@ -3067,8 +3000,7 @@ ahub_daudio3_pins_c = "/soc@3000000/pinctrl@300b000/ahub_daudio3@2"; ahub_daudio3_pins_d = "/soc@3000000/pinctrl@300b000/ahub_daudio3_sleep@0"; standby_red = "/soc@3000000/pinctrl@300b000/standby@0"; - standby_blue = "/soc@3000000/pinctrl@300b000/standby@1"; - standby_bt = "/soc@3000000/pinctrl@300b000/standby@2"; + standby_gpiokey = "/soc@3000000/pinctrl@300b000/standby@1"; r_pio = "/soc@3000000/pinctrl@7022000"; s_twi0_pins_a = "/soc@3000000/pinctrl@7022000/s_twi0@0"; s_twi0_pins_b = "/soc@3000000/pinctrl@7022000/s_twi0@1"; @@ -3078,7 +3010,7 @@ sdc1 = "/soc@3000000/sdmmc@4021000"; nand0 = "/soc@3000000/nand0@4011000"; mbus0 = "/soc@3000000/mbus-controller@47fa000"; - /*uart0 = "/soc@3000000/uart@5000000"; + uart0 = "/soc@3000000/uart@5000000"; uart1 = "/soc@3000000/uart@5000400"; uart2 = "/soc@3000000/uart@5000800"; uart3 = "/soc@3000000/uart@5000c00"; @@ -3089,7 +3021,7 @@ twi2 = "/soc@3000000/twi@5002800"; twi3 = "/soc@3000000/twi@5002c00"; twi4 = "/soc@3000000/twi@5003000"; - twi5 = "/soc@3000000/twi@7081400";*/ + twi5 = "/soc@3000000/twi@7081400"; pmu0 = "/soc@3000000/twi@7081400/pmu"; standby_param = "/soc@3000000/twi@7081400/pmu/standby_param"; reg_dcdc1 = "/soc@3000000/twi@7081400/pmu/regulators/dcdc1"; @@ -3097,8 +3029,9 @@ reg_dcdc3 = "/soc@3000000/twi@7081400/pmu/regulators/dcdc3"; reg_aldo1 = "/soc@3000000/twi@7081400/pmu/regulators/ldo1"; reg_dldo1 = "/soc@3000000/twi@7081400/pmu/regulators/ldo2"; - /*spi0 = "/soc@3000000/spi@5010000"; - spi1 = "/soc@3000000/spi@5011000";*/ + spi0 = "/soc@3000000/spi@5010000"; + spi1 = "/soc@3000000/spi@5011000"; + ts0 = "/soc@3000000/ts0@5060000"; ths = "/soc@3000000/thermal-sensor@5070400"; gpadc = "/soc@3000000/gpadc@5070000"; keyboard = "/soc@3000000/keyboard@5070800";