Loading arch/arm/boot/dts/qcom/sdm660-pm660a-qrd.dts +10 −1 Original line number Diff line number Diff line /* Copyright (c) 2016-2017, The Linux Foundation. All rights reserved. /* Copyright (c) 2016-2018, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -33,6 +33,15 @@ qcom,mdss-pref-prim-intf = "dsi"; }; &mdss_dp_ctrl { pinctrl-names = "mdss_dp_active", "mdss_dp_sleep"; pinctrl-0 = <&mdss_dp_aux_active &mdss_dp_usbplug_cc_active>; pinctrl-1 = <&mdss_dp_aux_suspend &mdss_dp_usbplug_cc_suspend>; qcom,aux-en-gpio = <&tlmm 55 0>; qcom,aux-sel-gpio = <&tlmm 56 0>; qcom,usbplug-cc-gpio = <&tlmm 58 0>; }; &mdss_dsi { hw-config = "single_dsi"; }; Loading arch/arm/boot/dts/qcom/sdm660-regulator.dtsi +31 −8 Original line number Diff line number Diff line /* Copyright (c) 2016-2017, The Linux Foundation. All rights reserved. /* Copyright (c) 2016-2018, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -700,9 +700,9 @@ regulator-max-microvolt = <8>; qcom,cpr-fuse-corners = <5>; qcom,cpr-fuse-combos = <32>; qcom,cpr-speed-bins = <4>; qcom,cpr-speed-bin-corners = <8 8 0 8>; qcom,cpr-fuse-combos = <40>; qcom,cpr-speed-bins = <5>; qcom,cpr-speed-bin-corners = <8 8 0 8 8>; qcom,cpr-corners = /* Speed bin 0 */ <8 8 8 8 8 8 8 8>, Loading @@ -714,7 +714,11 @@ <0 0 0 0 0 0 0 0>, /* Speed bin 3 */ <8 8 8 8 8 8 8 8>, /* Speed bin 4 */ <8 8 8 8 8 8 8 8>; qcom,cpr-corner-fmax-map = /* Speed bin 0 */ <2 3 4 5 8>, Loading @@ -726,6 +730,9 @@ <0 0 0 0 0>, /* Speed bin 3 */ <2 3 4 5 8>, /* Speed bin 4 */ <2 3 4 5 8>; qcom,cpr-voltage-ceiling = Loading @@ -750,7 +757,12 @@ /* Speed bin 3 */ <300000000 633600000 902400000 1113600000 1401600000 1536000000 1612800000 1843200000>; 1612800000 1843200000>, /* Speed bin 4 */ <300000000 633600000 902400000 1113600000 1401600000 1536000000 1747200000 1843200000>; qcom,allow-voltage-interpolation; qcom,allow-quotient-interpolation; Loading Loading @@ -839,9 +851,9 @@ regulator-max-microvolt = <7>; qcom,cpr-fuse-corners = <5>; qcom,cpr-fuse-combos = <32>; qcom,cpr-speed-bins = <4>; qcom,cpr-speed-bin-corners = <7 7 0 7>; qcom,cpr-fuse-combos = <40>; qcom,cpr-speed-bins = <5>; qcom,cpr-speed-bin-corners = <7 7 0 7 7>; qcom,cpr-corners = /* Speed-bin 0 */ <7 7 7 7 7 7 7 7>, Loading @@ -853,6 +865,9 @@ <0 0 0 0 0 0 0 0>, /* Speed-bin 3 */ <7 7 7 7 7 7 7 7>, /* Speed-bin 4 */ <7 7 7 7 7 7 7 7>; qcom,cpr-corner-fmax-map = Loading @@ -866,6 +881,9 @@ <0 0 0 0 0>, /* Speed-bin 3 */ <2 3 4 6 7>, /* Speed-bin 4 */ <2 3 4 6 7>; qcom,cpr-voltage-ceiling = Loading @@ -890,6 +908,11 @@ /* Speed bin 3 */ <300000000 1113600000 1401600000 1747200000 1804800000 2150400000 2208000000>, /* Speed bin 4 */ <300000000 1113600000 1401600000 1747200000 1958400000 2150400000 2208000000>; qcom,allow-voltage-interpolation; Loading arch/arm/boot/dts/qcom/sdm660.dtsi +17 −0 Original line number Diff line number Diff line Loading @@ -1303,6 +1303,16 @@ < 1536000000 0x04040050 0x08400040 0x2 6 >, < 1612800000 0x04040054 0x09430043 0x2 7 >; qcom,pwrcl-speedbin4-v0 = < 300000000 0x0004000f 0x01200020 0x1 1 >, < 633600000 0x05040021 0x03200020 0x1 2 >, < 902400000 0x0404002f 0x04260026 0x1 3 >, < 1113600000 0x0404003a 0x052e002e 0x2 4 >, < 1401600000 0x04040049 0x073a003a 0x2 5 >, < 1536000000 0x04040050 0x08400040 0x2 6 >, < 1747200000 0x0404005b 0x09480048 0x2 7 >, < 1843200000 0x04040060 0x094c004c 0x3 8 >; qcom,perfcl-speedbin0-v0 = < 300000000 0x0004000f 0x01200020 0x1 1 >, < 1113600000 0x0404003a 0x052e002e 0x1 2 >, Loading @@ -1328,6 +1338,13 @@ < 1747200000 0x0404005b 0x09480048 0x2 4 >, < 1804800000 0x0404005e 0x094b004b 0x2 5 >; qcom,perfcl-speedbin4-v0 = < 300000000 0x0004000f 0x01200020 0x1 1 >, < 1113600000 0x0404003a 0x052e002e 0x1 2 >, < 1401600000 0x04040049 0x073a003a 0x2 3 >, < 1747200000 0x0404005b 0x09480048 0x2 4 >, < 1958400000 0x04040066 0x0a510051 0x2 5 >; qcom,up-timer = <1000 1000>; qcom,down-timer = <1000 1000>; qcom,pc-override-index = <0 0>; Loading drivers/clk/qcom/gpucc-sdm660.c +2 −1 Original line number Diff line number Diff line /* * Copyright (c) 2016-2017, The Linux Foundation. All rights reserved. * Copyright (c) 2016-2018, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -181,6 +181,7 @@ static const struct freq_tbl ftbl_gfx3d_clk_src[] = { F_GFX(370000000, 0, 2, 0, 0, 740000000), F_GFX(430000000, 0, 2, 0, 0, 860000000), F_GFX(465000000, 0, 2, 0, 0, 930000000), F_GFX(585000000, 0, 2, 0, 0, 1170000000), F_GFX(588000000, 0, 2, 0, 0, 1176000000), F_GFX(647000000, 0, 2, 0, 0, 1294000000), F_GFX(700000000, 0, 2, 0, 0, 1400000000), Loading drivers/cpuidle/lpm-levels-of.c +1 −32 Original line number Diff line number Diff line /* Copyright (c) 2014-2017, The Linux Foundation. All rights reserved. /* Copyright (c) 2014-2018, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -451,10 +451,6 @@ static int parse_legacy_cluster_params(struct device_node *node, return 0; failed: pr_err("%s(): Failed reading %s\n", __func__, key); kfree(c->name); kfree(c->lpm_dev); c->name = NULL; c->lpm_dev = NULL; return ret; } Loading Loading @@ -640,8 +636,6 @@ static int parse_cluster_level(struct device_node *node, return 0; failed: pr_err("Failed %s() key = %s ret = %d\n", __func__, key, ret); kfree(level->mode); level->mode = NULL; return ret; } Loading Loading @@ -836,19 +830,12 @@ static int parse_cpu_levels(struct device_node *node, struct lpm_cluster *c) return 0; failed: for (i = 0; i < c->cpu->nlevels; i++) { kfree(c->cpu->levels[i].name); c->cpu->levels[i].name = NULL; } kfree(c->cpu); c->cpu = NULL; pr_err("%s(): Failed with error code:%d\n", __func__, ret); return ret; } void free_cluster_node(struct lpm_cluster *cluster) { int i; struct lpm_cluster *cl, *m; list_for_each_entry_safe(cl, m, &cluster->child, list) { Loading @@ -856,22 +843,6 @@ void free_cluster_node(struct lpm_cluster *cluster) free_cluster_node(cl); }; if (cluster->cpu) { for (i = 0; i < cluster->cpu->nlevels; i++) { kfree(cluster->cpu->levels[i].name); cluster->cpu->levels[i].name = NULL; } } for (i = 0; i < cluster->nlevels; i++) { kfree(cluster->levels[i].mode); cluster->levels[i].mode = NULL; } kfree(cluster->cpu); kfree(cluster->name); kfree(cluster->lpm_dev); cluster->cpu = NULL; cluster->name = NULL; cluster->lpm_dev = NULL; cluster->ndevices = 0; } Loading Loading @@ -989,9 +960,7 @@ failed_parse_cluster: list_del(&c->list); free_cluster_node(c); failed_parse_params: c->parent = NULL; pr_err("Failed parse params\n"); kfree(c); return NULL; } struct lpm_cluster *lpm_of_parse_cluster(struct platform_device *pdev) Loading Loading
arch/arm/boot/dts/qcom/sdm660-pm660a-qrd.dts +10 −1 Original line number Diff line number Diff line /* Copyright (c) 2016-2017, The Linux Foundation. All rights reserved. /* Copyright (c) 2016-2018, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -33,6 +33,15 @@ qcom,mdss-pref-prim-intf = "dsi"; }; &mdss_dp_ctrl { pinctrl-names = "mdss_dp_active", "mdss_dp_sleep"; pinctrl-0 = <&mdss_dp_aux_active &mdss_dp_usbplug_cc_active>; pinctrl-1 = <&mdss_dp_aux_suspend &mdss_dp_usbplug_cc_suspend>; qcom,aux-en-gpio = <&tlmm 55 0>; qcom,aux-sel-gpio = <&tlmm 56 0>; qcom,usbplug-cc-gpio = <&tlmm 58 0>; }; &mdss_dsi { hw-config = "single_dsi"; }; Loading
arch/arm/boot/dts/qcom/sdm660-regulator.dtsi +31 −8 Original line number Diff line number Diff line /* Copyright (c) 2016-2017, The Linux Foundation. All rights reserved. /* Copyright (c) 2016-2018, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -700,9 +700,9 @@ regulator-max-microvolt = <8>; qcom,cpr-fuse-corners = <5>; qcom,cpr-fuse-combos = <32>; qcom,cpr-speed-bins = <4>; qcom,cpr-speed-bin-corners = <8 8 0 8>; qcom,cpr-fuse-combos = <40>; qcom,cpr-speed-bins = <5>; qcom,cpr-speed-bin-corners = <8 8 0 8 8>; qcom,cpr-corners = /* Speed bin 0 */ <8 8 8 8 8 8 8 8>, Loading @@ -714,7 +714,11 @@ <0 0 0 0 0 0 0 0>, /* Speed bin 3 */ <8 8 8 8 8 8 8 8>, /* Speed bin 4 */ <8 8 8 8 8 8 8 8>; qcom,cpr-corner-fmax-map = /* Speed bin 0 */ <2 3 4 5 8>, Loading @@ -726,6 +730,9 @@ <0 0 0 0 0>, /* Speed bin 3 */ <2 3 4 5 8>, /* Speed bin 4 */ <2 3 4 5 8>; qcom,cpr-voltage-ceiling = Loading @@ -750,7 +757,12 @@ /* Speed bin 3 */ <300000000 633600000 902400000 1113600000 1401600000 1536000000 1612800000 1843200000>; 1612800000 1843200000>, /* Speed bin 4 */ <300000000 633600000 902400000 1113600000 1401600000 1536000000 1747200000 1843200000>; qcom,allow-voltage-interpolation; qcom,allow-quotient-interpolation; Loading Loading @@ -839,9 +851,9 @@ regulator-max-microvolt = <7>; qcom,cpr-fuse-corners = <5>; qcom,cpr-fuse-combos = <32>; qcom,cpr-speed-bins = <4>; qcom,cpr-speed-bin-corners = <7 7 0 7>; qcom,cpr-fuse-combos = <40>; qcom,cpr-speed-bins = <5>; qcom,cpr-speed-bin-corners = <7 7 0 7 7>; qcom,cpr-corners = /* Speed-bin 0 */ <7 7 7 7 7 7 7 7>, Loading @@ -853,6 +865,9 @@ <0 0 0 0 0 0 0 0>, /* Speed-bin 3 */ <7 7 7 7 7 7 7 7>, /* Speed-bin 4 */ <7 7 7 7 7 7 7 7>; qcom,cpr-corner-fmax-map = Loading @@ -866,6 +881,9 @@ <0 0 0 0 0>, /* Speed-bin 3 */ <2 3 4 6 7>, /* Speed-bin 4 */ <2 3 4 6 7>; qcom,cpr-voltage-ceiling = Loading @@ -890,6 +908,11 @@ /* Speed bin 3 */ <300000000 1113600000 1401600000 1747200000 1804800000 2150400000 2208000000>, /* Speed bin 4 */ <300000000 1113600000 1401600000 1747200000 1958400000 2150400000 2208000000>; qcom,allow-voltage-interpolation; Loading
arch/arm/boot/dts/qcom/sdm660.dtsi +17 −0 Original line number Diff line number Diff line Loading @@ -1303,6 +1303,16 @@ < 1536000000 0x04040050 0x08400040 0x2 6 >, < 1612800000 0x04040054 0x09430043 0x2 7 >; qcom,pwrcl-speedbin4-v0 = < 300000000 0x0004000f 0x01200020 0x1 1 >, < 633600000 0x05040021 0x03200020 0x1 2 >, < 902400000 0x0404002f 0x04260026 0x1 3 >, < 1113600000 0x0404003a 0x052e002e 0x2 4 >, < 1401600000 0x04040049 0x073a003a 0x2 5 >, < 1536000000 0x04040050 0x08400040 0x2 6 >, < 1747200000 0x0404005b 0x09480048 0x2 7 >, < 1843200000 0x04040060 0x094c004c 0x3 8 >; qcom,perfcl-speedbin0-v0 = < 300000000 0x0004000f 0x01200020 0x1 1 >, < 1113600000 0x0404003a 0x052e002e 0x1 2 >, Loading @@ -1328,6 +1338,13 @@ < 1747200000 0x0404005b 0x09480048 0x2 4 >, < 1804800000 0x0404005e 0x094b004b 0x2 5 >; qcom,perfcl-speedbin4-v0 = < 300000000 0x0004000f 0x01200020 0x1 1 >, < 1113600000 0x0404003a 0x052e002e 0x1 2 >, < 1401600000 0x04040049 0x073a003a 0x2 3 >, < 1747200000 0x0404005b 0x09480048 0x2 4 >, < 1958400000 0x04040066 0x0a510051 0x2 5 >; qcom,up-timer = <1000 1000>; qcom,down-timer = <1000 1000>; qcom,pc-override-index = <0 0>; Loading
drivers/clk/qcom/gpucc-sdm660.c +2 −1 Original line number Diff line number Diff line /* * Copyright (c) 2016-2017, The Linux Foundation. All rights reserved. * Copyright (c) 2016-2018, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -181,6 +181,7 @@ static const struct freq_tbl ftbl_gfx3d_clk_src[] = { F_GFX(370000000, 0, 2, 0, 0, 740000000), F_GFX(430000000, 0, 2, 0, 0, 860000000), F_GFX(465000000, 0, 2, 0, 0, 930000000), F_GFX(585000000, 0, 2, 0, 0, 1170000000), F_GFX(588000000, 0, 2, 0, 0, 1176000000), F_GFX(647000000, 0, 2, 0, 0, 1294000000), F_GFX(700000000, 0, 2, 0, 0, 1400000000), Loading
drivers/cpuidle/lpm-levels-of.c +1 −32 Original line number Diff line number Diff line /* Copyright (c) 2014-2017, The Linux Foundation. All rights reserved. /* Copyright (c) 2014-2018, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -451,10 +451,6 @@ static int parse_legacy_cluster_params(struct device_node *node, return 0; failed: pr_err("%s(): Failed reading %s\n", __func__, key); kfree(c->name); kfree(c->lpm_dev); c->name = NULL; c->lpm_dev = NULL; return ret; } Loading Loading @@ -640,8 +636,6 @@ static int parse_cluster_level(struct device_node *node, return 0; failed: pr_err("Failed %s() key = %s ret = %d\n", __func__, key, ret); kfree(level->mode); level->mode = NULL; return ret; } Loading Loading @@ -836,19 +830,12 @@ static int parse_cpu_levels(struct device_node *node, struct lpm_cluster *c) return 0; failed: for (i = 0; i < c->cpu->nlevels; i++) { kfree(c->cpu->levels[i].name); c->cpu->levels[i].name = NULL; } kfree(c->cpu); c->cpu = NULL; pr_err("%s(): Failed with error code:%d\n", __func__, ret); return ret; } void free_cluster_node(struct lpm_cluster *cluster) { int i; struct lpm_cluster *cl, *m; list_for_each_entry_safe(cl, m, &cluster->child, list) { Loading @@ -856,22 +843,6 @@ void free_cluster_node(struct lpm_cluster *cluster) free_cluster_node(cl); }; if (cluster->cpu) { for (i = 0; i < cluster->cpu->nlevels; i++) { kfree(cluster->cpu->levels[i].name); cluster->cpu->levels[i].name = NULL; } } for (i = 0; i < cluster->nlevels; i++) { kfree(cluster->levels[i].mode); cluster->levels[i].mode = NULL; } kfree(cluster->cpu); kfree(cluster->name); kfree(cluster->lpm_dev); cluster->cpu = NULL; cluster->name = NULL; cluster->lpm_dev = NULL; cluster->ndevices = 0; } Loading Loading @@ -989,9 +960,7 @@ failed_parse_cluster: list_del(&c->list); free_cluster_node(c); failed_parse_params: c->parent = NULL; pr_err("Failed parse params\n"); kfree(c); return NULL; } struct lpm_cluster *lpm_of_parse_cluster(struct platform_device *pdev) Loading