* [PATCH v4 1/6] ARM: DT: STi: stihxxx-b2120: Add pulse-width properties to ssc2 & ssc3
2015-09-01 10:48 [PATCH v4 0/6] [media] c8sectpfe: Various fixups Peter Griffin
@ 2015-09-01 10:48 ` Peter Griffin
2015-09-01 10:48 ` [PATCH v4 2/6] ARM: DT: STi: STiH407: Add c8sectpfe LinuxDVB DT node Peter Griffin
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Peter Griffin @ 2015-09-01 10:48 UTC (permalink / raw)
To: linux-arm-kernel, linux-kernel, srinivas.kandagatla,
maxime.coquelin, patrice.chotard, mchehab
Cc: peter.griffin, lee.jones, linux-media, devicetree,
valentinrothberg, hugues.fruchet
Adding these properties makes the I2C bus to the demodulators much
more reliable, and we no longer suffer from I2C errors when tuning.
Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
Acked-by: Lee Jones <lee.jones@linaro.org>
---
arch/arm/boot/dts/stihxxx-b2120.dtsi | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/arch/arm/boot/dts/stihxxx-b2120.dtsi b/arch/arm/boot/dts/stihxxx-b2120.dtsi
index f589fe4..62994ae 100644
--- a/arch/arm/boot/dts/stihxxx-b2120.dtsi
+++ b/arch/arm/boot/dts/stihxxx-b2120.dtsi
@@ -27,12 +27,18 @@
};
};
- i2c@9842000 {
+ ssc2: i2c@9842000 {
status = "okay";
+ clock-frequency = <100000>;
+ st,i2c-min-scl-pulse-width-us = <0>;
+ st,i2c-min-sda-pulse-width-us = <5>;
};
- i2c@9843000 {
+ ssc3: i2c@9843000 {
status = "okay";
+ clock-frequency = <100000>;
+ st,i2c-min-scl-pulse-width-us = <0>;
+ st,i2c-min-sda-pulse-width-us = <5>;
};
i2c@9844000 {
--
1.9.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v4 2/6] ARM: DT: STi: STiH407: Add c8sectpfe LinuxDVB DT node.
2015-09-01 10:48 [PATCH v4 0/6] [media] c8sectpfe: Various fixups Peter Griffin
2015-09-01 10:48 ` [PATCH v4 1/6] ARM: DT: STi: stihxxx-b2120: Add pulse-width properties to ssc2 & ssc3 Peter Griffin
@ 2015-09-01 10:48 ` Peter Griffin
2015-09-01 10:48 ` [PATCH v4 3/6] [media] c8sectpfe: Remove select on undefined LIBELF_32 Peter Griffin
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Peter Griffin @ 2015-09-01 10:48 UTC (permalink / raw)
To: linux-arm-kernel, linux-kernel, srinivas.kandagatla,
maxime.coquelin, patrice.chotard, mchehab
Cc: peter.griffin, lee.jones, linux-media, devicetree,
valentinrothberg, hugues.fruchet
This patch adds in the required DT node for the c8sectpfe
Linux DVB demux driver which allows the tsin channels
to be used on an upstream kernel.
Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
Acked-by: Lee Jones <lee.jones@linaro.org>
---
arch/arm/boot/dts/stihxxx-b2120.dtsi | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
diff --git a/arch/arm/boot/dts/stihxxx-b2120.dtsi b/arch/arm/boot/dts/stihxxx-b2120.dtsi
index 62994ae..f9fca10 100644
--- a/arch/arm/boot/dts/stihxxx-b2120.dtsi
+++ b/arch/arm/boot/dts/stihxxx-b2120.dtsi
@@ -6,6 +6,9 @@
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
+
+#include <dt-bindings/clock/stih407-clks.h>
+#include <dt-bindings/media/c8sectpfe.h>
/ {
soc {
sbc_serial0: serial@9530000 {
@@ -85,5 +88,37 @@
status = "okay";
};
+ demux@08a20000 {
+ compatible = "st,stih407-c8sectpfe";
+ status = "okay";
+ reg = <0x08a20000 0x10000>,
+ <0x08a00000 0x4000>;
+ reg-names = "c8sectpfe", "c8sectpfe-ram";
+ interrupts = <GIC_SPI 34 IRQ_TYPE_NONE>,
+ <GIC_SPI 35 IRQ_TYPE_NONE>;
+ interrupt-names = "c8sectpfe-error-irq",
+ "c8sectpfe-idle-irq";
+ pinctrl-0 = <&pinctrl_tsin0_serial>;
+ pinctrl-1 = <&pinctrl_tsin0_parallel>;
+ pinctrl-2 = <&pinctrl_tsin3_serial>;
+ pinctrl-3 = <&pinctrl_tsin4_serial_alt3>;
+ pinctrl-4 = <&pinctrl_tsin5_serial_alt1>;
+ pinctrl-names = "tsin0-serial",
+ "tsin0-parallel",
+ "tsin3-serial",
+ "tsin4-serial",
+ "tsin5-serial";
+ clocks = <&clk_s_c0_flexgen CLK_PROC_STFE>;
+ clock-names = "c8sectpfe";
+
+ /* tsin0 is TSA on NIMA */
+ tsin0: port@0 {
+ tsin-num = <0>;
+ serial-not-parallel;
+ i2c-bus = <&ssc2>;
+ rst-gpio = <&pio15 4 GPIO_ACTIVE_HIGH>;
+ dvb-card = <STV0367_TDA18212_NIMA_1>;
+ };
+ };
};
};
--
1.9.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v4 3/6] [media] c8sectpfe: Remove select on undefined LIBELF_32
2015-09-01 10:48 [PATCH v4 0/6] [media] c8sectpfe: Various fixups Peter Griffin
2015-09-01 10:48 ` [PATCH v4 1/6] ARM: DT: STi: stihxxx-b2120: Add pulse-width properties to ssc2 & ssc3 Peter Griffin
2015-09-01 10:48 ` [PATCH v4 2/6] ARM: DT: STi: STiH407: Add c8sectpfe LinuxDVB DT node Peter Griffin
@ 2015-09-01 10:48 ` Peter Griffin
2015-09-01 10:48 ` [PATCH v4 4/6] [media] c8sectpfe: Update binding to reset-gpio Peter Griffin
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Peter Griffin @ 2015-09-01 10:48 UTC (permalink / raw)
To: linux-arm-kernel, linux-kernel, srinivas.kandagatla,
maxime.coquelin, patrice.chotard, mchehab
Cc: peter.griffin, lee.jones, linux-media, devicetree,
valentinrothberg, hugues.fruchet
LIBELF_32 is not defined in Kconfig, and is left over legacy
which is not required in the upstream driver, so remove it.
Suggested-by: Valentin Rothberg <valentinrothberg@gmail.com>
Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
Acked-by: Lee Jones <lee.jones@linaro.org>
---
drivers/media/platform/sti/c8sectpfe/Kconfig | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/media/platform/sti/c8sectpfe/Kconfig b/drivers/media/platform/sti/c8sectpfe/Kconfig
index d1bfd4c..b9ec667 100644
--- a/drivers/media/platform/sti/c8sectpfe/Kconfig
+++ b/drivers/media/platform/sti/c8sectpfe/Kconfig
@@ -1,7 +1,6 @@
config DVB_C8SECTPFE
tristate "STMicroelectronics C8SECTPFE DVB support"
depends on DVB_CORE && I2C && (ARCH_STI || ARCH_MULTIPLATFORM)
- select LIBELF_32
select FW_LOADER
select FW_LOADER_USER_HELPER_FALLBACK
select DEBUG_FS
--
1.9.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v4 4/6] [media] c8sectpfe: Update binding to reset-gpio
2015-09-01 10:48 [PATCH v4 0/6] [media] c8sectpfe: Various fixups Peter Griffin
` (2 preceding siblings ...)
2015-09-01 10:48 ` [PATCH v4 3/6] [media] c8sectpfe: Remove select on undefined LIBELF_32 Peter Griffin
@ 2015-09-01 10:48 ` Peter Griffin
2015-09-01 10:48 ` [PATCH v4 5/6] [media] c8sectpfe: Update DT binding doc with some minor fixes Peter Griffin
2015-09-01 10:48 ` [PATCH v4 6/6] [media] c8sectpfe: Simplify for loop in load_slim_core_fw Peter Griffin
5 siblings, 0 replies; 7+ messages in thread
From: Peter Griffin @ 2015-09-01 10:48 UTC (permalink / raw)
To: linux-arm-kernel, linux-kernel, srinivas.kandagatla,
maxime.coquelin, patrice.chotard, mchehab
Cc: peter.griffin, lee.jones, linux-media, devicetree,
valentinrothberg, hugues.fruchet
reset-gpio is more clear than rst-gpio.
This change has been done as one atomic commit but it
does breaks compatability with older dtbs.
Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
Acked-by: Lee Jones <lee.jones@linaro.org>
---
Documentation/devicetree/bindings/media/stih407-c8sectpfe.txt | 6 +++---
arch/arm/boot/dts/stihxxx-b2120.dtsi | 4 ++--
drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c | 2 +-
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/Documentation/devicetree/bindings/media/stih407-c8sectpfe.txt b/Documentation/devicetree/bindings/media/stih407-c8sectpfe.txt
index d4def76..84ae9d1 100644
--- a/Documentation/devicetree/bindings/media/stih407-c8sectpfe.txt
+++ b/Documentation/devicetree/bindings/media/stih407-c8sectpfe.txt
@@ -35,7 +35,7 @@ Required properties (tsin (child) node):
- tsin-num : tsin id of the InputBlock (must be between 0 to 6)
- i2c-bus : phandle to the I2C bus DT node which the demodulators & tuners on this tsin channel are connected.
-- rst-gpio : reset gpio for this tsin channel.
+- reset-gpio : reset gpio for this tsin channel.
Optional properties (tsin (child) node):
@@ -75,7 +75,7 @@ Example:
tsin-num = <0>;
serial-not-parallel;
i2c-bus = <&ssc2>;
- rst-gpio = <&pio15 4 0>;
+ reset-gpio = <&pio15 4 GPIO_ACTIVE_HIGH>;
dvb-card = <STV0367_TDA18212_NIMA_1>;
};
@@ -83,7 +83,7 @@ Example:
tsin-num = <3>;
serial-not-parallel;
i2c-bus = <&ssc3>;
- rst-gpio = <&pio15 7 0>;
+ reset-gpio = <&pio15 7 GPIO_ACTIVE_HIGH>;
dvb-card = <STV0367_TDA18212_NIMB_1>;
};
};
diff --git a/arch/arm/boot/dts/stihxxx-b2120.dtsi b/arch/arm/boot/dts/stihxxx-b2120.dtsi
index f9fca10..b940934 100644
--- a/arch/arm/boot/dts/stihxxx-b2120.dtsi
+++ b/arch/arm/boot/dts/stihxxx-b2120.dtsi
@@ -6,8 +6,8 @@
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
-
#include <dt-bindings/clock/stih407-clks.h>
+#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/media/c8sectpfe.h>
/ {
soc {
@@ -116,7 +116,7 @@
tsin-num = <0>;
serial-not-parallel;
i2c-bus = <&ssc2>;
- rst-gpio = <&pio15 4 GPIO_ACTIVE_HIGH>;
+ reset-gpio = <&pio15 4 GPIO_ACTIVE_HIGH>;
dvb-card = <STV0367_TDA18212_NIMA_1>;
};
};
diff --git a/drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c b/drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c
index 3a91093..e19c6b4 100644
--- a/drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c
+++ b/drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c
@@ -822,7 +822,7 @@ static int c8sectpfe_probe(struct platform_device *pdev)
}
of_node_put(i2c_bus);
- tsin->rst_gpio = of_get_named_gpio(child, "rst-gpio", 0);
+ tsin->rst_gpio = of_get_named_gpio(child, "reset-gpio", 0);
ret = gpio_is_valid(tsin->rst_gpio);
if (!ret) {
--
1.9.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v4 5/6] [media] c8sectpfe: Update DT binding doc with some minor fixes
2015-09-01 10:48 [PATCH v4 0/6] [media] c8sectpfe: Various fixups Peter Griffin
` (3 preceding siblings ...)
2015-09-01 10:48 ` [PATCH v4 4/6] [media] c8sectpfe: Update binding to reset-gpio Peter Griffin
@ 2015-09-01 10:48 ` Peter Griffin
2015-09-01 10:48 ` [PATCH v4 6/6] [media] c8sectpfe: Simplify for loop in load_slim_core_fw Peter Griffin
5 siblings, 0 replies; 7+ messages in thread
From: Peter Griffin @ 2015-09-01 10:48 UTC (permalink / raw)
To: linux-arm-kernel, linux-kernel, srinivas.kandagatla,
maxime.coquelin, patrice.chotard, mchehab
Cc: peter.griffin, lee.jones, linux-media, devicetree,
valentinrothberg, hugues.fruchet
Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
Acked-by: Lee Jones <lee.jones@linaro.org>
---
.../devicetree/bindings/media/stih407-c8sectpfe.txt | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/Documentation/devicetree/bindings/media/stih407-c8sectpfe.txt b/Documentation/devicetree/bindings/media/stih407-c8sectpfe.txt
index 84ae9d1..4cb539d 100644
--- a/Documentation/devicetree/bindings/media/stih407-c8sectpfe.txt
+++ b/Documentation/devicetree/bindings/media/stih407-c8sectpfe.txt
@@ -55,20 +55,20 @@ Example:
status = "okay";
reg = <0x08a20000 0x10000>, <0x08a00000 0x4000>;
reg-names = "stfe", "stfe-ram";
- interrupts = <0 34 0>, <0 35 0>;
+ interrupts = <GIC_SPI 34 IRQ_TYPE_NONE>, <GIC_SPI 35 IRQ_TYPE_NONE>;
interrupt-names = "stfe-error-irq", "stfe-idle-irq";
-
- pinctrl-names = "tsin0-serial", "tsin0-parallel", "tsin3-serial",
- "tsin4-serial", "tsin5-serial";
-
pinctrl-0 = <&pinctrl_tsin0_serial>;
pinctrl-1 = <&pinctrl_tsin0_parallel>;
pinctrl-2 = <&pinctrl_tsin3_serial>;
pinctrl-3 = <&pinctrl_tsin4_serial_alt3>;
pinctrl-4 = <&pinctrl_tsin5_serial_alt1>;
-
+ pinctrl-names = "tsin0-serial",
+ "tsin0-parallel",
+ "tsin3-serial",
+ "tsin4-serial",
+ "tsin5-serial";
clocks = <&clk_s_c0_flexgen CLK_PROC_STFE>;
- clock-names = "stfe";
+ clock-names = "c8sectpfe";
/* tsin0 is TSA on NIMA */
tsin0: port@0 {
--
1.9.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v4 6/6] [media] c8sectpfe: Simplify for loop in load_slim_core_fw
2015-09-01 10:48 [PATCH v4 0/6] [media] c8sectpfe: Various fixups Peter Griffin
` (4 preceding siblings ...)
2015-09-01 10:48 ` [PATCH v4 5/6] [media] c8sectpfe: Update DT binding doc with some minor fixes Peter Griffin
@ 2015-09-01 10:48 ` Peter Griffin
5 siblings, 0 replies; 7+ messages in thread
From: Peter Griffin @ 2015-09-01 10:48 UTC (permalink / raw)
To: linux-arm-kernel, linux-kernel, srinivas.kandagatla,
maxime.coquelin, patrice.chotard, mchehab
Cc: peter.griffin, lee.jones, linux-media, devicetree,
valentinrothberg, hugues.fruchet
Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
---
drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c b/drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c
index e19c6b4..782174a 100644
--- a/drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c
+++ b/drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c
@@ -1096,7 +1096,7 @@ static int load_slim_core_fw(const struct firmware *fw, void *context)
Elf32_Ehdr *ehdr;
Elf32_Phdr *phdr;
u8 __iomem *dst;
- int err, i;
+ int err = 0, i;
if (!fw || !context)
return -EINVAL;
@@ -1105,7 +1105,7 @@ static int load_slim_core_fw(const struct firmware *fw, void *context)
phdr = (Elf32_Phdr *)(fw->data + ehdr->e_phoff);
/* go through the available ELF segments */
- for (i = 0; i < ehdr->e_phnum && !err; i++, phdr++) {
+ for (i = 0; i < ehdr->e_phnum; i++, phdr++) {
/* Only consider LOAD segments */
if (phdr->p_type != PT_LOAD)
@@ -1118,7 +1118,7 @@ static int load_slim_core_fw(const struct firmware *fw, void *context)
dev_err(fei->dev,
"Segment %d is outside of firmware file\n", i);
err = -EINVAL;
- break;
+ goto err;
}
/*
@@ -1146,6 +1146,7 @@ static int load_slim_core_fw(const struct firmware *fw, void *context)
}
}
+err:
release_firmware(fw);
return err;
}
--
1.9.1
^ permalink raw reply related [flat|nested] 7+ messages in thread