diff --git a/arch/arm64/boot/dts/amlogic/s7_s905y5_bh201.dts b/arch/arm64/boot/dts/amlogic/s7_s905y5_bh201.dts index ef8f76c74..3c7c431ac 100644 --- a/arch/arm64/boot/dts/amlogic/s7_s905y5_bh201.dts +++ b/arch/arm64/boot/dts/amlogic/s7_s905y5_bh201.dts @@ -280,6 +280,42 @@ pinctrl-0 = <&dvb_s_ts0_pins>; }; + /* SMC */ + smartcard { + compatible = "amlogic,smartcard-sc2"; + dev_name = "smartcard"; + status = "disabled"; + + reg = <0x0 0xfe000000 0x0 0x480000>; + irq_trigger_type = "GPIO_IRQ_LOW"; + + reset_pin-gpios = <&gpio GPIOH_10 GPIO_ACTIVE_HIGH>; + detect_pin-gpios = <&gpio GPIOH_11 GPIO_ACTIVE_HIGH>; + enable_5v3v_pin-gpios = <&gpio GPIOH_5 GPIO_ACTIVE_HIGH>; + enable_pin-gpios = <&gpio GPIOH_6 GPIO_ACTIVE_HIGH>; + + interrupts = <0 174 1>; + interrupt-names = "smc0_irq"; + /* + *Smc clock source, if change this, + *you must adjust clk and divider in smartcard.c + */ + smc0_clock_source = <0>; + /*0: high voltage on detect pin indicates card in.*/ + smc0_det_invert = <0>; + smc0_5v3v_level = <0>; + /*Ordinarily,smartcard controller needs a enable pin.*/ + smc_need_enable_pin = "yes"; + reset_level = <0>; + smc0_enable_level = <0>; + + pinctrl-names = "default"; + pinctrl-0 = <&sd_iso7816_pins>; + + clocks = <&clkc CLKID_SC>; + clock-names = "smartcard"; + }; + ionvideo { compatible = "amlogic, ionvideo"; dev_name = "ionvideo"; diff --git a/arch/arm64/boot/dts/amlogic/s7_s905y5_bh202.dts b/arch/arm64/boot/dts/amlogic/s7_s905y5_bh202.dts index 83c25cff2..18c161006 100644 --- a/arch/arm64/boot/dts/amlogic/s7_s905y5_bh202.dts +++ b/arch/arm64/boot/dts/amlogic/s7_s905y5_bh202.dts @@ -311,6 +311,42 @@ pinctrl-0 = <&dvb_s_ts0_pins>; }; + /* SMC */ + smartcard { + compatible = "amlogic,smartcard-sc2"; + dev_name = "smartcard"; + status = "disabled"; + + reg = <0x0 0xfe000000 0x0 0x480000>; + irq_trigger_type = "GPIO_IRQ_LOW"; + + reset_pin-gpios = <&gpio GPIOH_10 GPIO_ACTIVE_HIGH>; + detect_pin-gpios = <&gpio GPIOH_11 GPIO_ACTIVE_HIGH>; + enable_5v3v_pin-gpios = <&gpio GPIOH_5 GPIO_ACTIVE_HIGH>; + enable_pin-gpios = <&gpio GPIOH_6 GPIO_ACTIVE_HIGH>; + + interrupts = <0 174 1>; + interrupt-names = "smc0_irq"; + /* + *Smc clock source, if change this, + *you must adjust clk and divider in smartcard.c + */ + smc0_clock_source = <0>; + /*0: high voltage on detect pin indicates card in.*/ + smc0_det_invert = <0>; + smc0_5v3v_level = <0>; + /*Ordinarily,smartcard controller needs a enable pin.*/ + smc_need_enable_pin = "yes"; + reset_level = <0>; + smc0_enable_level = <0>; + + pinctrl-names = "default"; + pinctrl-0 = <&sd_iso7816_pins>; + + clocks = <&clkc CLKID_SC>; + clock-names = "smartcard"; + }; + ionvideo { compatible = "amlogic, ionvideo"; dev_name = "ionvideo"; diff --git a/arch/arm64/boot/dts/amlogic/s7_s905y5_bh209.dts b/arch/arm64/boot/dts/amlogic/s7_s905y5_bh209.dts index 519f4d732..0d3865218 100644 --- a/arch/arm64/boot/dts/amlogic/s7_s905y5_bh209.dts +++ b/arch/arm64/boot/dts/amlogic/s7_s905y5_bh209.dts @@ -307,20 +307,46 @@ ts0_control = <0x0>; ts0_invert = <0>; - ts1_sid = <0x11>; - ts1 = "parallel"; - ts1_control = <0x0>; - ts1_invert = <0>; - - ts2_sid = <0x12>; - ts2 = "parallel"; - ts2_control = <0x0>; - ts2_invert = <0>; - pinctrl-names = "s_ts0"; pinctrl-0 = <&dvb_s_ts0_pins>; }; + /* SMC */ + smartcard { + compatible = "amlogic,smartcard-sc2"; + dev_name = "smartcard"; + status = "okay"; + + reg = <0x0 0xfe000000 0x0 0x480000>; + irq_trigger_type = "GPIO_IRQ_LOW"; + + reset_pin-gpios = <&gpio GPIOH_10 GPIO_ACTIVE_HIGH>; + detect_pin-gpios = <&gpio GPIOH_11 GPIO_ACTIVE_HIGH>; + enable_5v3v_pin-gpios = <&gpio GPIOH_5 GPIO_ACTIVE_HIGH>; + enable_pin-gpios = <&gpio GPIOH_6 GPIO_ACTIVE_HIGH>; + + interrupts = <0 174 1>; + interrupt-names = "smc0_irq"; + /* + *Smc clock source, if change this, + *you must adjust clk and divider in smartcard.c + */ + smc0_clock_source = <0>; + /*0: high voltage on detect pin indicates card in.*/ + smc0_det_invert = <0>; + smc0_5v3v_level = <0>; + /*Ordinarily,smartcard controller needs a enable pin.*/ + smc_need_enable_pin = "yes"; + reset_level = <0>; + smc0_enable_level = <0>; + + pinctrl-names = "default"; + pinctrl-0 = <&sd_iso7816_pins>; + + clocks = <&clkc CLKID_SC>; + clock-names = "smartcard"; + }; + ionvideo { compatible = "amlogic, ionvideo"; dev_name = "ionvideo";