Regarding Mnemonic Code words and salt key My aim is to make a hardware wallet. 

I was studying HD wallet generation (BIP 39) and have figured out how things work under the hood, except one thing. 

At high level : 


  Mnemonic code (128bit or 256 bit) + Salt('mnemonic'+passphrase)
  -----do PBDKF2 (2048 rounds)---> 512 bit seed


Users are requested to back up their mnemonic code. If I am on a Hardware wallet like ledger nano, the passphrase above serves as my password. 


  Different passphrase creates different seed.


Now if i want to open the same wallet from anywhere else, theoretically i can do so just from the Mnemonic code(12 or 24 words). 

My doubt is will the passphrase have no use if wallet is being opened from third party clients like Greenwallet, greenbitz, breadwallet etc?

To rephrase : How is passphrase consumed by third party wallets if I have generated an account on ledger?
Third Parties should extend your mnemonic phrase with your passphrase else they will get a different wallet with different addresses.

Electrum and some other wallets call the passphrase a "seed extension" or "mnemonic extension".

Third parties should have an option to extend mnemonic phrase with your passphrase, It's a weird idea to possibly have enough money to purchase the entire building just sitting on a sheet of paper without any protection. For this reason, many wallets make it possible to encrypt a mnemonic phrase with a password.

Take a look at this open-source project, you can import play around with any mnemonic phrase and extend it with your passphrase and see the changes