diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts index 42f15405750c..4f8d89f472a2 100644 --- a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts +++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts @@ -54,6 +54,9 @@ gpio = <&gpio_ao GPIOAO_8 GPIO_ACTIVE_HIGH>; enable-active-high; regulator-always-on; + + /* FC8731-09VF05NRR */ + vin-supply = <&vddao_3v3>; }; tf_io: gpio-regulator-tf_io { @@ -68,6 +71,8 @@ states = <3300000 0>, <1800000 1>; + /* RT9179GB */ + vin-supply = <&vcc_5v>; }; flash_1v8: regulator-flash_1v8 { @@ -429,7 +434,6 @@ cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>; vmmc-supply = <&tflash_vdd>; vqmmc-supply = <&tf_io>; - }; /* eMMC */ diff --git a/drivers/clk/meson/g12a.c b/drivers/clk/meson/g12a.c index b3af61cc6fb9..81c6e33621df 100644 --- a/drivers/clk/meson/g12a.c +++ b/drivers/clk/meson/g12a.c @@ -283,6 +283,8 @@ static struct clk_fixed_factor g12a_fclk_div2_div = { .ops = &clk_fixed_factor_ops, .parent_hws = (const struct clk_hw *[]) { &g12a_fixed_pll.hw }, .num_parents = 1, + /* Anand */ + .flags = CLK_IS_CRITICAL, }, }; @@ -298,6 +300,8 @@ static struct clk_regmap g12a_fclk_div2 = { &g12a_fclk_div2_div.hw }, .num_parents = 1, + /* Anand */ + .flags = CLK_IS_CRITICAL, }, }; @@ -375,7 +379,7 @@ static struct clk_regmap g12a_cpu_clk_premux1 = { }, .num_parents = 3, /* This sub-tree is used a parking clock */ - .flags = CLK_SET_RATE_NO_REPARENT + .flags = CLK_SET_RATE_NO_REPARENT, }, }; @@ -604,7 +608,7 @@ static struct clk_regmap g12b_cpub_clk_premux1 = { }, .num_parents = 3, /* This sub-tree is used a parking clock */ - .flags = CLK_SET_RATE_NO_REPARENT, + .flags = CLK_SET_RATE_NO_REPARENT | CLK_IS_CRITICAL, }, }; @@ -622,6 +626,8 @@ static struct clk_regmap g12b_cpub_clk_mux1_div = { &g12b_cpub_clk_premux1.hw }, .num_parents = 1, + /* Anand */ + .flags = CLK_IS_CRITICAL, }, }; @@ -641,7 +647,8 @@ static struct clk_regmap g12b_cpub_clk_postmux1 = { }, .num_parents = 2, /* This sub-tree is used a parking clock */ - .flags = CLK_SET_RATE_NO_REPARENT, + /* Anand */ + .flags = CLK_SET_RATE_NO_REPARENT | CLK_IS_CRITICAL, }, }; @@ -681,7 +688,8 @@ static struct clk_regmap g12b_cpub_clk = { &g12a_sys_pll.hw }, .num_parents = 2, - .flags = CLK_SET_RATE_PARENT, + /* Anand */ + .flags = CLK_SET_RATE_PARENT | CLK_IS_CRITICAL, }, }; @@ -1151,6 +1159,8 @@ static struct clk_regmap g12b_cpub_clk_div16_en = { * This clock is used to debug the cpu_clk range * Linux should not change it at runtime */ + /* Anand */ + .flags = CLK_IGNORE_UNUSED, }, }; @@ -1164,6 +1174,8 @@ static struct clk_fixed_factor g12a_cpu_clk_div16 = { &g12a_cpu_clk_div16_en.hw }, .num_parents = 1, + /* Anand */ + .flags = CLK_IS_CRITICAL, }, }; @@ -1177,6 +1189,8 @@ static struct clk_fixed_factor g12b_cpub_clk_div16 = { &g12b_cpub_clk_div16_en.hw }, .num_parents = 1, + /* Anand */ + .flags = CLK_IS_CRITICAL, }, }; @@ -1336,6 +1350,8 @@ static struct clk_fixed_factor g12b_cpub_clk_div2 = { &g12b_cpub_clk.hw }, .num_parents = 1, + /* Anand */ + .flags = CLK_IS_CRITICAL, }, }; @@ -1349,6 +1365,8 @@ static struct clk_fixed_factor g12b_cpub_clk_div3 = { &g12b_cpub_clk.hw }, .num_parents = 1, + /* Anand */ + .flags = CLK_IS_CRITICAL, }, }; @@ -1362,6 +1380,8 @@ static struct clk_fixed_factor g12b_cpub_clk_div4 = { &g12b_cpub_clk.hw }, .num_parents = 1, + /* Anand */ + .flags = CLK_IS_CRITICAL, }, }; @@ -1375,6 +1395,8 @@ static struct clk_fixed_factor g12b_cpub_clk_div5 = { &g12b_cpub_clk.hw }, .num_parents = 1, + /* Anand */ + .flags = CLK_IS_CRITICAL, }, }; @@ -1388,6 +1410,8 @@ static struct clk_fixed_factor g12b_cpub_clk_div6 = { &g12b_cpub_clk.hw }, .num_parents = 1, + /* Anand */ + .flags = CLK_IS_CRITICAL, }, }; @@ -1401,6 +1425,8 @@ static struct clk_fixed_factor g12b_cpub_clk_div7 = { &g12b_cpub_clk.hw }, .num_parents = 1, + /* Anand */ + .flags = CLK_IS_CRITICAL, }, }; @@ -1414,6 +1440,8 @@ static struct clk_fixed_factor g12b_cpub_clk_div8 = { &g12b_cpub_clk.hw }, .num_parents = 1, + /* Anand */ + .flags = CLK_IS_CRITICAL, }, }; @@ -1438,6 +1466,8 @@ static struct clk_regmap g12b_cpub_clk_apb_sel = { &g12b_cpub_clk_div8.hw }, .num_parents = 7, + /* Anand */ + .flags = CLK_IS_CRITICAL, }, }; @@ -1458,6 +1488,8 @@ static struct clk_regmap g12b_cpub_clk_apb = { * This clock is set by the ROM monitor code, * Linux should not change it at runtime */ + /* Anand */ + .flags = CLK_IS_CRITICAL, }, }; @@ -1481,6 +1513,8 @@ static struct clk_regmap g12b_cpub_clk_atb_sel = { &g12b_cpub_clk_div8.hw }, .num_parents = 7, + /* Anand */ + .flags = CLK_IS_CRITICAL, }, }; @@ -1501,6 +1535,8 @@ static struct clk_regmap g12b_cpub_clk_atb = { * This clock is set by the ROM monitor code, * Linux should not change it at runtime */ + /* Anand */ + .flags = CLK_IS_CRITICAL, }, }; @@ -1524,6 +1560,8 @@ static struct clk_regmap g12b_cpub_clk_axi_sel = { &g12b_cpub_clk_div8.hw }, .num_parents = 7, + /* Anand */ + .flags = CLK_IS_CRITICAL, }, }; @@ -1544,6 +1582,8 @@ static struct clk_regmap g12b_cpub_clk_axi = { * This clock is set by the ROM monitor code, * Linux should not change it at runtime */ + /* Anand */ + .flags = CLK_IS_CRITICAL, }, };