Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dcce4f2b authored by qctecmdr Service's avatar qctecmdr Service Committed by Gerrit - the friendly Code Review server
Browse files

Merge "pinctrl: qcom: Add direct connect configuration for sdmmagpie"

parents 5c263e09 79663834
Loading
Loading
Loading
Loading
+96 −97
Original line number Diff line number Diff line
@@ -22,7 +22,6 @@ static struct pdc_pin sdmmagpie_data[] = {
	{4, 516},/*secure_wdog_bark_irq*/
	{5, 517},/*aop_wdog_expired_irq*/
	{6, 518},/*qmp_usb3_lfps_rxterm_irq*/
	{6, 518},/*qmp_usb3_lfps_rxterm_irq*/
	{7, 519},/*not-connected*/
	{8, 520},/*eud_p0_dmse_int_mx*/
	{9, 521},/*eud_p0_dpse_int_mx*/
@@ -46,102 +45,102 @@ static struct pdc_pin sdmmagpie_data[] = {
	{27, 539},/*tsense1_upper_lower_intr*/
	{28, 540},/*tsense0_critical_intr*/
	{29, 541},/*tsense1_critical_intr*/
	{30, 542},/*apps_pdc.gp_irq_mux[0]*/
	{31, 543},/*apps_pdc.gp_irq_mux[1]*/
	{32, 544},/*apps_pdc.gp_irq_mux[2]*/
	{33, 545},/*apps_pdc.gp_irq_mux[3]*/
	{34, 546},/*apps_pdc.gp_irq_mux[4]*/
	{35, 547},/*apps_pdc.gp_irq_mux[5]*/
	{36, 548},/*apps_pdc.gp_irq_mux[6]*/
	{37, 549},/*apps_pdc.gp_irq_mux[7]*/
	{38, 550},/*apps_pdc.gp_irq_mux[8]*/
	{39, 551},/*apps_pdc.gp_irq_mux[9]*/
	{40, 552},/*apps_pdc.gp_irq_mux[10]*/
	{41, 553},/*apps_pdc.gp_irq_mux[11]*/
	{42, 554},/*apps_pdc.gp_irq_mux[12]*/
	{43, 555},/*apps_pdc.gp_irq_mux[13]*/
	{44, 556},/*apps_pdc.gp_irq_mux[14]*/
	{45, 557},/*apps_pdc.gp_irq_mux[15]*/
	{46, 558},/*apps_pdc.gp_irq_mux[16]*/
	{47, 559},/*apps_pdc.gp_irq_mux[17]*/
	{48, 560},/*apps_pdc.gp_irq_mux[18]*/
	{49, 561},/*apps_pdc.gp_irq_mux[19]*/
	{50, 562},/*apps_pdc.gp_irq_mux[20]*/
	{51, 563},/*apps_pdc.gp_irq_mux[21]*/
	{52, 564},/*apps_pdc.gp_irq_mux[22]*/
	{53, 565},/*apps_pdc.gp_irq_mux[23]*/
	{54, 566},/*apps_pdc.gp_irq_mux[24]*/
	{55, 567},/*apps_pdc.gp_irq_mux[25]*/
	{56, 568},/*apps_pdc.gp_irq_mux[26]*/
	{57, 569},/*apps_pdc.gp_irq_mux[27]*/
	{58, 570},/*apps_pdc.gp_irq_mux[28]*/
	{59, 571},/*apps_pdc.gp_irq_mux[29]*/
	{60, 572},/*apps_pdc.gp_irq_mux[30]*/
	{61, 573},/*apps_pdc.gp_irq_mux[31]*/
	{62, 574},/*apps_pdc.gp_irq_mux[32]*/
	{63, 575},/*apps_pdc.gp_irq_mux[33]*/
	{64, 576},/*apps_pdc.gp_irq_mux[34]*/
	{65, 577},/*apps_pdc.gp_irq_mux[35]*/
	{66, 578},/*apps_pdc.gp_irq_mux[36]*/
	{67, 579},/*apps_pdc.gp_irq_mux[37]*/
	{68, 580},/*apps_pdc.gp_irq_mux[38]*/
	{69, 581},/*apps_pdc.gp_irq_mux[39]*/
	{70, 582},/*apps_pdc.gp_irq_mux[40]*/
	{71, 583},/*apps_pdc.gp_irq_mux[41]*/
	{72, 584},/*apps_pdc.gp_irq_mux[42]*/
	{73, 585},/*apps_pdc.gp_irq_mux[43]*/
	{74, 586},/*apps_pdc.gp_irq_mux[44]*/
	{75, 587},/*apps_pdc.gp_irq_mux[45]*/
	{76, 588},/*apps_pdc.gp_irq_mux[46]*/
	{77, 589},/*apps_pdc.gp_irq_mux[47]*/
	{78, 590},/*apps_pdc.gp_irq_mux[48]*/
	{79, 591},/*apps_pdc.gp_irq_mux[49]*/
	{80, 592},/*apps_pdc.gp_irq_mux[50]*/
	{81, 593},/*apps_pdc.gp_irq_mux[51]*/
	{82, 594},/*apps_pdc.gp_irq_mux[52]*/
	{83, 595},/*apps_pdc.gp_irq_mux[53]*/
	{84, 596},/*apps_pdc.gp_irq_mux[54]*/
	{85, 597},/*apps_pdc.gp_irq_mux[55]*/
	{86, 598},/*apps_pdc.gp_irq_mux[56]*/
	{87, 599},/*apps_pdc.gp_irq_mux[57]*/
	{88, 600},/*apps_pdc.gp_irq_mux[58]*/
	{89, 601},/*apps_pdc.gp_irq_mux[59]*/
	{90, 602},/*apps_pdc.gp_irq_mux[60]*/
	{91, 603},/*apps_pdc.gp_irq_mux[61]*/
	{92, 604},/*apps_pdc.gp_irq_mux[62]*/
	{93, 605},/*apps_pdc.gp_irq_mux[63]*/
	{94, 641},/*apps_pdc.gp_irq_mux[64]*/
	{95, 642},/*apps_pdc.gp_irq_mux[65]*/
	{96, 643},/*apps_pdc.gp_irq_mux[66]*/
	{97, 644},/*apps_pdc.gp_irq_mux[67]*/
	{98, 645},/*apps_pdc.gp_irq_mux[68]*/
	{99, 646},/*apps_pdc.gp_irq_mux[69]*/
	{100, 647},/*apps_pdc.gp_irq_mux[70]*/
	{101, 648},/*apps_pdc.gp_irq_mux[71]*/
	{102, 649},/*apps_pdc.gp_irq_mux[72]*/
	{103, 650},/*apps_pdc.gp_irq_mux[73]*/
	{104, 651},/*apps_pdc.gp_irq_mux[74]*/
	{105, 652},/*apps_pdc.gp_irq_mux[75]*/
	{106, 653},/*apps_pdc.gp_irq_mux[76]*/
	{107, 654},/*apps_pdc.gp_irq_mux[77]*/
	{108, 655},/*apps_pdc.gp_irq_mux[78]*/
	{109, 656},/*apps_pdc.gp_irq_mux[79]*/
	{110, 657},/*apps_pdc.gp_irq_mux[80]*/
	{111, 658},/*apps_pdc.gp_irq_mux[81]*/
	{112, 659},/*apps_pdc.gp_irq_mux[82]*/
	{113, 660},/*apps_pdc.gp_irq_mux[83]*/
	{114, 661},/*apps_pdc.gp_irq_mux[84]*/
	{115, 662},/*apps_pdc.gp_irq_mux[85]*/
	{116, 663},/*apps_pdc.gp_irq_mux[86]*/
	{117, 664},/*apps_pdc.gp_irq_mux[87]*/
	{118, 665},/*apps_pdc.gp_irq_mux[88]*/
	{119, 666},/*apps_pdc.gp_irq_mux[89]*/
	{120, 667},/*apps_pdc.gp_irq_mux[90]*/
	{121, 668},/*apps_pdc.gp_irq_mux[91]*/
	{122, 669},/*apps_pdc.gp_irq_mux[92]*/
	{123, 670},/*apps_pdc.gp_irq_mux[93]*/
	{124, 671},/*apps_pdc.gp_irq_mux[94]*/
	{125, 95},/*apps_pdc.gp_irq_mux[95]*/
	{30, 542},/*core_bi_px_gpio_82*/
	{31, 543},/*core_bi_px_gpio_78*/
	{32, 544},/*core_bi_px_gpio_69*/
	{33, 545},/*core_bi_px_gpio_31*/
	{34, 546},/*core_bi_px_gpio_43*/
	{35, 547},/*core_bi_px_gpio_42*/
	{36, 548},/*core_bi_px_gpio_48*/
	{37, 549},/*core_bi_px_gpio_49*/
	{38, 550},/*core_bi_px_gpio_50*/
	{39, 551},/*core_bi_px_gpio_52*/
	{40, 552},/*core_bi_px_gpio_0*/
	{41, 553},/*core_bi_px_gpio_6*/
	{42, 554},/*core_bi_px_gpio_4*/
	{43, 555},/*core_bi_px_gpio_34*/
	{44, 556},/*core_bi_px_gpio_65*/
	{45, 557},/*core_bi_px_gpio_56*/
	{46, 558},/*core_bi_px_gpio_57*/
	{47, 559},/*core_bi_px_gpio_59*/
	{48, 560},/*core_bi_px_gpio_62*/
	{49, 561},/*core_bi_px_gpio_67*/
	{50, 562},/*core_bi_px_gpio_3*/
	{51, 563},/*core_bi_px_gpio_11*/
	{52, 564},/*core_bi_px_gpio_26*/
	{53, 565},/*core_bi_px_gpio_37*/
	{54, 566},/*core_bi_px_gpio_70*/
	{55, 567},/*core_bi_px_gpio_68*/
	{56, 568},/*core_bi_px_gpio_30*/
	{57, 569},/*core_bi_px_gpio_9*/
	{58, 570},/*core_bi_px_gpio_84*/
	{59, 571},/*core_bi_px_gpio_86*/
	{60, 572},/*core_bi_px_gpio_87*/
	{61, 573},/*core_bi_px_gpio_24*/
	{62, 574},/*core_bi_px_gpio_33*/
	{63, 575},/*core_bi_px_gpio_38*/
	{64, 576},/*core_bi_px_gpio_73*/
	{65, 577},/*core_bi_px_gpio_88*/
	{66, 578},/*core_bi_px_gpio_89*/
	{67, 579},/*core_bi_px_gpio_90*/
	{68, 580},/*core_bi_px_gpio_91*/
	{69, 581},/*core_bi_px_gpio_92*/
	{70, 582},/*core_bi_px_gpio_5*/
	{71, 583},/*core_bi_px_gpio_74*/
	{72, 584},/*core_bi_px_gpio_39*/
	{73, 585},/*core_bi_px_gpio_45*/
	{74, 586},/*core_bi_px_gpio_64*/
	{75, 587},/*core_bi_px_gpio_93*/
	{76, 588},/*core_bi_px_gpio_96*/
	{77, 589},/*core_bi_px_gpio_98*/
	{78, 590},/*core_bi_px_gpio_101*/
	{79, 591},/*core_bi_px_gpio_110*/
	{80, 592},/*core_bi_px_gpio_10*/
	{81, 593},/*core_bi_px_gpio_32*/
	{82, 594},/*core_bi_px_gpio_47*/
	{83, 595},/*core_bi_px_gpio_58*/
	{84, 596},/*core_bi_px_gpio_94*/
	{85, 597},/*core_bi_px_gpio_113*/
	{86, 598},/*gp_irq_hvm[56]*/
	{87, 599},/*gp_irq_hvm[57]*/
	{88, 600},/*gp_irq_hvm[58]*/
	{89, 601},/*gp_irq_hvm[59]*/
	{90, 602},/*core_bi_px_gpio_22*/
	{91, 603},/*core_bi_px_gpio_36*/
	{92, 604},/*core_bi_px_gpio_55*/
	{93, 605},/*core_bi_px_gpio_66*/
	{94, 641},/*core_bi_px_gpio_95*/
	{95, 642},/*bi_px_ssc_27_mx*/
	{96, 643},/*bi_px_ssc_28_mx*/
	{97, 644},/*bi_px_ssc_29_mx*/
	{98, 645},/*bi_px_ssc_30_mx*/
	{99, 646},/*core_bi_px_gpio_104*/
	{100, 647},/*core_bi_px_gpio_30*/
	{101, 648},/*core_bi_px_gpio_41*/
	{102, 649},/*core_bi_px_gpio_53*/
	{103, 650},/*core_bi_px_gpio_85*/
	{104, 651},/*core_bi_px_gpio_109*/
	{105, 652},/*bi_px_ssc_18_mx*/
	{106, 653},/*bi_px_ssc_20_mx*/
	{107, 654},/*bi_px_ssc_23_mx*/
	{108, 655},/*bi_px_ssc_24_mx*/
	{109, 656},/*bi_px_ssc_25_mx*/
	{110, 657},/*bi_px_ssc_26_mx*/
	{111, 658},/*core_bi_px_sdc1_data_1*/
	{112, 659},/*core_bi_px_sdc2_data[1]*/
	{113, 660},/*core_bi_px_sdc2_data[3]*/
	{114, 661},/*core_bi_px_sdc2_cmd*/
	{115, 662},/*gp_irq_hvm[85]*/
	{116, 663},/*gp_irq_hvm[86]*/
	{117, 664},/*gp_irq_hvm[87]*/
	{118, 665},/*gp_irq_hvm[88]*/
	{119, 666},/*gp_irq_hvm[89]*/
	{120, 667},/*gp_irq_hvm[90]*/
	{121, 668},/*gp_irq_hvm[91]*/
	{122, 669},/*gp_irq_hvm[92]*/
	{123, 670},/*core_bi_px_gpio_0*/
	{124, 671},/*core_bi_px_gpio_59*/
	{125, 95},/*core_bi_px_gpio_6*/
	{-1}
};

+83 −0
Original line number Diff line number Diff line
@@ -53,6 +53,8 @@
		.intr_cfg_reg = base + 0x8 + REG_SIZE * id,	\
		.intr_status_reg = base + 0xc + REG_SIZE * id,	\
		.intr_target_reg = base + 0x8 + REG_SIZE * id,	\
		.dir_conn_reg = (base == NORTH) ? base + 0x89000 : \
			((base == SOUTH) ? base + 0x86000 : base + 0x81000), \
		.mux_bit = 2,			\
		.pull_bit = 0,			\
		.drv_bit = 6,			\
@@ -67,6 +69,7 @@
		.intr_polarity_bit = 1,		\
		.intr_detection_bit = 2,	\
		.intr_detection_width = 2,	\
		.dir_conn_en_bit = 8,           \
	}

