Skip to content

Commit ccd74be

Browse files
committed
Merge tag 'for-6.18-clk' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into clk-tegra
Pull Tegra clk driver updates from Thierry Reding: - Add DFLL support on Tegra114 This is quite similar to the existing Tegra124 support and most of the code can be reused, except for the CVB frequency tables. * tag 'for-6.18-clk' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: clk: tegra: dfll: Add CVB tables for Tegra114 clk: tegra: Add DFLL DVCO reset control for Tegra114 dt-bindings: arm: tegra: Add ASUS TF101G and SL101 dt-bindings: reset: Add Tegra114 CAR header dt-bindings: arm: tegra: Add Xiaomi Mi Pad (A0101) dt-bindings: clock: tegra30: Add IDs for CSI pad clocks dt-bindings: display: tegra: Move avdd-dsi-csi-supply from VI to CSI dt-bindings: i2c: nvidia,tegra20-i2c: Document Tegra264 I2C
2 parents 8f5ae30 + 5aba939 commit ccd74be

11 files changed

Lines changed: 194 additions & 40 deletions

File tree

Documentation/devicetree/bindings/arm/tegra.yaml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,12 @@ properties:
3636
- toradex,colibri_t20-iris
3737
- const: toradex,colibri_t20
3838
- const: nvidia,tegra20
39-
- items:
40-
- const: asus,tf101
39+
- description: ASUS Transformers T20 Device family
40+
items:
41+
- enum:
42+
- asus,sl101
43+
- asus,tf101
44+
- asus,tf101g
4145
- const: nvidia,tegra20
4246
- items:
4347
- const: acer,picasso
@@ -174,6 +178,10 @@ properties:
174178
- const: google,nyan-big
175179
- const: google,nyan
176180
- const: nvidia,tegra124
181+
- description: Xiaomi Mi Pad (A0101)
182+
items:
183+
- const: xiaomi,mocha
184+
- const: nvidia,tegra124
177185
- items:
178186
- enum:
179187
- nvidia,darcy

Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-vi.yaml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,6 @@ properties:
7070
ranges:
7171
maxItems: 1
7272

73-
avdd-dsi-csi-supply:
74-
description: DSI/CSI power supply. Must supply 1.2 V.
75-
7673
vip:
7774
$ref: /schemas/display/tegra/nvidia,tegra20-vip.yaml
7875

Documentation/devicetree/bindings/display/tegra/nvidia,tegra210-csi.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ properties:
3737
- const: cile
3838
- const: csi_tpg
3939

40+
avdd-dsi-csi-supply:
41+
description: DSI/CSI power supply. Must supply 1.2 V.
42+
4043
power-domains:
4144
maxItems: 1
4245

Documentation/devicetree/bindings/i2c/nvidia,tegra20-i2c.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,12 @@ properties:
8080
support for 64 KiB transactions whereas earlier chips supported no
8181
more than 4 KiB per transactions.
8282
const: nvidia,tegra194-i2c
83+
- description:
84+
Tegra264 has 17 generic I2C controllers, two of which are in the AON
85+
(always-on) partition of the SoC. In addition to the features from
86+
Tegra194, a SW mutex register is added to support use of the same I2C
87+
instance across multiple firmwares.
88+
const: nvidia,tegra264-i2c
8389

8490
reg:
8591
maxItems: 1
@@ -186,6 +192,7 @@ allOf:
186192
contains:
187193
enum:
188194
- nvidia,tegra194-i2c
195+
- nvidia,tegra264-i2c
189196
then:
190197
required:
191198
- resets

drivers/clk/tegra/Kconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ config CLK_TEGRA_BPMP
44
depends on TEGRA_BPMP
55

66
config TEGRA_CLK_DFLL
7-
depends on ARCH_TEGRA_124_SOC || ARCH_TEGRA_210_SOC
7+
depends on ARCH_TEGRA_114_SOC || ARCH_TEGRA_124_SOC || ARCH_TEGRA_210_SOC
88
select PM_OPP
99
def_bool y
1010

drivers/clk/tegra/clk-tegra114.c

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
#include <linux/export.h>
1212
#include <linux/clk/tegra.h>
1313
#include <dt-bindings/clock/tegra114-car.h>
14+
#include <dt-bindings/reset/nvidia,tegra114-car.h>
1415

1516
#include "clk.h"
1617
#include "clk-id.h"
@@ -1272,7 +1273,7 @@ EXPORT_SYMBOL(tegra114_clock_tune_cpu_trimmers_init);
12721273
*
12731274
* Assert the reset line of the DFLL's DVCO. No return value.
12741275
*/
1275-
void tegra114_clock_assert_dfll_dvco_reset(void)
1276+
static void tegra114_clock_assert_dfll_dvco_reset(void)
12761277
{
12771278
u32 v;
12781279

@@ -1281,15 +1282,14 @@ void tegra114_clock_assert_dfll_dvco_reset(void)
12811282
writel_relaxed(v, clk_base + RST_DFLL_DVCO);
12821283
tegra114_car_barrier();
12831284
}
1284-
EXPORT_SYMBOL(tegra114_clock_assert_dfll_dvco_reset);
12851285

12861286
/**
12871287
* tegra114_clock_deassert_dfll_dvco_reset - deassert the DFLL's DVCO reset
12881288
*
12891289
* Deassert the reset line of the DFLL's DVCO, allowing the DVCO to
12901290
* operate. No return value.
12911291
*/
1292-
void tegra114_clock_deassert_dfll_dvco_reset(void)
1292+
static void tegra114_clock_deassert_dfll_dvco_reset(void)
12931293
{
12941294
u32 v;
12951295

@@ -1298,7 +1298,26 @@ void tegra114_clock_deassert_dfll_dvco_reset(void)
12981298
writel_relaxed(v, clk_base + RST_DFLL_DVCO);
12991299
tegra114_car_barrier();
13001300
}
1301-
EXPORT_SYMBOL(tegra114_clock_deassert_dfll_dvco_reset);
1301+
1302+
static int tegra114_reset_assert(unsigned long id)
1303+
{
1304+
if (id == TEGRA114_RST_DFLL_DVCO)
1305+
tegra114_clock_assert_dfll_dvco_reset();
1306+
else
1307+
return -EINVAL;
1308+
1309+
return 0;
1310+
}
1311+
1312+
static int tegra114_reset_deassert(unsigned long id)
1313+
{
1314+
if (id == TEGRA114_RST_DFLL_DVCO)
1315+
tegra114_clock_deassert_dfll_dvco_reset();
1316+
else
1317+
return -EINVAL;
1318+
1319+
return 0;
1320+
}
13021321

13031322
static void __init tegra114_clock_init(struct device_node *np)
13041323
{
@@ -1344,6 +1363,9 @@ static void __init tegra114_clock_init(struct device_node *np)
13441363
tegra_super_clk_gen4_init(clk_base, pmc_base, tegra114_clks,
13451364
&pll_x_params);
13461365

1366+
tegra_init_special_resets(1, tegra114_reset_assert,
1367+
tegra114_reset_deassert);
1368+
13471369
tegra_add_of_provider(np, of_clk_src_onecell_get);
13481370
tegra_register_devclks(devclks, ARRAY_SIZE(devclks));
13491371

0 commit comments

Comments
 (0)