From f492fc00668915c59921e0c63b252aa09a7aed81 Mon Sep 17 00:00:00 2001 From: Joseph Chen Date: Fri, 17 Nov 2017 11:06:24 +0800 Subject: [PATCH] rockchip: rk3126: add bnd-d708 board support Change-Id: Iaf6c81dcc2eb8623f5234d7f2e32b47e536b1c32 Signed-off-by: Joseph Chen --- arch/arm/dts/Makefile | 1 + arch/arm/dts/rk3126-bnd-d708.dts | 338 ++++++++++++++++++++++++++++++ configs/bnd-d708-rk3126_defconfig | 76 +++++++ 3 files changed, 415 insertions(+) create mode 100644 arch/arm/dts/rk3126-bnd-d708.dts create mode 100644 configs/bnd-d708-rk3126_defconfig diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 378e43e097..0032a21377 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -31,6 +31,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += \ rk3036-sdk.dtb \ rk3066a-mk808.dtb \ rk3126-evb.dtb \ + rk3126-bnd-d708.dtb \ rk3128-evb.dtb \ rk3188-radxarock.dtb \ rk3288-evb.dtb \ diff --git a/arch/arm/dts/rk3126-bnd-d708.dts b/arch/arm/dts/rk3126-bnd-d708.dts new file mode 100644 index 0000000000..2f8feb7c96 --- /dev/null +++ b/arch/arm/dts/rk3126-bnd-d708.dts @@ -0,0 +1,338 @@ +/* + * (C) Copyright 2017 Rockchip Electronics Co., Ltd + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +/dts-v1/; + +#include "rk3128.dtsi" +#include + +/ { + model = "Rockchip RK3126 bnd-d708 board"; + compatible = "rockchip,rk3128-evb", "rockchip,rk3128"; + + chosen { + stdout-path = &uart2; + }; + + vcc5v0_otg: vcc5v0-otg-drv { + compatible = "regulator-fixed"; + regulator-name = "vcc5v0_otg"; + gpio = <&gpio0 26 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&otg_vbus_drv>; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + }; + + vcc5v0_host: vcc5v0-host-drv { + compatible = "regulator-fixed"; + regulator-name = "vcc5v0_host"; + gpio = <&gpio2 23 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&host_vbus_drv>; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + regulator-always-on; + }; + + vcc_backlight: vcc-backlight { + compatible = "regulator-fixed"; + regulator-name = "vcc_backlight"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + regulator-always-on; + }; + + backlight: backlight { + compatible = "pwm-backlight"; + brightness-levels = < + 255 169 168 168 167 166 166 165 + 164 164 163 162 162 161 160 160 + 159 158 158 157 156 156 155 154 + 154 153 152 152 151 150 150 149 + 148 148 147 146 146 145 144 144 + 143 142 142 141 140 140 139 138 + 138 137 136 136 135 134 134 133 + 132 132 131 130 130 129 128 128 + 127 126 126 125 124 124 123 122 + 122 121 120 120 119 118 118 117 + 116 116 115 114 114 113 112 112 + 111 110 110 109 108 108 107 106 + 106 105 104 104 103 102 102 101 + 100 100 99 98 98 97 96 96 + 95 94 94 93 92 92 91 90 + 90 89 88 88 87 86 86 85 + 84 84 83 82 82 81 80 80 + 79 78 78 77 76 76 75 74 + 74 73 72 72 71 70 70 69 + 68 68 67 66 66 65 64 64 + 63 62 62 61 60 60 59 58 + 58 57 56 56 55 54 54 53 + 52 52 51 50 50 49 48 48 + 47 46 46 45 44 44 43 42 + 42 41 40 40 39 38 38 37 + 36 36 35 34 34 33 32 32 + 31 30 30 29 28 28 27 26 + 26 25 24 24 23 22 22 21 + 20 20 19 18 18 17 16 16 + 15 14 14 13 12 12 11 10 + 10 9 8 8 7 6 6 5 + 4 4 3 2 1 1 1 0>; + default-brightness-level = <128>; + pwms = <&pwm0 0 25000 0>; + enable-gpios = <&gpio2 RK_PB6 GPIO_ACTIVE_HIGH>; + power-supply = <&vcc_backlight>; + status = "okay"; + }; + + adc-keys { + compatible = "adc-keys"; + io-channels = <&saradc 2>; + io-channel-names = "buttons"; + poll-interval = <100>; + keyup-threshold-microvolt = <3300000>; + + button-up { + label = "Volume Up"; + linux,code = ; + press-threshold-microvolt = <0>; + }; + + button-down { + label = "Volume Down"; + linux,code = ; + press-threshold-microvolt = <1650000>; + }; + }; + + charge-animation { + compatible = "charge-animation"; + screen-on-voltage-threshold = <3350>; + power-on-voltage-threshold = <3450>; + power-on-soc-threshold = <0>; + status = "okay"; + }; +}; + +&i2c0 { + status = "okay"; + clock-frequency = <400000>; + + rk816: pmic@1a { + compatible = "rockchip,rk816"; + reg = <0x1a>; + interrupt-parent = <&gpio0>; + interrupts = <2 IRQ_TYPE_LEVEL_LOW>; + pinctrl-names = "default"; + pinctrl-0 = <&pmic_int_l>; + rockchip,system-power-controller; + wakeup-source; + gpio-controller; + #gpio-cells = <2>; + #clock-cells = <1>; + clock-output-names = "xin32k", "rk816-clkout2"; + + gpio { + status = "okay"; + }; + + pwrkey { + status = "okay"; + }; + + rtc { + status = "okay"; + }; + + battery { + compatible = "rk816-battery"; + ocv_table = < 3400 3654 3686 3710 3744 3775 3803 + 3825 3843 3858 3870 3886 3916 3955 + 3988 4010 4023 4032 4049 4080 4151 >; + design_capacity = <2000>; + design_qmax = <2200>; + bat_res = <120>; + max_input_current = <2000>; + max_chrg_current = <1000>; + max_chrg_voltage = <4200>; + sleep_enter_current = <300>; + sleep_exit_current = <300>; + sleep_filter_current = <100>; + power_off_thresd = <3500>; + zero_algorithm_vol = <3800>; + max_soc_offset = <60>; + monitor_sec = <5>; + virtual_power = <0>; + power_dc2otg = <0>; + dc_det_adc = <0>; + }; + + regulators { + + vdd_arm: DCDC_REG1{ + regulator-name= "vdd_arm"; + regulator-min-microvolt = <750000>; + regulator-max-microvolt = <1500000>; + regulator-ramp-delay = <6001>; + regulator-always-on; + regulator-boot-on; + regulator-state-mem { + regulator-on-in-suspend; + regulator-suspend-microvolt = <900000>; + }; + }; + + vdd_log: DCDC_REG2 { + regulator-name= "vdd_logic"; + regulator-min-microvolt = <750000>; + regulator-max-microvolt = <1500000>; + regulator-ramp-delay = <6001>; + regulator-always-on; + regulator-boot-on; + regulator-state-mem { + regulator-on-in-suspend; + regulator-suspend-microvolt = <1000000>; + }; + }; + + vcc_ddr: DCDC_REG3 { + regulator-name = "vcc_ddr"; + regulator-always-on; + regulator-boot-on; + }; + + vcc_io: DCDC_REG4 { + regulator-name = "vcc_io"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + regulator-boot-on; + regulator-state-mem { + regulator-on-in-suspend; + regulator-suspend-microvolt = <3000000>; + }; + }; + + vcc28_cif: LDO_REG1 { + regulator-name = "vcc28_cif"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + regulator-always-on; + regulator-boot-on; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vcc18_cif: LDO_REG2 { + regulator-name = "vcc18_cif"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + regulator-boot-on; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vdd_11: LDO_REG3 { + regulator-name = "vdd_11"; + regulator-min-microvolt = <1100000>; + regulator-max-microvolt = <1100000>; + regulator-always-on; + regulator-boot-on; + regulator-state-mem { + regulator-on-in-suspend; + regulator-suspend-microvolt = <1100000>; + }; + }; + + ldo4: LDO_REG4 { + regulator-name= "ldo4"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + regulator-boot-on; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + ldo5: LDO_REG5 { + regulator-name= "ldo5"; + regulator-min-microvolt = <3000000>; + regulator-max-microvolt = <3000000>; + regulator-always-on; + regulator-boot-on; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + ldo6: LDO_REG6 { + regulator-name= "ldo6"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-state-mem { + regulator-on-in-suspend; + regulator-suspend-microvolt = <3300000>; + }; + }; + }; + }; +}; + +&nandc { + status = "okay"; +}; + +&u2phy { + status = "okay"; +}; + +&u2phy_otg { + status = "okay"; +}; + +&u2phy_host { + status = "okay"; +}; + +&usb_host_ehci { + status = "okay"; +}; + +&usb_host_ohci { + status = "okay"; +}; + +&usb_otg { + vbus-supply = <&vcc5v0_otg>; + status = "okay"; +}; + +&pinctrl { + usb_otg { + otg_vbus_drv: host-vbus-drv { + rockchip,pins = <0 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; + + usb_host { + host_vbus_drv: host-vbus-drv { + rockchip,pins = <2 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; + + pmic_int_l: pmic-int-l { + rockchip,pins = + <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; + }; +}; + +&saradc { + status = "okay"; +}; diff --git a/configs/bnd-d708-rk3126_defconfig b/configs/bnd-d708-rk3126_defconfig new file mode 100644 index 0000000000..18afe17745 --- /dev/null +++ b/configs/bnd-d708-rk3126_defconfig @@ -0,0 +1,76 @@ +CONFIG_ARM=y +CONFIG_ARCH_ROCKCHIP=y +CONFIG_ROCKCHIP_RK3128=y +CONFIG_ROCKCHIP_BLOCK_API=y +CONFIG_ROCKCHIP_PARAM=y +CONFIG_ROCKCHIP_RESOURCE_IMAGE=y +CONFIG_ROCKCHIP_PARTITION_BOOT=y +CONFIG_DEFAULT_DEVICE_TREE="rk3126-bnd-d708" +CONFIG_DEBUG_UART=y +CONFIG_FIT=y +# CONFIG_DISPLAY_CPUINFO is not set +CONFIG_FASTBOOT=y +CONFIG_USB_FUNCTION_FASTBOOT=y +CONFIG_CMD_FASTBOOT=y +CONFIG_FASTBOOT_BUF_ADDR=0x60800800 +CONFIG_FASTBOOT_BUF_SIZE=0x04000000 +CONFIG_FASTBOOT_FLASH=y +CONFIG_FASTBOOT_FLASH_MMC_DEV=0 +# CONFIG_CMD_IMLS is not set +CONFIG_CMD_GPT=y +CONFIG_CMD_MMC=y +CONFIG_CMD_USB=y +CONFIG_CMD_USB_MASS_STORAGE=y +# CONFIG_CMD_SETEXPR is not set +CONFIG_CMD_BMP=y +CONFIG_CMD_TIME=y +CONFIG_CMD_CHARGE_DISPLAY=y +CONFIG_REGMAP=y +CONFIG_SYSCON=y +CONFIG_CLK=y +CONFIG_ROCKCHIP_GPIO=y +CONFIG_SYS_I2C_ROCKCHIP=y +CONFIG_DM_KEY=y +CONFIG_MMC_DW=y +CONFIG_MMC_DW_ROCKCHIP=y +CONFIG_PHY=y +CONFIG_PHY_ROCKCHIP_INNO_USB2=y +CONFIG_PINCTRL=y +CONFIG_PINCTRL_ROCKCHIP_RK3128=y +CONFIG_DM_FUEL_GAUGE=y +CONFIG_DM_PMIC=y +CONFIG_PMIC_RK8XX=y +CONFIG_REGULATOR_PWM=y +CONFIG_DM_REGULATOR_FIXED=y +CONFIG_REGULATOR_RK8XX=y +CONFIG_DM_CHARGE_DISPLAY=y +CONFIG_CHARGE_ANIMATION=y +CONFIG_PWM_ROCKCHIP=y +CONFIG_RAM=y +CONFIG_DM_RESET=y +CONFIG_DEBUG_UART_BASE=0x20068000 +CONFIG_DEBUG_UART_CLOCK=24000000 +CONFIG_DEBUG_UART_SHIFT=2 +CONFIG_SYS_NS16550=y +CONFIG_SYSRESET=y +CONFIG_USB=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_EHCI_GENERIC=y +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_GENERIC=y +CONFIG_USB_DWC2=y +CONFIG_USB_STORAGE=y +CONFIG_USB_GADGET=y +CONFIG_USB_GADGET_DWC2_OTG=y +CONFIG_USB_GADGET_DOWNLOAD=y +CONFIG_G_DNL_MANUFACTURER="Rockchip" +CONFIG_G_DNL_VENDOR_NUM=0x2207 +CONFIG_G_DNL_PRODUCT_NUM=0x310c +CONFIG_DM_VIDEO=y +CONFIG_DISPLAY=y +CONFIG_DRM_ROCKCHIP=y +CONFIG_DRM_ROCKCHIP_LVDS=y +CONFIG_LCD=y +CONFIG_USE_TINY_PRINTF=y +CONFIG_ERRNO_STR=y +CONFIG_TEST_ROCKCHIP=y