* [PATCH v2 08/34] media: camss: Unify the clock names
[not found] <1530797585-8555-1-git-send-email-todor.tomov@linaro.org>
@ 2018-07-05 13:32 ` Todor Tomov
2018-07-11 16:07 ` Rob Herring
2018-07-05 13:32 ` [PATCH v2 14/34] media: dt-bindings: media: qcom,camss: Fix whitespaces Todor Tomov
2018-07-05 13:32 ` [PATCH v2 15/34] media: dt-bindings: media: qcom,camss: Add 8996 bindings Todor Tomov
2 siblings, 1 reply; 6+ messages in thread
From: Todor Tomov @ 2018-07-05 13:32 UTC (permalink / raw)
To: mchehab, sakari.ailus, hans.verkuil, laurent.pinchart+renesas,
linux-media
Cc: linux-kernel, Todor Tomov, Rob Herring, Mark Rutland, devicetree
Unify the clock names - use names closer to the clock
definitions.
CC: Rob Herring <robh+dt@kernel.org>
CC: Mark Rutland <mark.rutland@arm.com>
CC: devicetree@vger.kernel.org
Signed-off-by: Todor Tomov <todor.tomov@linaro.org>
---
.../devicetree/bindings/media/qcom,camss.txt | 24 +++++++++++-----------
drivers/media/platform/qcom/camss/camss.c | 20 ++++++++----------
2 files changed, 20 insertions(+), 24 deletions(-)
diff --git a/Documentation/devicetree/bindings/media/qcom,camss.txt b/Documentation/devicetree/bindings/media/qcom,camss.txt
index cadeceb..032e8ed 100644
--- a/Documentation/devicetree/bindings/media/qcom,camss.txt
+++ b/Documentation/devicetree/bindings/media/qcom,camss.txt
@@ -53,7 +53,7 @@ Qualcomm Camera Subsystem
Usage: required
Value type: <stringlist>
Definition: Should contain the following entries:
- - "camss_top_ahb"
+ - "top_ahb"
- "ispif_ahb"
- "csiphy0_timer"
- "csiphy1_timer"
@@ -67,11 +67,11 @@ Qualcomm Camera Subsystem
- "csi1_phy"
- "csi1_pix"
- "csi1_rdi"
- - "camss_ahb"
- - "camss_vfe_vfe"
- - "camss_csi_vfe"
- - "iface"
- - "bus"
+ - "ahb"
+ - "vfe0"
+ - "csi_vfe0"
+ - "vfe_ahb"
+ - "vfe_axi"
- vdda-supply:
Usage: required
Value type: <phandle>
@@ -161,7 +161,7 @@ Qualcomm Camera Subsystem
<&gcc GCC_CAMSS_CSI_VFE0_CLK>,
<&gcc GCC_CAMSS_VFE_AHB_CLK>,
<&gcc GCC_CAMSS_VFE_AXI_CLK>;
- clock-names = "camss_top_ahb",
+ clock-names = "top_ahb",
"ispif_ahb",
"csiphy0_timer",
"csiphy1_timer",
@@ -175,11 +175,11 @@ Qualcomm Camera Subsystem
"csi1_phy",
"csi1_pix",
"csi1_rdi",
- "camss_ahb",
- "camss_vfe_vfe",
- "camss_csi_vfe",
- "iface",
- "bus";
+ "ahb",
+ "vfe0",
+ "csi_vfe0",
+ "vfe_ahb",
+ "vfe_axi";
vdda-supply = <&pm8916_l2>;
iommus = <&apps_iommu 3>;
ports {
diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/platform/qcom/camss/camss.c
index abf6184..0b663e0 100644
--- a/drivers/media/platform/qcom/camss/camss.c
+++ b/drivers/media/platform/qcom/camss/camss.c
@@ -32,8 +32,7 @@ static const struct resources csiphy_res[] = {
/* CSIPHY0 */
{
.regulator = { NULL },
- .clock = { "camss_top_ahb", "ispif_ahb",
- "camss_ahb", "csiphy0_timer" },
+ .clock = { "top_ahb", "ispif_ahb", "ahb", "csiphy0_timer" },
.clock_rate = { { 0 },
{ 0 },
{ 0 },
@@ -45,8 +44,7 @@ static const struct resources csiphy_res[] = {
/* CSIPHY1 */
{
.regulator = { NULL },
- .clock = { "camss_top_ahb", "ispif_ahb",
- "camss_ahb", "csiphy1_timer" },
+ .clock = { "top_ahb", "ispif_ahb", "ahb", "csiphy1_timer" },
.clock_rate = { { 0 },
{ 0 },
{ 0 },
@@ -60,8 +58,7 @@ static const struct resources csid_res[] = {
/* CSID0 */
{
.regulator = { "vdda" },
- .clock = { "camss_top_ahb", "ispif_ahb",
- "csi0_ahb", "camss_ahb",
+ .clock = { "top_ahb", "ispif_ahb", "csi0_ahb", "ahb",
"csi0", "csi0_phy", "csi0_pix", "csi0_rdi" },
.clock_rate = { { 0 },
{ 0 },
@@ -78,8 +75,7 @@ static const struct resources csid_res[] = {
/* CSID1 */
{
.regulator = { "vdda" },
- .clock = { "camss_top_ahb", "ispif_ahb",
- "csi1_ahb", "camss_ahb",
+ .clock = { "top_ahb", "ispif_ahb", "csi1_ahb", "ahb",
"csi1", "csi1_phy", "csi1_pix", "csi1_rdi" },
.clock_rate = { { 0 },
{ 0 },
@@ -96,10 +92,10 @@ static const struct resources csid_res[] = {
static const struct resources_ispif ispif_res = {
/* ISPIF */
- .clock = { "camss_top_ahb", "camss_ahb", "ispif_ahb",
+ .clock = { "top_ahb", "ahb", "ispif_ahb",
"csi0", "csi0_pix", "csi0_rdi",
"csi1", "csi1_pix", "csi1_rdi" },
- .clock_for_reset = { "camss_vfe_vfe", "camss_csi_vfe" },
+ .clock_for_reset = { "vfe0", "csi_vfe0" },
.reg = { "ispif", "csi_clk_mux" },
.interrupt = "ispif"
@@ -108,8 +104,8 @@ static const struct resources_ispif ispif_res = {
static const struct resources vfe_res = {
/* VFE0 */
.regulator = { NULL },
- .clock = { "camss_top_ahb", "camss_vfe_vfe", "camss_csi_vfe",
- "iface", "bus", "camss_ahb" },
+ .clock = { "top_ahb", "vfe0", "csi_vfe0",
+ "vfe_ahb", "vfe_axi", "ahb" },
.clock_rate = { { 0 },
{ 50000000, 80000000, 100000000, 160000000,
177780000, 200000000, 266670000, 320000000,
--
2.7.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v2 14/34] media: dt-bindings: media: qcom,camss: Fix whitespaces
[not found] <1530797585-8555-1-git-send-email-todor.tomov@linaro.org>
2018-07-05 13:32 ` [PATCH v2 08/34] media: camss: Unify the clock names Todor Tomov
@ 2018-07-05 13:32 ` Todor Tomov
2018-07-05 13:32 ` [PATCH v2 15/34] media: dt-bindings: media: qcom,camss: Add 8996 bindings Todor Tomov
2 siblings, 0 replies; 6+ messages in thread
From: Todor Tomov @ 2018-07-05 13:32 UTC (permalink / raw)
To: mchehab, sakari.ailus, hans.verkuil, laurent.pinchart+renesas,
linux-media
Cc: linux-kernel, Todor Tomov, Rob Herring, Mark Rutland, devicetree
Use tabs.
CC: Rob Herring <robh+dt@kernel.org>
CC: Mark Rutland <mark.rutland@arm.com>
CC: devicetree@vger.kernel.org
Signed-off-by: Todor Tomov <todor.tomov@linaro.org>
Reviewed-by: Rob Herring <robh@kernel.org>
---
.../devicetree/bindings/media/qcom,camss.txt | 92 +++++++++++-----------
1 file changed, 46 insertions(+), 46 deletions(-)
diff --git a/Documentation/devicetree/bindings/media/qcom,camss.txt b/Documentation/devicetree/bindings/media/qcom,camss.txt
index 032e8ed..e938eb0 100644
--- a/Documentation/devicetree/bindings/media/qcom,camss.txt
+++ b/Documentation/devicetree/bindings/media/qcom,camss.txt
@@ -53,25 +53,25 @@ Qualcomm Camera Subsystem
Usage: required
Value type: <stringlist>
Definition: Should contain the following entries:
- - "top_ahb"
- - "ispif_ahb"
- - "csiphy0_timer"
- - "csiphy1_timer"
- - "csi0_ahb"
- - "csi0"
- - "csi0_phy"
- - "csi0_pix"
- - "csi0_rdi"
- - "csi1_ahb"
- - "csi1"
- - "csi1_phy"
- - "csi1_pix"
- - "csi1_rdi"
- - "ahb"
- - "vfe0"
- - "csi_vfe0"
- - "vfe_ahb"
- - "vfe_axi"
+ - "top_ahb"
+ - "ispif_ahb"
+ - "csiphy0_timer"
+ - "csiphy1_timer"
+ - "csi0_ahb"
+ - "csi0"
+ - "csi0_phy"
+ - "csi0_pix"
+ - "csi0_rdi"
+ - "csi1_ahb"
+ - "csi1"
+ - "csi1_phy"
+ - "csi1_pix"
+ - "csi1_rdi"
+ - "ahb"
+ - "vfe0"
+ - "csi_vfe0"
+ - "vfe_ahb"
+ - "vfe_axi"
- vdda-supply:
Usage: required
Value type: <phandle>
@@ -95,17 +95,17 @@ Qualcomm Camera Subsystem
- clock-lanes:
Usage: required
Value type: <u32>
- Definition: The physical clock lane index. The value
- must always be <1> as the physical clock
- lane is lane 1.
+ Definition: The physical clock lane index. The value
+ must always be <1> as the physical clock
+ lane is lane 1.
- data-lanes:
Usage: required
Value type: <prop-encoded-array>
- Definition: An array of physical data lanes indexes.
- Position of an entry determines the logical
- lane number, while the value of an entry
- indicates physical lane index. Lane swapping
- is supported.
+ Definition: An array of physical data lanes indexes.
+ Position of an entry determines the logical
+ lane number, while the value of an entry
+ indicates physical lane index. Lane swapping
+ is supported.
* An Example
@@ -161,25 +161,25 @@ Qualcomm Camera Subsystem
<&gcc GCC_CAMSS_CSI_VFE0_CLK>,
<&gcc GCC_CAMSS_VFE_AHB_CLK>,
<&gcc GCC_CAMSS_VFE_AXI_CLK>;
- clock-names = "top_ahb",
- "ispif_ahb",
- "csiphy0_timer",
- "csiphy1_timer",
- "csi0_ahb",
- "csi0",
- "csi0_phy",
- "csi0_pix",
- "csi0_rdi",
- "csi1_ahb",
- "csi1",
- "csi1_phy",
- "csi1_pix",
- "csi1_rdi",
- "ahb",
- "vfe0",
- "csi_vfe0",
- "vfe_ahb",
- "vfe_axi";
+ clock-names = "top_ahb",
+ "ispif_ahb",
+ "csiphy0_timer",
+ "csiphy1_timer",
+ "csi0_ahb",
+ "csi0",
+ "csi0_phy",
+ "csi0_pix",
+ "csi0_rdi",
+ "csi1_ahb",
+ "csi1",
+ "csi1_phy",
+ "csi1_pix",
+ "csi1_rdi",
+ "ahb",
+ "vfe0",
+ "csi_vfe0",
+ "vfe_ahb",
+ "vfe_axi";
vdda-supply = <&pm8916_l2>;
iommus = <&apps_iommu 3>;
ports {
--
2.7.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v2 15/34] media: dt-bindings: media: qcom,camss: Add 8996 bindings
[not found] <1530797585-8555-1-git-send-email-todor.tomov@linaro.org>
2018-07-05 13:32 ` [PATCH v2 08/34] media: camss: Unify the clock names Todor Tomov
2018-07-05 13:32 ` [PATCH v2 14/34] media: dt-bindings: media: qcom,camss: Fix whitespaces Todor Tomov
@ 2018-07-05 13:32 ` Todor Tomov
2 siblings, 0 replies; 6+ messages in thread
From: Todor Tomov @ 2018-07-05 13:32 UTC (permalink / raw)
To: mchehab, sakari.ailus, hans.verkuil, laurent.pinchart+renesas,
linux-media
Cc: linux-kernel, Todor Tomov, Rob Herring, Mark Rutland, devicetree
Update binding document for MSM8996.
CC: Rob Herring <robh+dt@kernel.org>
CC: Mark Rutland <mark.rutland@arm.com>
CC: devicetree@vger.kernel.org
Signed-off-by: Todor Tomov <todor.tomov@linaro.org>
Reviewed-by: Rob Herring <robh@kernel.org>
---
.../devicetree/bindings/media/qcom,camss.txt | 44 +++++++++++++++++++---
1 file changed, 38 insertions(+), 6 deletions(-)
diff --git a/Documentation/devicetree/bindings/media/qcom,camss.txt b/Documentation/devicetree/bindings/media/qcom,camss.txt
index e938eb0..09eb6ed 100644
--- a/Documentation/devicetree/bindings/media/qcom,camss.txt
+++ b/Documentation/devicetree/bindings/media/qcom,camss.txt
@@ -5,8 +5,9 @@ Qualcomm Camera Subsystem
- compatible:
Usage: required
Value type: <stringlist>
- Definition: Should contain:
+ Definition: Should contain one of:
- "qcom,msm8916-camss"
+ - "qcom,msm8996-camss"
- reg:
Usage: required
Value type: <prop-encoded-array>
@@ -19,11 +20,16 @@ Qualcomm Camera Subsystem
- "csiphy0_clk_mux"
- "csiphy1"
- "csiphy1_clk_mux"
+ - "csiphy2" (8996 only)
+ - "csiphy2_clk_mux" (8996 only)
- "csid0"
- "csid1"
+ - "csid2" (8996 only)
+ - "csid3" (8996 only)
- "ispif"
- "csi_clk_mux"
- "vfe0"
+ - "vfe1" (8996 only)
- interrupts:
Usage: required
Value type: <prop-encoded-array>
@@ -34,10 +40,14 @@ Qualcomm Camera Subsystem
Definition: Should contain the following entries:
- "csiphy0"
- "csiphy1"
+ - "csiphy2" (8996 only)
- "csid0"
- "csid1"
+ - "csid2" (8996 only)
+ - "csid3" (8996 only)
- "ispif"
- "vfe0"
+ - "vfe1" (8996 only)
- power-domains:
Usage: required
Value type: <prop-encoded-array>
@@ -57,6 +67,7 @@ Qualcomm Camera Subsystem
- "ispif_ahb"
- "csiphy0_timer"
- "csiphy1_timer"
+ - "csiphy2_timer" (8996 only)
- "csi0_ahb"
- "csi0"
- "csi0_phy"
@@ -67,9 +78,25 @@ Qualcomm Camera Subsystem
- "csi1_phy"
- "csi1_pix"
- "csi1_rdi"
+ - "csi2_ahb" (8996 only)
+ - "csi2" (8996 only)
+ - "csi2_phy" (8996 only)
+ - "csi2_pix" (8996 only)
+ - "csi2_rdi" (8996 only)
+ - "csi3_ahb" (8996 only)
+ - "csi3" (8996 only)
+ - "csi3_phy" (8996 only)
+ - "csi3_pix" (8996 only)
+ - "csi3_rdi" (8996 only)
- "ahb"
- "vfe0"
- "csi_vfe0"
+ - "vfe0_ahb", (8996 only)
+ - "vfe0_stream", (8996 only)
+ - "vfe1", (8996 only)
+ - "csi_vfe1", (8996 only)
+ - "vfe1_ahb", (8996 only)
+ - "vfe1_stream", (8996 only)
- "vfe_ahb"
- "vfe_axi"
- vdda-supply:
@@ -90,14 +117,18 @@ Qualcomm Camera Subsystem
- reg:
Usage: required
Value type: <u32>
- Definition: Selects CSI2 PHY interface - PHY0 or PHY1.
+ Definition: Selects CSI2 PHY interface - PHY0, PHY1
+ or PHY2 (8996 only)
Endpoint node properties:
- clock-lanes:
Usage: required
Value type: <u32>
- Definition: The physical clock lane index. The value
- must always be <1> as the physical clock
- lane is lane 1.
+ Definition: The physical clock lane index. On 8916
+ the value must always be <1> as the physical
+ clock lane is lane 1. On 8996 the value must
+ always be <7> as the hardware supports D-PHY
+ and C-PHY, indexes are in a common set and
+ D-PHY physical clock lane is labeled as 7.
- data-lanes:
Usage: required
Value type: <prop-encoded-array>
@@ -105,7 +136,8 @@ Qualcomm Camera Subsystem
Position of an entry determines the logical
lane number, while the value of an entry
indicates physical lane index. Lane swapping
- is supported.
+ is supported. Physical lane indexes for
+ 8916: 0, 2, 3, 4; for 8996: 0, 1, 2, 3.
* An Example
--
2.7.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v2 08/34] media: camss: Unify the clock names
2018-07-05 13:32 ` [PATCH v2 08/34] media: camss: Unify the clock names Todor Tomov
@ 2018-07-11 16:07 ` Rob Herring
2018-07-16 8:53 ` Todor Tomov
0 siblings, 1 reply; 6+ messages in thread
From: Rob Herring @ 2018-07-11 16:07 UTC (permalink / raw)
To: Todor Tomov
Cc: mchehab, sakari.ailus, hans.verkuil, laurent.pinchart+renesas,
linux-media, linux-kernel, Mark Rutland, devicetree
On Thu, Jul 05, 2018 at 04:32:39PM +0300, Todor Tomov wrote:
> Unify the clock names - use names closer to the clock
> definitions.
Why? You can't just change names. You are breaking an ABI.
>
> CC: Rob Herring <robh+dt@kernel.org>
> CC: Mark Rutland <mark.rutland@arm.com>
> CC: devicetree@vger.kernel.org
> Signed-off-by: Todor Tomov <todor.tomov@linaro.org>
> ---
> .../devicetree/bindings/media/qcom,camss.txt | 24 +++++++++++-----------
Bindings should be a separate patch.
> drivers/media/platform/qcom/camss/camss.c | 20 ++++++++----------
> 2 files changed, 20 insertions(+), 24 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/media/qcom,camss.txt b/Documentation/devicetree/bindings/media/qcom,camss.txt
> index cadeceb..032e8ed 100644
> --- a/Documentation/devicetree/bindings/media/qcom,camss.txt
> +++ b/Documentation/devicetree/bindings/media/qcom,camss.txt
> @@ -53,7 +53,7 @@ Qualcomm Camera Subsystem
> Usage: required
> Value type: <stringlist>
> Definition: Should contain the following entries:
> - - "camss_top_ahb"
> + - "top_ahb"
> - "ispif_ahb"
> - "csiphy0_timer"
> - "csiphy1_timer"
> @@ -67,11 +67,11 @@ Qualcomm Camera Subsystem
> - "csi1_phy"
> - "csi1_pix"
> - "csi1_rdi"
> - - "camss_ahb"
> - - "camss_vfe_vfe"
> - - "camss_csi_vfe"
> - - "iface"
> - - "bus"
> + - "ahb"
> + - "vfe0"
> + - "csi_vfe0"
> + - "vfe_ahb"
> + - "vfe_axi"
> - vdda-supply:
> Usage: required
> Value type: <phandle>
> @@ -161,7 +161,7 @@ Qualcomm Camera Subsystem
> <&gcc GCC_CAMSS_CSI_VFE0_CLK>,
> <&gcc GCC_CAMSS_VFE_AHB_CLK>,
> <&gcc GCC_CAMSS_VFE_AXI_CLK>;
> - clock-names = "camss_top_ahb",
> + clock-names = "top_ahb",
> "ispif_ahb",
> "csiphy0_timer",
> "csiphy1_timer",
> @@ -175,11 +175,11 @@ Qualcomm Camera Subsystem
> "csi1_phy",
> "csi1_pix",
> "csi1_rdi",
> - "camss_ahb",
> - "camss_vfe_vfe",
> - "camss_csi_vfe",
> - "iface",
> - "bus";
> + "ahb",
> + "vfe0",
> + "csi_vfe0",
> + "vfe_ahb",
> + "vfe_axi";
> vdda-supply = <&pm8916_l2>;
> iommus = <&apps_iommu 3>;
> ports {
> diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/platform/qcom/camss/camss.c
> index abf6184..0b663e0 100644
> --- a/drivers/media/platform/qcom/camss/camss.c
> +++ b/drivers/media/platform/qcom/camss/camss.c
> @@ -32,8 +32,7 @@ static const struct resources csiphy_res[] = {
> /* CSIPHY0 */
> {
> .regulator = { NULL },
> - .clock = { "camss_top_ahb", "ispif_ahb",
> - "camss_ahb", "csiphy0_timer" },
> + .clock = { "top_ahb", "ispif_ahb", "ahb", "csiphy0_timer" },
> .clock_rate = { { 0 },
> { 0 },
> { 0 },
> @@ -45,8 +44,7 @@ static const struct resources csiphy_res[] = {
> /* CSIPHY1 */
> {
> .regulator = { NULL },
> - .clock = { "camss_top_ahb", "ispif_ahb",
> - "camss_ahb", "csiphy1_timer" },
> + .clock = { "top_ahb", "ispif_ahb", "ahb", "csiphy1_timer" },
> .clock_rate = { { 0 },
> { 0 },
> { 0 },
> @@ -60,8 +58,7 @@ static const struct resources csid_res[] = {
> /* CSID0 */
> {
> .regulator = { "vdda" },
> - .clock = { "camss_top_ahb", "ispif_ahb",
> - "csi0_ahb", "camss_ahb",
> + .clock = { "top_ahb", "ispif_ahb", "csi0_ahb", "ahb",
> "csi0", "csi0_phy", "csi0_pix", "csi0_rdi" },
> .clock_rate = { { 0 },
> { 0 },
> @@ -78,8 +75,7 @@ static const struct resources csid_res[] = {
> /* CSID1 */
> {
> .regulator = { "vdda" },
> - .clock = { "camss_top_ahb", "ispif_ahb",
> - "csi1_ahb", "camss_ahb",
> + .clock = { "top_ahb", "ispif_ahb", "csi1_ahb", "ahb",
> "csi1", "csi1_phy", "csi1_pix", "csi1_rdi" },
> .clock_rate = { { 0 },
> { 0 },
> @@ -96,10 +92,10 @@ static const struct resources csid_res[] = {
>
> static const struct resources_ispif ispif_res = {
> /* ISPIF */
> - .clock = { "camss_top_ahb", "camss_ahb", "ispif_ahb",
> + .clock = { "top_ahb", "ahb", "ispif_ahb",
> "csi0", "csi0_pix", "csi0_rdi",
> "csi1", "csi1_pix", "csi1_rdi" },
> - .clock_for_reset = { "camss_vfe_vfe", "camss_csi_vfe" },
> + .clock_for_reset = { "vfe0", "csi_vfe0" },
> .reg = { "ispif", "csi_clk_mux" },
> .interrupt = "ispif"
>
> @@ -108,8 +104,8 @@ static const struct resources_ispif ispif_res = {
> static const struct resources vfe_res = {
> /* VFE0 */
> .regulator = { NULL },
> - .clock = { "camss_top_ahb", "camss_vfe_vfe", "camss_csi_vfe",
> - "iface", "bus", "camss_ahb" },
> + .clock = { "top_ahb", "vfe0", "csi_vfe0",
> + "vfe_ahb", "vfe_axi", "ahb" },
> .clock_rate = { { 0 },
> { 50000000, 80000000, 100000000, 160000000,
> 177780000, 200000000, 266670000, 320000000,
> --
> 2.7.4
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2 08/34] media: camss: Unify the clock names
2018-07-11 16:07 ` Rob Herring
@ 2018-07-16 8:53 ` Todor Tomov
2018-07-16 14:00 ` Rob Herring
0 siblings, 1 reply; 6+ messages in thread
From: Todor Tomov @ 2018-07-16 8:53 UTC (permalink / raw)
To: Rob Herring
Cc: Mauro Carvalho Chehab, Sakari Ailus, Hans Verkuil,
Laurent Pinchart, Linux Media Mailing List, LKML, Mark Rutland,
devicetree
Hi Rob,
Thank you for review.
On 11 July 2018 at 19:07, Rob Herring <robh@kernel.org> wrote:
> On Thu, Jul 05, 2018 at 04:32:39PM +0300, Todor Tomov wrote:
>> Unify the clock names - use names closer to the clock
>> definitions.
>
> Why? You can't just change names. You are breaking an ABI.
Main reason is that this change allows more logical names and
handling in the driver when support for 8996 is added.
To clarify by example:
- we used to have "camss_vfe_vfe" in 8916;
- now we will have "vfe0" in 8916 and "vfe0" and "vfe1" in 8996.
To achieve this I have changed the names to match more closely
the definitions in the clock driver, which are based on the
documentation. Yes, I should have done this the first time...
I have used to update the dt and kernel code together. Yes, the
change breaks the ABI but does this cause difficulties in practice?
>
>>
>> CC: Rob Herring <robh+dt@kernel.org>
>> CC: Mark Rutland <mark.rutland@arm.com>
>> CC: devicetree@vger.kernel.org
>> Signed-off-by: Todor Tomov <todor.tomov@linaro.org>
>> ---
>> .../devicetree/bindings/media/qcom,camss.txt | 24 +++++++++++-----------
>
> Bindings should be a separate patch.
I can do that in the next version.
Best regards,
Todor
>
>> drivers/media/platform/qcom/camss/camss.c | 20 ++++++++----------
>> 2 files changed, 20 insertions(+), 24 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/media/qcom,camss.txt b/Documentation/devicetree/bindings/media/qcom,camss.txt
>> index cadeceb..032e8ed 100644
>> --- a/Documentation/devicetree/bindings/media/qcom,camss.txt
>> +++ b/Documentation/devicetree/bindings/media/qcom,camss.txt
>> @@ -53,7 +53,7 @@ Qualcomm Camera Subsystem
>> Usage: required
>> Value type: <stringlist>
>> Definition: Should contain the following entries:
>> - - "camss_top_ahb"
>> + - "top_ahb"
>> - "ispif_ahb"
>> - "csiphy0_timer"
>> - "csiphy1_timer"
>> @@ -67,11 +67,11 @@ Qualcomm Camera Subsystem
>> - "csi1_phy"
>> - "csi1_pix"
>> - "csi1_rdi"
>> - - "camss_ahb"
>> - - "camss_vfe_vfe"
>> - - "camss_csi_vfe"
>> - - "iface"
>> - - "bus"
>> + - "ahb"
>> + - "vfe0"
>> + - "csi_vfe0"
>> + - "vfe_ahb"
>> + - "vfe_axi"
>> - vdda-supply:
>> Usage: required
>> Value type: <phandle>
>> @@ -161,7 +161,7 @@ Qualcomm Camera Subsystem
>> <&gcc GCC_CAMSS_CSI_VFE0_CLK>,
>> <&gcc GCC_CAMSS_VFE_AHB_CLK>,
>> <&gcc GCC_CAMSS_VFE_AXI_CLK>;
>> - clock-names = "camss_top_ahb",
>> + clock-names = "top_ahb",
>> "ispif_ahb",
>> "csiphy0_timer",
>> "csiphy1_timer",
>> @@ -175,11 +175,11 @@ Qualcomm Camera Subsystem
>> "csi1_phy",
>> "csi1_pix",
>> "csi1_rdi",
>> - "camss_ahb",
>> - "camss_vfe_vfe",
>> - "camss_csi_vfe",
>> - "iface",
>> - "bus";
>> + "ahb",
>> + "vfe0",
>> + "csi_vfe0",
>> + "vfe_ahb",
>> + "vfe_axi";
>> vdda-supply = <&pm8916_l2>;
>> iommus = <&apps_iommu 3>;
>> ports {
>> diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/platform/qcom/camss/camss.c
>> index abf6184..0b663e0 100644
>> --- a/drivers/media/platform/qcom/camss/camss.c
>> +++ b/drivers/media/platform/qcom/camss/camss.c
>> @@ -32,8 +32,7 @@ static const struct resources csiphy_res[] = {
>> /* CSIPHY0 */
>> {
>> .regulator = { NULL },
>> - .clock = { "camss_top_ahb", "ispif_ahb",
>> - "camss_ahb", "csiphy0_timer" },
>> + .clock = { "top_ahb", "ispif_ahb", "ahb", "csiphy0_timer" },
>> .clock_rate = { { 0 },
>> { 0 },
>> { 0 },
>> @@ -45,8 +44,7 @@ static const struct resources csiphy_res[] = {
>> /* CSIPHY1 */
>> {
>> .regulator = { NULL },
>> - .clock = { "camss_top_ahb", "ispif_ahb",
>> - "camss_ahb", "csiphy1_timer" },
>> + .clock = { "top_ahb", "ispif_ahb", "ahb", "csiphy1_timer" },
>> .clock_rate = { { 0 },
>> { 0 },
>> { 0 },
>> @@ -60,8 +58,7 @@ static const struct resources csid_res[] = {
>> /* CSID0 */
>> {
>> .regulator = { "vdda" },
>> - .clock = { "camss_top_ahb", "ispif_ahb",
>> - "csi0_ahb", "camss_ahb",
>> + .clock = { "top_ahb", "ispif_ahb", "csi0_ahb", "ahb",
>> "csi0", "csi0_phy", "csi0_pix", "csi0_rdi" },
>> .clock_rate = { { 0 },
>> { 0 },
>> @@ -78,8 +75,7 @@ static const struct resources csid_res[] = {
>> /* CSID1 */
>> {
>> .regulator = { "vdda" },
>> - .clock = { "camss_top_ahb", "ispif_ahb",
>> - "csi1_ahb", "camss_ahb",
>> + .clock = { "top_ahb", "ispif_ahb", "csi1_ahb", "ahb",
>> "csi1", "csi1_phy", "csi1_pix", "csi1_rdi" },
>> .clock_rate = { { 0 },
>> { 0 },
>> @@ -96,10 +92,10 @@ static const struct resources csid_res[] = {
>>
>> static const struct resources_ispif ispif_res = {
>> /* ISPIF */
>> - .clock = { "camss_top_ahb", "camss_ahb", "ispif_ahb",
>> + .clock = { "top_ahb", "ahb", "ispif_ahb",
>> "csi0", "csi0_pix", "csi0_rdi",
>> "csi1", "csi1_pix", "csi1_rdi" },
>> - .clock_for_reset = { "camss_vfe_vfe", "camss_csi_vfe" },
>> + .clock_for_reset = { "vfe0", "csi_vfe0" },
>> .reg = { "ispif", "csi_clk_mux" },
>> .interrupt = "ispif"
>>
>> @@ -108,8 +104,8 @@ static const struct resources_ispif ispif_res = {
>> static const struct resources vfe_res = {
>> /* VFE0 */
>> .regulator = { NULL },
>> - .clock = { "camss_top_ahb", "camss_vfe_vfe", "camss_csi_vfe",
>> - "iface", "bus", "camss_ahb" },
>> + .clock = { "top_ahb", "vfe0", "csi_vfe0",
>> + "vfe_ahb", "vfe_axi", "ahb" },
>> .clock_rate = { { 0 },
>> { 50000000, 80000000, 100000000, 160000000,
>> 177780000, 200000000, 266670000, 320000000,
>> --
>> 2.7.4
>>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2 08/34] media: camss: Unify the clock names
2018-07-16 8:53 ` Todor Tomov
@ 2018-07-16 14:00 ` Rob Herring
0 siblings, 0 replies; 6+ messages in thread
From: Rob Herring @ 2018-07-16 14:00 UTC (permalink / raw)
To: Todor Tomov
Cc: Mauro Carvalho Chehab, Sakari Ailus, Hans Verkuil,
Laurent Pinchart, Linux Media Mailing List,
linux-kernel@vger.kernel.org, Mark Rutland, devicetree
On Mon, Jul 16, 2018 at 2:53 AM Todor Tomov <todor.tomov@linaro.org> wrote:
>
> Hi Rob,
>
> Thank you for review.
>
> On 11 July 2018 at 19:07, Rob Herring <robh@kernel.org> wrote:
> > On Thu, Jul 05, 2018 at 04:32:39PM +0300, Todor Tomov wrote:
> >> Unify the clock names - use names closer to the clock
> >> definitions.
> >
> > Why? You can't just change names. You are breaking an ABI.
>
> Main reason is that this change allows more logical names and
> handling in the driver when support for 8996 is added.
> To clarify by example:
> - we used to have "camss_vfe_vfe" in 8916;
> - now we will have "vfe0" in 8916 and "vfe0" and "vfe1" in 8996.
>
> To achieve this I have changed the names to match more closely
> the definitions in the clock driver, which are based on the
> documentation. Yes, I should have done this the first time...
>
> I have used to update the dt and kernel code together. Yes, the
> change breaks the ABI but does this cause difficulties in practice?
That's up to the platform maintainers to decide. As a user of these
boards, yes, it would bother me. However, camera I don't care so much
about.
In any case, the commit message should make this crystal clear and
justify why breaking compatibility is okay.
Rob
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2018-07-16 14:00 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <1530797585-8555-1-git-send-email-todor.tomov@linaro.org>
2018-07-05 13:32 ` [PATCH v2 08/34] media: camss: Unify the clock names Todor Tomov
2018-07-11 16:07 ` Rob Herring
2018-07-16 8:53 ` Todor Tomov
2018-07-16 14:00 ` Rob Herring
2018-07-05 13:32 ` [PATCH v2 14/34] media: dt-bindings: media: qcom,camss: Fix whitespaces Todor Tomov
2018-07-05 13:32 ` [PATCH v2 15/34] media: dt-bindings: media: qcom,camss: Add 8996 bindings Todor Tomov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).