#define SDC_QDSD_PINGROUP(pg_name, ctl, pull, drv)	\
@@ -1447,6 +1450,83 @@ static const struct msm_pingroup sdmmagpie_groups[] = {
	[126] = UFS_RESET(ufs_reset, 0x9f000),
};

static struct msm_dir_conn sdmmagpie_dir_conn[] = {
	{0, 520},
	{3, 530},
	{4, 522},
	{5, 550},
	{6, 521},
	{9, 537},
	{10, 560},
	{11, 531},
	{22, 570},
	{24, 541},
	{26, 532},
	{30, 536},
	{31, 513},
	{32, 561},
	{33, 542},
	{34, 523},
	{36, 571},
	{37, 533},
	{38, 543},
	{39, 552},
	{41, 616},
	{42, 515},
	{43, 514},
	{45, 553},
	{47, 562},
	{48, 516},
	{49, 517},
	{50, 518},
	{52, 519},
	{53, 617},
	{55, 572},
	{56, 525},
	{57, 526},
	{58, 563},
	{59, 527},
	{62, 528},
	{64, 554},
	{65, 524},
	{66, 573},
	{67, 529},
	{68, 535},
	{69, 512},
	{70, 534},
	{73, 544},
	{74, 551},
	{78, 511},
	{82, 510},
	{84, 538},
	{85, 618},
	{86, 539},
	{87, 540},
	{88, 545},
	{89, 546},
	{90, 547},
	{91, 548},
	{92, 549},
	{93, 555},
	{94, 564},
	{95, 609},
	{96, 556},
	{98, 557},
	{101, 558},
	{104, 614},
	{109, 619},
	{110, 559},
	{113, 565},
	{0, 216},
	{0, 215},
	{0, 214},
	{0, 213},
	{0, 212},
	{0, 211},
	{0, 210},
	{0, 209},
};

static const struct msm_pinctrl_soc_data sdmmagpie_pinctrl = {
	.pins = sdmmagpie_pins,
	.npins = ARRAY_SIZE(sdmmagpie_pins),
@@ -1455,6 +1535,9 @@ static const struct msm_pinctrl_soc_data sdmmagpie_pinctrl = {
	.groups = sdmmagpie_groups,
	.ngroups = ARRAY_SIZE(sdmmagpie_groups),
	.ngpios = 119,
	.dir_conn = sdmmagpie_dir_conn,
	.n_dir_conns = ARRAY_SIZE(sdmmagpie_dir_conn),
	.dir_conn_irq_base = 216,
};

static int sdmmagpie_pinctrl_probe(struct platform_device *pdev)