diff options
author | Taiten Peng <taiten@users.noreply.github.com> | 2016-08-30 17:33:48 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-08-30 17:33:48 +0800 |
commit | 4945f1d356554a10aa695ddc6ea10ae126af8b83 (patch) | |
tree | 5888ba067c58dead08e8b7336106853a848bf5a0 | |
parent | 28fe8d6fc265db01d836a339170b8067b3f69b3c (diff) | |
parent | 0b16466afecbd7b08c233c526faf95f4a25c4783 (diff) |
Merge pull request #1 from taiten/alps-release-m0.mp21-linaro
Merge Alps release m0.mp21 linaro
-rwxr-xr-x | arch/arm64/boot/dts/amt6797_64_open.dts | 42 | ||||
-rwxr-xr-x | arch/arm64/configs/amt6797_64_open_defconfig | 50 | ||||
-rwxr-xr-x[-rw-r--r--] | drivers/input/touchscreen/mediatek/mtk_tpd.c | 15 | ||||
-rwxr-xr-x | drivers/misc/mediatek/dws/mt6797/amt6797_64_open.dws | 7 | ||||
-rwxr-xr-x | drivers/misc/mediatek/led_96board/led_96board.c | 12 | ||||
-rwxr-xr-x | drivers/misc/mediatek/led_96board/led_96board.h | 15 | ||||
-rwxr-xr-x | drivers/misc/mediatek/multibridge/mt6797/mt8193/mt8193_iic.c | 124 | ||||
-rwxr-xr-x | drivers/misc/mediatek/video/mt6797/dispsys/ddp_dpi.c | 10 |
8 files changed, 244 insertions, 31 deletions
diff --git a/arch/arm64/boot/dts/amt6797_64_open.dts b/arch/arm64/boot/dts/amt6797_64_open.dts index 7af03ee7f6d5..14734e83a759 100755 --- a/arch/arm64/boot/dts/amt6797_64_open.dts +++ b/arch/arm64/boot/dts/amt6797_64_open.dts @@ -1529,6 +1529,48 @@ status = "okay"; }; /* USB TYPEC GPIO end */ +/*LCM BACKLIGHT GPIO standardization +* support suspend LCM backlight +* add by dongyong 2016/7/26 +*/ +&pio { + lcm_pins_default: default { + }; + + lcm_high: lcm_high { + + + pins_cmd_dat { + pins = <PINMUX_GPIO62__FUNC_GPIO62>; + slew-rate = <1>; + output-high; + + }; + + }; + + lcm_low: lcm_low { + + pins_cmd_dat { + pins = <PINMUX_GPIO62__FUNC_GPIO62>; + slew-rate = <1>; + output-low; + + }; + + }; + +}; +&mtkfb { + pinctrl-names = "default", "lcd_bias_enp0_gpio", "lcd_bias_enp1_gpio"; + pinctrl-0 = <&lcm_pins_default>; + pinctrl-1 = <&lcm_low>; + pinctrl-2 = <&lcm_high>; + bus_switch_pin = <&pio 0 0>; + status = "okay"; +}; +/*LCM BACKLIGHT GPIO end*/ + /* FLASHLIGHT GPIO standardization */ &pio { flashlight_pins_default: default { diff --git a/arch/arm64/configs/amt6797_64_open_defconfig b/arch/arm64/configs/amt6797_64_open_defconfig index 02a827ecd51c..ec5a0a6bc444 100755 --- a/arch/arm64/configs/amt6797_64_open_defconfig +++ b/arch/arm64/configs/amt6797_64_open_defconfig @@ -4,6 +4,8 @@ CONFIG_AUDIT=y CONFIG_NO_HZ=y CONFIG_HIGH_RES_TIMERS=y CONFIG_RCU_FANOUT=32 +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y CONFIG_CGROUPS=y CONFIG_CGROUP_CPUACCT=y CONFIG_RESOURCE_COUNTERS=y @@ -12,8 +14,8 @@ CONFIG_RT_GROUP_SCHED=y CONFIG_BLK_DEV_INITRD=y CONFIG_SYSCTL_SYSCALL=y CONFIG_EMBEDDED=y -# CONFIG_SLUB_DEBUG is not set CONFIG_PROFILING=y +CONFIG_CC_STACKPROTECTOR_REGULAR=y # CONFIG_BLK_DEV_BSG is not set CONFIG_ARCH_MT6797=y CONFIG_MTK_PSCI=y @@ -157,7 +159,9 @@ CONFIG_CFG80211=y CONFIG_NL80211_TESTMODE=y CONFIG_CFG80211_DEVELOPER_WARNINGS=y # CONFIG_CFG80211_DEFAULT_PS is not set +CONFIG_CFG80211_DEBUGFS=y CONFIG_CFG80211_INTERNAL_REGDB=y +CONFIG_MTK_NET_LOGGING=y CONFIG_MTD=y CONFIG_MTD_BLOCK=y CONFIG_MTD_NAND_IDS=y @@ -169,19 +173,25 @@ CONFIG_UID_CPUTIME=y CONFIG_MEDIATEK_SOLUTION=y CONFIG_MTK_PLATFORM="mt6797" CONFIG_ARCH_MTK_PROJECT="amt6797_64_open" +CONFIG_MT_ENG_BUILD=y CONFIG_MTK_SHARED_SDCARD=y CONFIG_MTK_GPT_SCHEME_SUPPORT=y CONFIG_MTK_DISABLE_PICACHU=y CONFIG_MTK_FREQ_HOPPING=y -CONFIG_MTK_BQ25896_SUPPORT=y +#by zhaowan add +#CONFIG_MTK_BQ25896_SUPPORT=y CONFIG_CUSTOM_KERNEL_IMGSENSOR="ov23850_mipi_raw s5k3m2_mipi_raw s5k5e2ya_mipi_raw imx258_mipi_raw imx377_mipi_raw s5k2x8_mipi_raw" CONFIG_MTK_CMDQ=y -CONFIG_MTK_FLASHLIGHT=y -CONFIG_CUSTOM_KERNEL_FLASHLIGHT="constant_flashlight" + +#CONFIG_MTK_FLASHLIGHT=y +#CONFIG_CUSTOM_KERNEL_FLASHLIGHT="constant_flashlight" + CONFIG_MTK_GPU_SUPPORT=y CONFIG_MTK_GPU_VERSION="mali midgard r7p0" CONFIG_MTK_GPU_COMMON_DVFS_SUPPORT=y -CONFIG_CUSTOM_KERNEL_HDMI="Sii8348" +CONFIG_MTK_HDMI_SUPPORT=y +CONFIG_CUSTOM_KERNEL_HDMI="MT8193" +CONFIG_MTK_MULTIBRIDGE_SUPPORT=y CONFIG_MTK_IMGSENSOR=y CONFIG_MTK_JPEG=y CONFIG_MTK_LCM=y @@ -232,10 +242,12 @@ CONFIG_MTK_TINYSYS_SCP_SUPPORT=y CONFIG_MTK_SMI_EXT=y # CONFIG_USB_MTK_HDRC is not set CONFIG_MTK_MUSB_QMU_SUPPORT=y -CONFIG_MTK_VIBRATOR=y +#CONFIG_MTK_VIBRATOR=y CONFIG_USB_XHCI_MTK=y CONFIG_USB_MTK_DUALMODE=y +CONFIG_MTK_MEMCFG=y CONFIG_MTK_AEE_FEATURE=y +CONFIG_MTK_AEE_MRDUMP=y CONFIG_MTK_CHIP=y CONFIG_GATOR_DRIVER=y CONFIG_MTK_DRAM_LOG_STORE=y @@ -245,6 +257,8 @@ CONFIG_MTK_DRAM_LOG_STORE_SIZE=0x400 CONFIG_MTK_MET=y CONFIG_MTK_MET_PLF=y CONFIG_MTPROF=y +CONFIG_MT_SCHED_MONITOR=y +CONFIG_MT_RT_THROTTLE_MON=y # CONFIG_LOG_TOO_MUCH_WARNING is not set CONFIG_MTK_RAM_CONSOLE=y CONFIG_MTK_RAM_CONSOLE_USING_SRAM=y @@ -258,6 +272,7 @@ CONFIG_MT_CPU_AFFINITY=y CONFIG_MT_LOAD_BALANCE_ENHANCEMENT=y CONFIG_MTK_COMPAT=y CONFIG_MT_SCHED_INTEROP=y +CONFIG_MT_SCHED_TRACE=y CONFIG_MTK_CPU_TOPOLOGY=y CONFIG_MTK_SCHED_CMP=y CONFIG_MTK_SCHED_CMP_TGS=y @@ -274,6 +289,7 @@ CONFIG_SCSI_SCAN_ASYNC=y # CONFIG_SCSI_LOWLEVEL is not set CONFIG_MD=y CONFIG_BLK_DEV_DM=y +CONFIG_DM_DEBUG=y CONFIG_DM_CRYPT=y CONFIG_DM_UEVENT=y CONFIG_DM_VERITY=y @@ -313,8 +329,6 @@ CONFIG_INPUT_MISC=y CONFIG_INPUT_UINPUT=y # CONFIG_VT is not set CONFIG_LEGACY_PTY_COUNT=16 -# CONFIG_DEVMEM is not set -# CONFIG_DEVKMEM is not set # CONFIG_HW_RANDOM is not set CONFIG_I2C=y CONFIG_SPI=y @@ -381,6 +395,7 @@ CONFIG_HID_ZEROPLUS=y CONFIG_USB=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_STORAGE=y +CONFIG_USB_STORAGE_DEBUG=y CONFIG_USB_STORAGE_DATAFAB=y CONFIG_USB_STORAGE_FREECOM=y CONFIG_USB_STORAGE_ISD200=y @@ -449,15 +464,26 @@ CONFIG_PRINTK_TIME=y CONFIG_DYNAMIC_DEBUG=y CONFIG_DEBUG_INFO=y CONFIG_FRAME_WARN=1400 -CONFIG_MAGIC_SYSRQ=y +CONFIG_SLUB_DEBUG_ON=y +CONFIG_DEBUG_KMEMLEAK=y +CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=800 +CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y +CONFIG_DETECT_HUNG_TASK=y CONFIG_PANIC_ON_OOPS=y -CONFIG_PANIC_TIMEOUT=1 +CONFIG_PANIC_TIMEOUT=5 CONFIG_SCHEDSTATS=y +CONFIG_PROVE_LOCKING=y +CONFIG_DEBUG_LOCKDEP=y # CONFIG_DEBUG_BUGVERBOSE is not set +CONFIG_DEBUG_LIST=y CONFIG_RCU_CPU_STALL_TIMEOUT=60 CONFIG_FAULT_INJECTION=y CONFIG_ENABLE_DEFAULT_TRACERS=y CONFIG_MTK_SCHED_TRACERS=y +CONFIG_MTK_FTRACE_DEFAULT_ENABLE=y +CONFIG_DMA_API_DEBUG=y +CONFIG_KGDB=y +CONFIG_KGDB_KDB=y CONFIG_DEBUG_RODATA=y CONFIG_SECURITY=y CONFIG_SECURITY_NETWORK=y @@ -474,6 +500,6 @@ CONFIG_CRYPTO_SHA2_ARM64_CE=y CONFIG_CRYPTO_AES_ARM64_CE=y CONFIG_CRYPTO_AES_ARM64_CE_BLK=y CONFIG_LIBCRC32C=y -# Add start by wenshengfan,2016/5/23 +# Added start by wenshengfan,2016/5/23 CONFIG_MTK_DISABLE_POWER_ON_OFF_VOLTAGE_LIMITATION=y -# Add end by wenshengfan,2016/5/23 +# Added end by wenshengfan,2016/5/23 diff --git a/drivers/input/touchscreen/mediatek/mtk_tpd.c b/drivers/input/touchscreen/mediatek/mtk_tpd.c index 513ac0be1020..892f9a2b7465 100644..100755 --- a/drivers/input/touchscreen/mediatek/mtk_tpd.c +++ b/drivers/input/touchscreen/mediatek/mtk_tpd.c @@ -648,12 +648,23 @@ static int tpd_remove(struct platform_device *pdev) return 0; } +#define HDMI2LCM_SWITCH 1 + +#if HDMI2LCM_SWITCH +extern int mt_get_gpio_in(unsigned long pin); +#endif + /* called when loaded into kernel */ static void tpd_init_work_callback(struct work_struct *work) { TPD_DEBUG("MediaTek touch panel driver init\n"); - if (platform_driver_register(&tpd_driver) != 0) { - TPD_DMESG("unable to register touch panel driver.\n"); +#if HDMI2LCM_SWITCH + if(mt_get_gpio_in(68)) +#endif + { + if (platform_driver_register(&tpd_driver) != 0) { + TPD_DMESG("unable to register touch panel driver.\n"); + } } } static int __init tpd_device_init(void) diff --git a/drivers/misc/mediatek/dws/mt6797/amt6797_64_open.dws b/drivers/misc/mediatek/dws/mt6797/amt6797_64_open.dws index 4333dd573229..f322894fdea1 100755 --- a/drivers/misc/mediatek/dws/mt6797/amt6797_64_open.dws +++ b/drivers/misc/mediatek/dws/mt6797/amt6797_64_open.dws @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!--dct_version="2.2" buid_sn="160113" dws_modification_time="07.15.2016.18:04:17"--> +<!--dct_version="2.2" buid_sn="160113" dws_modification_time="07.29.2016.11:10:42"--> <dct_cfg> <general chip="MT6797"> <proj>k97_v1</proj> @@ -1033,12 +1033,11 @@ <def_mode>0</def_mode> <mode_arr>11111101</mode_arr> <inpull_en>true</inpull_en> - <inpull_selhigh>false</inpull_selhigh> - <def_dir>OUT</def_dir> + <inpull_selhigh>true</inpull_selhigh> + <def_dir>IN</def_dir> <in>true</in> <out>true</out> <out_high>false</out_high> - <varName0>GPIO_CTP_RST_PIN</varName0> <smt>true</smt> <ies>true</ies> </gpio68> diff --git a/drivers/misc/mediatek/led_96board/led_96board.c b/drivers/misc/mediatek/led_96board/led_96board.c index 0bc0e7ef244c..fc4d8b78a28e 100755 --- a/drivers/misc/mediatek/led_96board/led_96board.c +++ b/drivers/misc/mediatek/led_96board/led_96board.c @@ -1,3 +1,15 @@ +/* + * Copyright (C) 2015 MediaTek Inc. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ #include "led_96board.h" #include <mt-plat/mt_gpio.h> diff --git a/drivers/misc/mediatek/led_96board/led_96board.h b/drivers/misc/mediatek/led_96board/led_96board.h index 18b3e8939a13..300293846f5a 100755 --- a/drivers/misc/mediatek/led_96board/led_96board.h +++ b/drivers/misc/mediatek/led_96board/led_96board.h @@ -1,4 +1,17 @@ - +/* + * Copyright (C) 2015 MediaTek Inc. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + + #ifndef __LED_96BOARD_H__ #define __LED_96BOARD_H__ diff --git a/drivers/misc/mediatek/multibridge/mt6797/mt8193/mt8193_iic.c b/drivers/misc/mediatek/multibridge/mt6797/mt8193/mt8193_iic.c index 710d5627a2ce..7c00084e9e6e 100755 --- a/drivers/misc/mediatek/multibridge/mt6797/mt8193/mt8193_iic.c +++ b/drivers/misc/mediatek/multibridge/mt6797/mt8193/mt8193_iic.c @@ -268,7 +268,7 @@ static int mt8193_i2c_remove(struct i2c_client *client) } /*----------------------------------------------------------------------------*/ #ifdef HDMI_OPEN_PACAKAGE_SUPPORT -static int mt8193_power_init(struct platform_device *pdev) +static int mt8193_power_init(struct platform_device *pdev,bool switch_power) { int ret =0; struct device_node *kd_node =NULL; @@ -280,11 +280,12 @@ static int mt8193_power_init(struct platform_device *pdev) mt8193_dev_context->of_node = of_find_compatible_node(NULL,NULL,"mediatek,mt_pmic_regulator_supply"); pr_err("mt8193_power_init get mt_pmic_regulator_supply!\n"); - - if (vmipi_pmu == NULL) { - vmipi_pmu = regulator_get(mt8193_dev_context, "vmipi"); - } - if (IS_ERR(vmipi_pmu)){ + if(switch_power == 1) + { + if (vmipi_pmu == NULL) { + vmipi_pmu = regulator_get(mt8193_dev_context, "vmipi"); + } + if (IS_ERR(vmipi_pmu)){ pr_err("mt8193_power_init vmipi_pmu error %p!!!!!!!!!!!!!!\n", vmipi_pmu); ret = -1; goto exit; @@ -373,6 +374,103 @@ static int mt8193_power_init(struct platform_device *pdev) bus_reset_pin = of_get_named_gpio(dn, "hdmi_reset_gpios", 0); gpio_direction_output(bus_reset_pin, 1); #endif + } + else if (switch_power == 0) + { + if (vmipi_pmu == NULL) { + vmipi_pmu = regulator_get(mt8193_dev_context, "vmipi"); + } + if (IS_ERR(vmipi_pmu)){ + pr_err("mt8193_power_init vmipi_pmu error %p!!!!!!!!!!!!!!\n", vmipi_pmu); + ret = -1; + goto exit; + } else { + pr_debug("mt8193_power_init vmipi_pmu init done %p\n", vmipi_pmu ); + //regulator_set_voltage(vmipi_pmu, 1800000, 1800000); + ret = regulator_disable(vmipi_pmu); + if(ret) + pr_err("regulator_disable vmipi failed!\n"); + else + pr_err("regulator_disable vmipi pass!\n"); + } + //msleep(4); + + if (vrf12_pmu == NULL) { + vrf12_pmu = regulator_get(mt8193_dev_context, "vrf12"); + } + if (IS_ERR(vrf12_pmu)) { + pr_err("mt8193_power_init vrf12_pmu error %p!!!!!!!!!!!!!!\n", vrf12_pmu); + ret = -1; + goto vrf12_pmu_exit; + } else { + pr_debug("mt8193_power_init vrf12_pmu init done %p\n", vrf12_pmu ); + //regulator_set_voltage(vrf12_pmu, 1200000, 1200000); + ret = regulator_disable(vrf12_pmu); + if(ret) + pr_err("regulator_disable vrf12_pmu failed!\n"); + else + pr_err("regulator_disable vrf12_pmu pass!\n"); + } + //msleep(8); + + if (vibr_pmu == NULL) { + vibr_pmu = regulator_get(mt8193_dev_context, "vibr"); + } + if (IS_ERR(vibr_pmu)){ + pr_err("mt8193_power_init vibr_pmu error %p!!!!!!!!!!!!!!\n", vibr_pmu); + ret = -1; + goto vibr_pmu_exit; + } else { + pr_debug("mt8193_power_init vibr_pmu init done %p\n", vibr_pmu ); + //regulator_set_voltage(vibr_pmu, 3300000, 3300000); + ret = regulator_disable(vibr_pmu); + if(ret) + pr_err("regulator_disable vibr_pmu failed!\n"); + else + pr_err("regulator_disable vibr_pmu pass!\n"); + } + //msleep(4); + + if (vldo28_pmu == NULL) { + vldo28_pmu = regulator_get(mt8193_dev_context, "vldo28"); + } + if (IS_ERR(vldo28_pmu)) { + pr_err("mt8193_power_init vldo28_pmu error %p!!!!!!!!!!!!!!\n", vldo28_pmu); + ret = -1; + goto vldo28_pmu_exit; + } else { + pr_debug("mt8193_power_init vldo28_pmu init done %p\n", vldo28_pmu ); + //regulator_set_voltage(vldo28_pmu, 2800000, 2800000); + ret = regulator_disable(vldo28_pmu); + if(ret) + pr_err("regulator_disable vldo28_pmu failed!\n"); + else + pr_err("regulator_disable vldo28_pmu pass!\n"); + } + //msleep(20); + + mt8193_dev_context->of_node = kd_node ; + rst_pinctrl = devm_pinctrl_get(mt8193_dev_context); + if(IS_ERR(rst_pinctrl)) { + ret = PTR_ERR(rst_pinctrl); + pr_err("Cannot find mt8193 rst pinctrl!\n"); + goto rst_exit; + } + pin_state = pinctrl_lookup_state(rst_pinctrl, rst_pin_name[0]); + if(IS_ERR(pin_state)) { + ret = PTR_ERR(pin_state); + pr_err("Cannot find mt8193 rst pin state!\n"); + goto rst_exit; + } else { + pinctrl_select_state(rst_pinctrl, pin_state); + } +#if 0 + dn = of_find_compatible_node(NULL, NULL, "mediatek,mt8193-hdmi"); + bus_reset_pin = of_get_named_gpio(dn, "hdmi_reset_gpios", 0); + gpio_direction_output(bus_reset_pin, 1); +#endif + } + return ret; rst_exit: regulator_disable(vldo28_pmu); @@ -394,7 +492,7 @@ static int mt8193_probe(struct platform_device *pdev) { pr_err("%s\n", __func__); #ifdef HDMI_OPEN_PACAKAGE_SUPPORT - mt8193_power_init(pdev); + mt8193_power_init(pdev,1); #else if (i2c_add_driver(&mt8193_i2c_driver)) { pr_err("%s: unable to add mt8193 i2c driver\n", __func__); @@ -410,6 +508,16 @@ static int mt8193_remove(struct platform_device *pdev) i2c_del_driver(&mt8193_i2c_driver); return 0; } +static int mt8193_power_suspend(struct platform_device *pdev,pm_message_t state) +{ + //mt8193_power_init(pdev,0); + return 0; +} +static int mt8193_power_resume(struct platform_device *pdev) +{ + //mt8193_power_init(pdev,1); + return 0; +} /*----------------------------------------------------------------------------*/ #ifdef CONFIG_OF static const struct of_device_id multibridge_of_ids[] = { @@ -421,6 +529,8 @@ static const struct of_device_id multibridge_of_ids[] = { static struct platform_driver mt8193_mb_driver = { .probe = mt8193_probe, .remove = mt8193_remove, + .suspend = mt8193_power_suspend, + .resume = mt8193_power_resume, .driver = { .name = "multibridge", #ifdef CONFIG_OF diff --git a/drivers/misc/mediatek/video/mt6797/dispsys/ddp_dpi.c b/drivers/misc/mediatek/video/mt6797/dispsys/ddp_dpi.c index 1ffacf2382fd..2519cd29634c 100755 --- a/drivers/misc/mediatek/video/mt6797/dispsys/ddp_dpi.c +++ b/drivers/misc/mediatek/video/mt6797/dispsys/ddp_dpi.c @@ -474,11 +474,11 @@ enum DPI_STATUS ddp_dpi_ConfigCCIR656(cmdqRecHandle cmdq, bool enable) DPI_OUTREGBIT(cmdq, struct DPI_REG_OUTPUT_SETTING, DPI_REG->OUTPUT_SETTING, YC_MAP, outputsetting.YC_MAP); DPI_OUTREGBIT(cmdq, struct DPI_REG_OUTPUT_SETTING, DPI_REG->OUTPUT_SETTING, CLK_POL, outputsetting.CLK_POL); - ylimit.Y_LIMIT_BOT = 0x100; - ylimit.Y_LIMIT_TOP = 0xF00; - climit.C_LIMIT_BOT = 0x100; - climit.C_LIMIT_TOP = 0xF00; - + ylimit.Y_LIMIT_BOT= 0x100; + ylimit.Y_LIMIT_TOP= 0xF00; + climit.C_LIMIT_BOT= 0x100; + climit.C_LIMIT_TOP= 0xF00; + DPI_OUTREGBIT(cmdq, struct DPI_REG_Y_LIMIT, DPI_REG->Y_LIMIT, Y_LIMIT_BOT, ylimit.Y_LIMIT_BOT); DPI_OUTREGBIT(cmdq, struct DPI_REG_Y_LIMIT, DPI_REG->Y_LIMIT, Y_LIMIT_TOP, ylimit.Y_LIMIT_TOP); DPI_OUTREGBIT(cmdq, struct DPI_REG_C_LIMIT, DPI_REG->C_LIMIT, C_LIMIT_BOT, climit.C_LIMIT_BOT); |