Loading arch/arm/boot/dts/apq8084-cdp.dtsi +26 −3 Original line number Diff line number Diff line Loading @@ -356,10 +356,10 @@ gpio@cf00 { /* GPIO 16 */ qcom,mode = <1>; /* Digital output */ qcom,output-type = <0>; /* CMOS logic */ qcom,invert = <0>; /* Output low initially */ qcom,pull = <5>; /* No pull */ qcom,vin-sel = <2>; /* VIN 2 */ qcom,src-sel = <2>; /* Function 1 */ qcom,out-strength = <2>; /* Medium */ qcom,out-strength = <3>; /* High */ qcom,src-sel = <3>; /* QPNP_PIN_SEL_FUNC_2 */ qcom,master-en = <1>; /* Enable GPIO */ }; Loading Loading @@ -463,3 +463,26 @@ synaptics,i2c-pull-up; }; }; &i2c_2 { isa1200@48 { status = "okay"; reg = <0x48>; vcc_i2c-supply = <&pma8084_s4>; compatible = "imagis,isa1200"; label = "vibrator"; imagis,chip-en; imagis,need-pwm-clk; imagis,ext-clk-en; imagis,hap-en-gpio = <&msmgpio 48 0x00>; imagis,max-timeout = <15000>; imagis,pwm-div = <256>; imagis,mode-ctrl = <2>; imagis,regulator { regulator-name = "vcc_i2c"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-max-microamp = <9360>; }; }; }; arch/arm/boot/dts/apq8084-liquid.dtsi +26 −0 Original line number Diff line number Diff line Loading @@ -87,6 +87,11 @@ interrupt-names = "vbus_det_irq"; vin-supply = <&vbus_det_vreg>; }; drv2667_vreg: drv2667_vdd_vreg { compatible = "regulator-fixed"; regulator-name = "vdd_drv2667"; }; }; /include/ "dsi-panel-jdi-dualmipi0-video.dtsi" Loading Loading @@ -536,3 +541,24 @@ }; }; }; &i2c_2 { ti-drv2667@59 { compatible = "ti,drv2667"; reg = <0x59>; vdd-supply = <&drv2667_vreg>; vdd-i2c-supply = <&pma8084_s4>; ti,label = "vibrator"; ti,gain = <2>; ti,idle-timeout-ms = <20>; ti,max-runtime-ms = <15000>; ti,mode = <2>; ti,wav-seq = [ /* wave form id */ 01 /* header size, start and stop bytes */ 05 80 06 00 09 /* repeat, amp, freq, duration, envelope */ 01 ff 19 02 00]; }; }; arch/arm/boot/dts/apq8084-mtp.dtsi +27 −3 Original line number Diff line number Diff line Loading @@ -371,10 +371,10 @@ gpio@cf00 { /* GPIO 16 */ qcom,mode = <1>; /* Digital output */ qcom,output-type = <0>; /* CMOS logic */ qcom,invert = <0>; /* Output low initially */ qcom,pull = <5>; /* No pull */ qcom,vin-sel = <2>; /* VIN 2 */ qcom,src-sel = <2>; /* Function 1 */ qcom,out-strength = <2>; /* Medium */ qcom,out-strength = <3>; /* High */ qcom,src-sel = <3>; /* QPNP_PIN_SEL_FUNC_2 */ qcom,master-en = <1>; /* Enable GPIO */ }; Loading Loading @@ -468,3 +468,27 @@ interrupts = <0x00 0xcd 0x0>; /* PMIC8084 GPIO 14 */ }; }; &i2c_2 { isa1200@48 { status = "okay"; reg = <0x48>; vcc_i2c-supply = <&pma8084_s4>; compatible = "imagis,isa1200"; label = "vibrator"; imagis,chip-en; imagis,need-pwm-clk; imagis,ext-clk-en; imagis,hap-en-gpio = <&msmgpio 48 0x00>; imagis,max-timeout = <15000>; imagis,pwm-div = <256>; imagis,mode-ctrl = <2>; imagis,regulator { regulator-name = "vcc_i2c"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-max-microamp = <9360>; }; }; }; arch/arm/boot/dts/apq8084.dtsi +16 −0 Original line number Diff line number Diff line Loading @@ -446,6 +446,22 @@ qcom,master-id = <86>; }; i2c_2: i2c@f9927000 { /* BLSP1 QUP5 */ cell-index = <2>; compatible = "qcom,i2c-qup"; #address-cells = <1>; #size-cells = <0>; reg-names = "qup_phys_addr"; reg = <0xf9927000 0x1000>; interrupt-names = "qup_err_intr"; interrupts = <0 99 0>; qcom,i2c-bus-freq = <100000>; qcom,i2c-src-freq = <19200000>; qcom,sda-gpio = <&msmgpio 41 0>; qcom,scl-gpio = <&msmgpio 42 0>; qcom,master-id = <86>; }; i2c_1: i2c@f9966000 { /* BLSP2 QUP4 */ cell-index = <1>; compatible = "qcom,i2c-qup"; Loading arch/arm/mach-msm/board-8084-gpiomux.c +36 −0 Original line number Diff line number Diff line Loading @@ -64,6 +64,28 @@ static struct gpiomux_setting ap2mdm_wakeup = { .pull = GPIOMUX_PULL_DOWN, }; static struct gpiomux_setting hap_lvl_shft_active_config = { .func = GPIOMUX_FUNC_GPIO, .drv = GPIOMUX_DRV_8MA, .pull = GPIOMUX_PULL_UP, }; static struct gpiomux_setting hap_lvl_shft_suspended_config = { .func = GPIOMUX_FUNC_GPIO, .drv = GPIOMUX_DRV_2MA, .pull = GPIOMUX_PULL_DOWN, }; static struct msm_gpiomux_config hap_lvl_shft_config[] __initdata = { { .gpio = 48, .settings = { [GPIOMUX_ACTIVE] = &hap_lvl_shft_active_config, [GPIOMUX_SUSPENDED] = &hap_lvl_shft_suspended_config, }, }, }; static struct msm_gpiomux_config mdm_configs[] __initdata = { /* AP2MDM_STATUS */ { Loading Loading @@ -237,6 +259,18 @@ static struct msm_gpiomux_config msm_blsp_configs[] __initdata = { [GPIOMUX_SUSPENDED] = &gpio_i2c_config, }, }, { .gpio = 41, /* BLSP1 QUP5 I2C_SDA */ .settings = { [GPIOMUX_SUSPENDED] = &gpio_i2c_config, }, }, { .gpio = 42, /* BLSP1 QUP5 ISC_SCL */ .settings = { [GPIOMUX_SUSPENDED] = &gpio_i2c_config, }, }, { .gpio = 51, /* BLSP2 UART1 TX */ .settings = { Loading Loading @@ -616,4 +650,6 @@ void __init apq8084_init_gpiomux(void) msm_gpiomux_install(msm_wlan_configs, ARRAY_SIZE(msm_wlan_configs)); msm_gpiomux_install(&sd_card_det, 1); msm_gpiomux_install(hap_lvl_shft_config, ARRAY_SIZE(hap_lvl_shft_config)); } Loading
arch/arm/boot/dts/apq8084-cdp.dtsi +26 −3 Original line number Diff line number Diff line Loading @@ -356,10 +356,10 @@ gpio@cf00 { /* GPIO 16 */ qcom,mode = <1>; /* Digital output */ qcom,output-type = <0>; /* CMOS logic */ qcom,invert = <0>; /* Output low initially */ qcom,pull = <5>; /* No pull */ qcom,vin-sel = <2>; /* VIN 2 */ qcom,src-sel = <2>; /* Function 1 */ qcom,out-strength = <2>; /* Medium */ qcom,out-strength = <3>; /* High */ qcom,src-sel = <3>; /* QPNP_PIN_SEL_FUNC_2 */ qcom,master-en = <1>; /* Enable GPIO */ }; Loading Loading @@ -463,3 +463,26 @@ synaptics,i2c-pull-up; }; }; &i2c_2 { isa1200@48 { status = "okay"; reg = <0x48>; vcc_i2c-supply = <&pma8084_s4>; compatible = "imagis,isa1200"; label = "vibrator"; imagis,chip-en; imagis,need-pwm-clk; imagis,ext-clk-en; imagis,hap-en-gpio = <&msmgpio 48 0x00>; imagis,max-timeout = <15000>; imagis,pwm-div = <256>; imagis,mode-ctrl = <2>; imagis,regulator { regulator-name = "vcc_i2c"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-max-microamp = <9360>; }; }; };
arch/arm/boot/dts/apq8084-liquid.dtsi +26 −0 Original line number Diff line number Diff line Loading @@ -87,6 +87,11 @@ interrupt-names = "vbus_det_irq"; vin-supply = <&vbus_det_vreg>; }; drv2667_vreg: drv2667_vdd_vreg { compatible = "regulator-fixed"; regulator-name = "vdd_drv2667"; }; }; /include/ "dsi-panel-jdi-dualmipi0-video.dtsi" Loading Loading @@ -536,3 +541,24 @@ }; }; }; &i2c_2 { ti-drv2667@59 { compatible = "ti,drv2667"; reg = <0x59>; vdd-supply = <&drv2667_vreg>; vdd-i2c-supply = <&pma8084_s4>; ti,label = "vibrator"; ti,gain = <2>; ti,idle-timeout-ms = <20>; ti,max-runtime-ms = <15000>; ti,mode = <2>; ti,wav-seq = [ /* wave form id */ 01 /* header size, start and stop bytes */ 05 80 06 00 09 /* repeat, amp, freq, duration, envelope */ 01 ff 19 02 00]; }; };
arch/arm/boot/dts/apq8084-mtp.dtsi +27 −3 Original line number Diff line number Diff line Loading @@ -371,10 +371,10 @@ gpio@cf00 { /* GPIO 16 */ qcom,mode = <1>; /* Digital output */ qcom,output-type = <0>; /* CMOS logic */ qcom,invert = <0>; /* Output low initially */ qcom,pull = <5>; /* No pull */ qcom,vin-sel = <2>; /* VIN 2 */ qcom,src-sel = <2>; /* Function 1 */ qcom,out-strength = <2>; /* Medium */ qcom,out-strength = <3>; /* High */ qcom,src-sel = <3>; /* QPNP_PIN_SEL_FUNC_2 */ qcom,master-en = <1>; /* Enable GPIO */ }; Loading Loading @@ -468,3 +468,27 @@ interrupts = <0x00 0xcd 0x0>; /* PMIC8084 GPIO 14 */ }; }; &i2c_2 { isa1200@48 { status = "okay"; reg = <0x48>; vcc_i2c-supply = <&pma8084_s4>; compatible = "imagis,isa1200"; label = "vibrator"; imagis,chip-en; imagis,need-pwm-clk; imagis,ext-clk-en; imagis,hap-en-gpio = <&msmgpio 48 0x00>; imagis,max-timeout = <15000>; imagis,pwm-div = <256>; imagis,mode-ctrl = <2>; imagis,regulator { regulator-name = "vcc_i2c"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-max-microamp = <9360>; }; }; };
arch/arm/boot/dts/apq8084.dtsi +16 −0 Original line number Diff line number Diff line Loading @@ -446,6 +446,22 @@ qcom,master-id = <86>; }; i2c_2: i2c@f9927000 { /* BLSP1 QUP5 */ cell-index = <2>; compatible = "qcom,i2c-qup"; #address-cells = <1>; #size-cells = <0>; reg-names = "qup_phys_addr"; reg = <0xf9927000 0x1000>; interrupt-names = "qup_err_intr"; interrupts = <0 99 0>; qcom,i2c-bus-freq = <100000>; qcom,i2c-src-freq = <19200000>; qcom,sda-gpio = <&msmgpio 41 0>; qcom,scl-gpio = <&msmgpio 42 0>; qcom,master-id = <86>; }; i2c_1: i2c@f9966000 { /* BLSP2 QUP4 */ cell-index = <1>; compatible = "qcom,i2c-qup"; Loading
arch/arm/mach-msm/board-8084-gpiomux.c +36 −0 Original line number Diff line number Diff line Loading @@ -64,6 +64,28 @@ static struct gpiomux_setting ap2mdm_wakeup = { .pull = GPIOMUX_PULL_DOWN, }; static struct gpiomux_setting hap_lvl_shft_active_config = { .func = GPIOMUX_FUNC_GPIO, .drv = GPIOMUX_DRV_8MA, .pull = GPIOMUX_PULL_UP, }; static struct gpiomux_setting hap_lvl_shft_suspended_config = { .func = GPIOMUX_FUNC_GPIO, .drv = GPIOMUX_DRV_2MA, .pull = GPIOMUX_PULL_DOWN, }; static struct msm_gpiomux_config hap_lvl_shft_config[] __initdata = { { .gpio = 48, .settings = { [GPIOMUX_ACTIVE] = &hap_lvl_shft_active_config, [GPIOMUX_SUSPENDED] = &hap_lvl_shft_suspended_config, }, }, }; static struct msm_gpiomux_config mdm_configs[] __initdata = { /* AP2MDM_STATUS */ { Loading Loading @@ -237,6 +259,18 @@ static struct msm_gpiomux_config msm_blsp_configs[] __initdata = { [GPIOMUX_SUSPENDED] = &gpio_i2c_config, }, }, { .gpio = 41, /* BLSP1 QUP5 I2C_SDA */ .settings = { [GPIOMUX_SUSPENDED] = &gpio_i2c_config, }, }, { .gpio = 42, /* BLSP1 QUP5 ISC_SCL */ .settings = { [GPIOMUX_SUSPENDED] = &gpio_i2c_config, }, }, { .gpio = 51, /* BLSP2 UART1 TX */ .settings = { Loading Loading @@ -616,4 +650,6 @@ void __init apq8084_init_gpiomux(void) msm_gpiomux_install(msm_wlan_configs, ARRAY_SIZE(msm_wlan_configs)); msm_gpiomux_install(&sd_card_det, 1); msm_gpiomux_install(hap_lvl_shft_config, ARRAY_SIZE(hap_lvl_shft_config)); }